Estratto del documento

www.di.unipi.it/~gaddozzi DISPENSA

1° compitino fine ottobre - inizio novembre

Lun - mar - gio → teoria

mer → programmazione

19/09

~ Sintassi vs Semantica

sintassi →

"Il bimbo mangia la mela": italiano OK

"bimbo mela il mangia la": struttura grammaticale che non ha un corrispettivo in it.)

"La mela mangia il bimbo": non è significativa ma sintatticamente è seguita.

~ Linguaggio imperativo

Ho un insieme di stati iniziali, un programma che mi porta ad un insieme di stati finali.

  • STATO INIZIALE → Programma* → STATO FINALE

* trasformatore di stati: prendo un comando del tipo:

  1. ST_INIZIALE{ } int x, y L (Inizializzo. Var intere)
  2. {x, y}
  3. {x, 0z, y}wϵ
  4. {xz, 0w,y, 13❷➩} y = x + 1

Se io ho solo y = x + 1...

{} , } → {} , }

Tutta la componente iterativa è interpretabile come una funzione che prende uno stato e ne associa un altro.

→ Per costruire la semantica cerco di capire la struttura della sintassi ed suoi operatori ←

~ Stato

Insieme di coppie dove ad ogni variabile è associato un valore

{, }

If 4 x 3 ❸ ➂ ➦ devo vedere quanto vale x3 e poi sommato

www.di.unipi.it/~gaddocci DISPENSA

pages di mpl: 9, gaddocci

1o Compitino fine ottobre - inizio novembre

Lun - mar - gio → teoria

mer → programmazione

Sintassi vs semantica

sintassi →

  • "il bimbo mangia la mela": italiano OK
  • "bimbo mela il mangia le": struttura grammaticale che non ha un correspettivo in it2
  • "la mela mangia il bimbo" non è significativa ma sintatticamente è esatta.

Linguaggio imperativo

Ho un insieme di stati iniziali, un programma che mi porta ad un insieme di stati finali.

STATO INIZIALE ⟶ Programma* ⟶ STATO FINALE

  • trasformatore di stati: prendo un comando del tipo:

ST_INIT = {}

int x, y [ iniziali: 223. Var intere ]

{ x, y } ∈ Z

{ x, 0, 2y, x } ⇐ 0

{ x, 0, y, 123 y = x + 1

Se io ho solo y = x + 1 ...

{ ⟨ x, k ⟩ , ⟨ y, l ⟩ }

⟶ { ⟨ x, h ⟩ , ⟨ y, h + 1 ⟩ }

TUTTA LA COMPONENTE ITERATIVA È INTERPRETABILE SOLO UNA FUNZIONE CHE PRENDE UNO STATO E NE ASSOCIA UN ALTRO.

  • Per costruire la semantica cerco di capire la struttura della sintassi ed i suoi operatori

Stato

Insieme di coppie dove ad ogni variabile è associato un valore

{ ⟨ x1, k1⟩ , ⟨ xn, kn⟩ }

⟨ 4 x 3

⟨ 7

→ devo vedere quanto vale x3 e poi sommare

{x1,5>,<x2,4>,<x3,6>}

Z

x3+x2>24

x3+7=13

B → booleani

x4+7 non ha significato se x4 è un booleano.

wrt x1,x2,x3

bool x4

x4+7 → ERRORE! L’operatore “+” è applicato ad unavariabile che può non essere intera.

∼ COMANDI DI BASE

  • Assegnamento

x ← e

X2 ← x3+x2

X2 = 10

Stato aggiornato,

tutto uguale inc <x=10>

  • Comandi condizionali

if (e)

C1

else

C2

{

C1 e C2 possono essere comandi.

Valuto e; se è un valore vero eseguo un comando, altrimenti l’altro.

}

if (x1<x2) ∼ il valore associato alla var x1 èminore di x2?

x1 ← x2

NO! Quindi x2 prende il valore di x1.

else

x2 ← x1

ASSEGNA IL MASSIMO AL PIÙ PICCOLO

Data una funzione c’è sempre un programma che me lacalcola? NO.

if ( x1 < x2 )

annullamento if ( x1 > x2 )

else x2 <= x1

else x2 < x1

{ x4 }

x1 <= 10

else x2 < 10

f(x) = {2 se x > 0

8 se x <= 0

Può essere una funzione condizionale :

if x < 0

else f(x)

f(x = 0)

if ( x < 0 )

if ( x = 0 )

if ( x > 0 )

  • switch ( e )
  • case e v1 c1
  • case e v2 c2

equivale a

if ( CE1 = = v1 ) c1

if ( CE2 = = v2 ) c2 ->

Altro

Anteprima
Vedrai una selezione di 10 pagine su 164
Programmazione I e Laboratorio Pag. 1 Programmazione I e Laboratorio Pag. 2
Anteprima di 10 pagg. su 164.
Scarica il documento per vederlo tutto.
Programmazione I e Laboratorio Pag. 6
Anteprima di 10 pagg. su 164.
Scarica il documento per vederlo tutto.
Programmazione I e Laboratorio Pag. 11
Anteprima di 10 pagg. su 164.
Scarica il documento per vederlo tutto.
Programmazione I e Laboratorio Pag. 16
Anteprima di 10 pagg. su 164.
Scarica il documento per vederlo tutto.
Programmazione I e Laboratorio Pag. 21
Anteprima di 10 pagg. su 164.
Scarica il documento per vederlo tutto.
Programmazione I e Laboratorio Pag. 26
Anteprima di 10 pagg. su 164.
Scarica il documento per vederlo tutto.
Programmazione I e Laboratorio Pag. 31
Anteprima di 10 pagg. su 164.
Scarica il documento per vederlo tutto.
Programmazione I e Laboratorio Pag. 36
Anteprima di 10 pagg. su 164.
Scarica il documento per vederlo tutto.
Programmazione I e Laboratorio Pag. 41
1 su 164
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Alyna1994 di informazioni apprese con la frequenza delle lezioni di Programmazione I e laboratorio e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Torino o del prof Barbuti Roberto.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community