1 / 10

1.1 Il concetto di processo 1.2 Test e verifica di un programma

Concetti fondamentali. 1.1 Il concetto di processo 1.2 Test e verifica di un programma 1.3 Linguaggi di programmazione e macchine astratte 1.4 Meccanismi di astrazione 1.5 Proprietà di un programma. stato iniziale. stato finale. S2. S3. S4. S5. S1.

Download Presentation

1.1 Il concetto di processo 1.2 Test e verifica di un programma

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Concetti fondamentali 1.1 Il concetto di processo 1.2 Test e verifica di un programma 1.3 Linguaggi di programmazione e macchine astratte 1.4 Meccanismi di astrazione 1.5 Proprietà di un programma

  2. stato iniziale stato finale S2 S3 S4 S5 S1 a - - 18 18 18 6 6 6 b - - -- 30 12 12 6 6 MCD - - - - - - - - - - - - 6 tempo 1.1 traccia dell’esecuzione di un programma • int MCD (int x, int y) { • int a, b; • a = x; • b= y; • while (a != b) • if (a > b) a = a - b; • else b = b - a; • return a; • }

  3. 1.1 grafo di precedenza del processo • int MCD (int x, int y) { • int a, b; • a = x; • b= y; • while (a != b) • if (a > b) a = a - b; • else b = b - a; • return a; • } inizio a=18 b=30 b=12 a=6 b=6 MCD=6 fine

  4. stato iniziale stato finale SU SI S2 S1 (a= =x) (a= =x) MCD(x,y)= = MCD(a,b) MCD(x,y)= = MCD(a,b) MCD(x,y)= =a && && (b= =y) (a= =b) tempo 1.2 traccia simbolica del programma • int MCD (int x, int y) { • int a, b; • a = x; • b= y; • while (a != b) • if (a > b) a = a - b; • else b = b - a; • return a; • }

  5. verifica del programma inizio a = x; {S1} b = y; {ST1} {S2} {SI} no (a!=b) si {SF1} no si (a>b) a=a-b; b=b-a; {SU} {ST2} {SF2} {SI} MCD=a; SF1: {(a<b && MCD(x,y) = = MCD(a,b-a)} SF2 {(0<b && MCD(x,y) = = MCD(a,b)} ST1: {(a>b && MCD(x,y) = = MCD(a-b,b)} ST2 {(a>0 && MCD(x,y) = = MCD(a,b)} fine

  6. Asserzioni: (precondizioni e postcondizioni) {P} S {Q} { P} S { Q }

  7. assegnamento {b + c = = 100} a = b + c; {a = = 100}

  8. regola di composizione {P} {P} Sa; Sa; Sb; {Q} Sb; {R} {R}

  9. regola condizionale {P} {P} {P && C} {P && !C} si no C if(C) Sa; else Sb; Sa; Sb; {Q} {R} {W} {W}

  10. regola ripetitiva {I} {I&& !C} {I} no C si {I&&C} while(c) S; S {I} {I && !C} Continua…

More Related