La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }

Presentazioni simili


Presentazione sul tema: "STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }"— Transcript della presentazione:

1 STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }

2 STRUTTURA DI UN PROGRAMMA C La parte è l’unica obbligatoria, ed è definita dalla produzione: ::= main(){ [ ] }

3 STRUTTURA DI UN PROGRAMMA C  introducono i nomi di costanti, variabili, tipi definiti dall’utente  sequenza di frasi del linguaggio ognuna delle quali è un’istruzione Il main() è una particolare unità di traduzione (una funzione).

4 CARATTERI E IDENTIFICATORI  set di caratteri dipende dall’implementazione; solitamente ASCII + estensioni  identificatori sequenze di caratteri tali che ::= { | }

5 COMMENTI  commenti sequenze di caratteri racchiuse fra i delimitatori /* e */ ::= /* */ ::= { } ::= { }  i commenti non possono essere innestati.

6 VARIABILI Una variabile è un’astrazione della cella di memoria. Formalmente, è un simbolo associato a un indirizzo fisico (L-value)... Perciò, l’ L-value di x è 1328 (fisso e immutabile!)..

7 VARIABILI … che denota un valore (R-value). 4... 1328..e l’ R-value di x è attualmente 4 (può cambiare).

8 DEFINIZIONE DI VARIABILE È la frase che introduce una nuova variabile  identificata da un dato simbolo  e atta a denotare valori di un ben preciso tipo

9 DEFINIZIONE DI VARIABILE ::= | ::= | ::= {, } ;

10 Definizione di una variabile: ; int x; /* x deve denotare un valore intero */ float y; /* y deve denotare un valore reale */ char ch; /* ch deve denotare un carattere */ DEFINIZIONE DI VARIABILE - ESEMPI

11 Contestualmente alla definizione è possibile specificare un valore iniziale per una variabile Inizializzazione di una variabile: = ; INIZIALIZZAZIONE DI VARIABILI

12 Inizializzazione di una variabile: = ; int x = 32; double speed = 124.6; INIZIALIZZAZIONE DI VARIABILI - ESEMPI

13 Una variabile è un particolare tipo di espressione VARIABILI & ESPRESSIONI

14 Quindi, una variabile può comparire in una espressione denota un valore pari al suo R-value double speed = 124.6; double time = 71.6; double km = speed * time; VARIABILI & ESPRESSIONI

15 campo d’azione (scope): è la parte di programma in cui la variabile è nota e può essere manipolata  in C, Pascal: determinabile staticamente  in LISP: determinabile dinamicamente  tipo: specifica la classe di valori che la variabile può assumere (e quindi gli operatori applicabili) CARATTERISTICHE DELLE VARIABILI

16 tempo di vita: è l’intervallo di tempo in cui rimane valida l’associazione simbolo/indirizzo fisico (L-VALUE)  in FORTRAN: allocazione statica  in C, Pascal: allocazione dinamica  valore: è rappresentato (secondo la codifica adottata) nell’area di memoria associata alla variabile CARATTERISTICHE DELLE VARIABILI

17 UN ESEMPIO Problema: “Data una temperatura espressa in gradi Celsius, calcolare il corrispondente valore espresso in gradi Fahrenheit” Approccio: si parte dal problema e dalle proprietà note sul dominio dei dati

18 UN ESEMPIO Specifica della soluzione: Relazioni tra grandezze esistenti nello specifico dominio applicativo: c * 9/5 = f - 32 oppure c = (f - 32) * 5/9 f = 32 + c * 9/5

19 UN ESEMPIO L’Algoritmo corrispondente: Dato c calcolare f sfruttando la relazione f = 32 + c * 9/5 solo a questo punto si codifica l’algoritmo nel linguaggio scelto.

20 UN PRIMO PROGRAMMA C main(){ float c = 18; /* Celsius */ float f = 32 + c * 9/5; }

21 UN ALTRO ESEMPIO Problema: “Dati tre valori interi positivi a, b, c, con a  b  c, dire se essi possono rappre- sentare i lati di un triangolo e, in tal caso, di che triangolo si tratta” Approccio: si parte dal problema e dalle proprietà note sul dominio dei dati

22 UN ALTRO ESEMPIO si ha un triangolo se e solo se vale la relazione a + b > c Nel caso questa relazione sia vera, il triangolo è –equilatero, se a=b e b=c –isoscele, se a=b (o b=c) ma a  c –scaleno, se a  b  c.

23 UN ALTRO ESEMPIO triangolo se e solo se a + b > c –equilatero, se a=b e b=c –isoscele, se a=b (o b=c) ma a  c –scaleno, se a  b  c. espressione C che riassume il tutto: (a+b)<=c ? 'n' : (a==b)&&(b==c) ? 'e' : (a==b)||(b==c) ? 'i' : 's';

24 UN POSSIBILE PROGRAMMA C main(){ char ris = (a+b)<=c ? 'n' : (a==b)&&(b==c) ? 'e' : (a==b)||(b==c) ? 'i' : 's'; }


Scaricare ppt "STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }"

Presentazioni simili


Annunci Google