Semantica Operazionale - Appunti di Informatica gratis Studenti.it
Controllo utente in corso...
  • Tutti gli appunti di Studenti.it sul tuo iPhone, gratis!
  • Guadagna con gli appunti!

Semantica operazionale: Appunti del I anno della laurea triennale in informatica, università di Pisa, presi al corso di Fondamenti di Programmazione. Contiene sintassi e semantica dei linguaggi di programmazione (automi, grammatiche e sistemi di transizioni), guida alla sintas ( formato doc)

VOTO: 5 Appunto inviato da lexis

SEMANTICA OPERAZIONALE SEMANTICA OPERAZIONALE Appunti di fondamenti di programmazione Primo anno del corso di laurea in informatica Università di Pisa LINGUAGGIO DI PROGRAMMAZIONE Un linguaggio di programmazione è formato da tre componenti: la SINTASSI (punto di vista formale); la SEMANTICA (significato); l'USO (tecniche di costruzione dei programmi); PROGRAMMI I programmi sono descrizioni dei metodi da seguire per risolvere un problema, cioè sono la descrizione di un ALGORITMO. ALGORITMI Un algoritmo è una sequenza di azioni che porta alla risoluzione di un problema. Le caratteristiche di un algoritmo sono: ogni azione deve essere svolgibile in tempo finito (l'esecuzione dell'intero algoritmo può però anche essere infinita; deve avere una sequenza finita di comandi COMANDI I comandi sono azioni del linguaggio e sono chiamati anche enunciati, statement o istruzioni. SINTASSI DEI COMANDI comando di assegnazione (o assegnamento): nome = espressione; esempio: x = 3+5; ok 3+5 = x; NO comando di blocco (unisce comandi diversi in un unico comando) : {C1 C2 C3 } esempio: {x= 3; y=5;} comando condizionale: if (condizione) comando else comando dove condizione è un'espressione di relazione che è vera o falsa. Esempio: if (x> 0) x=3; else {x=5; y=x+9;} comando iterativo: while (condizione) comando dove condizione è un'espressione di relazione che è vera o falsa ed è detta GUARDIA, mentre il comando è detto CORPO DEL WHILE. Se la guardia è vera si esegue il corpo del while finchè non diventa falsa. L'esecuzione può quindi anche essere infinita. È impossibile sapere se un algoritmo finirà o no: questo problema è detto “problema della terminazione” (e se qualcuno lo risolve avrà una cattedra assicurata in qualsiasi università del mondo a suo desiderio e non avrà sicuramente più problemi di soldi!!!!) Esempio: while (x> 0) {x=3; y=6;} LA SEMANTICA DEI COMANDI I comandi vengono eseguiti su uno STATO. Uno STATO è un insieme di associazioni del tipo: (nome, valore) oppure (nomevalore) I vari comandi modificano lo stato corrente sul quale si applicano. Vediamo alcuni esempi: ES 1: ASSEGNAZIONE Stato corrente : {(x, 3), (y,5)} x = 3+5; questo comando dice che bisogna modificare l'associazione di x nello stato con l'espressione indicata nell'assegnazione. Lo stato risultante è quindi : {(x,8), (y,5)} x = x+5; bisogna valutare il comando nello stato corrente, nel quale la x vale 3. Il nuovo valore da associare alla x è quindi 3+5=8. Il risultato è perciò: {(x,8),(y,5)} ES 2: BLOCCO Stato corrente: {(x,3),(y,5)} {x = x+5; y = x+2;} prima effettuiamo l'assegnazione alla x, cui dobbiamo associare 8 (3+5), portandoci così in una configurazione intermedia fatta così: {(x,8),(y,5)}. È su questo stato intermedio che va svolta la seconda assegnazione presente nel comando blocco. L'esecuzione dell'assegnamento alla y ci porta nello stato finale: {(x,8),(y, 10)}. ES 3: COMANDO CONDIZIONALE Stato corrente: {(x,5),(y,3)} if (x> 3) x = x+1; else x = x-1; la condizione va Continua »

vedi tutti gli appunti di informatica »
Carica un appunto Home Appunti
Pagina eseguita in 0.0208880901337 secondi