Extras din curs
Este o disciplină care se ocupă cu dezvoltarea de metodologii pentru a scrie programe fiabile. Un program nu este o teoremă matematică, deci nu se demonstrează ca o teoremă corectitudinea lui. Funcționarea corectă a unui program este validată prin testarea lui. Un program este testat cu mai multe seturi de date de intrare. Se recomandă să fie testat atât cu datele tipice cu care va lucra programul, dar și cu datele extreme (foarte mici, foarte mari, 0, etc.). Prin testare nu se epuizează toate seturile posibile de date de intrare (calculul mediei aritmetice a două numere reale citite de la tastatură). Deoarece nu pot fi epuizate toate datele de intrare prin testare se poate întâmpla ca programul final testatși găsit bun în urma testării în exploatare să nu funcționeze corect întotdeauna. Astfel au fost cazuri de misiuni spațiale care au eșuat din cauza unor programe insuficient testate sau au murit pacienți datorită softului insuficient testat ce controla aparatura medicală.
Vom aborda evoluția programării din punct de vedere istoric, deci vom urmări ce îmbunătățiri au fost aduse stilului de programare astfel încât să rezulte programe mai fiabile.
Un alt scop este dezvoltarea de metodologii astfel încât programele să fie dezvoltate într-un timp mai scurt.
În partea a doua ne ocupăm de etapele dezvoltării unui program.
În partea a treia ne ocupăm de lucrurile specifice pentru mediul industrial.
Îmbunătățirile aduse în programare în anii ’70 astfel încât să se poată dezvolta programe mai rapid și mai bine (fără erori). O primă îmbunătățire a fost adusă de apariția programării structurale; orice altgoritm poate fi dezvoltat folosind trei tipuri de instrucțiuni:
- Instrucțiunea de atribuire;
- Instrucțiunea de decizie;
- Instrucțiunea de repetare.
La început instrucțiunile de repetare erau realizate cu ajutorul instrucțiunii goto. Această instrucțiune este echivalentă cu instrucțiunile următoare din limbajele de asambare: TMP et; JNZ et.
Exemplu:
Se repetă de 10 ori: citesc 3 numere de la tastatură și afisez maximul dintre ele.
Se repetă de 10 ori
Început
Citesc a, b, c
Calculez max
Afisez max
Sfârșit
#include <stdio.h>
#include<conio.h>
#define NR_REPETARI 10
void main ()
{ int a, b, c, max;
int contor=0;
ET: printf("a=");scanf("%d",&a);
printf("b=");scanf("%d",&b);
printf("c=");scanf("%d",&c);
max=a;
if(b>max) max=b;
if(c>max) max=c;
printf("maximul dintre aceste trei numere este: %d",max);
contor++;
if(contor<NR_REPETARI) goto ET;
O îmbunătățire imediată în cadrul acestui program este definirea numărului 10 (numărul de repetări) ca și o constantă simbolică. În programare nu se utilizează „numere magice”.
Introducerea, definirea constantelor simbolice contribuie la înțelegerea programului și ajută la testarea programului.
A doua posibilitate de a declara constante în limbajul C este prin folosirea cuvântului cheie const.
Exemplu:
const int NR_REPETARI = 10;
Exemplu:
Se citește un număr întreg de la tastatură. Să se afișeze cel mai mare număr, divisor al număului dat care este diferit de numărul însuși.
Preview document
Conținut arhivă zip
- Inginerie Software Pentru Conducerea Proceselor Industriale.docx