C: miti e realtà

14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE C: miti e realtà C: miti e realtà Marco D. Santambrogio – [email protected] Ver. aggiornata al 8 Marzo 2013

description

C: miti e realtà. Marco D. Santambrogio – [email protected] Ver. aggiornata al 8 Marzo 2013. Obiettivi. La struttura di un programma C Teorema di B ö hm e Jacopini La calcolatrice. Struttura di un programma C. parte dichiarativa globale. parte dichiarativa locale. - PowerPoint PPT Presentation

Transcript of C: miti e realtà

Page 1: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

C: miti e realtàC: miti e realtà

Marco D. Santambrogio – [email protected]. aggiornata al 8 Marzo 2013

Page 2: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

ObiettiviObiettivi

• La struttura di un programma C• Teorema di Böhm e Jacopini• La calcolatrice

2

Page 3: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

3

Struttura di un Struttura di un programma Cprogramma C

inclusione librerie / per poter invocare funzioni utili (i/o, ...) /dichiarazione di variabili globali e funzioni

int main ( ) {

dichiarazione di variabili locali

istruzione 1; / tutti i tipi di operazioni, e cioè: /istruzione 2; / istr. di assegnamento / istruzione 3; / istr. di input / output /istruzione 4; / istr. di controllo (condizionali, cicli) /...istruzione N;

}

parte esecutiva

parte dichiarativa locale

parte dichiarativa globale

Ogni programma C deve contenere un modulo int main() {...}

Page 4: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

4

• Parte dichiarativa: contiene le dichiarazioni degli elementi del programma Dati, ed eventualmente funzioni (ma solo nella parte

globale)

• Parte esecutiva: contiene le istruzioni da eseguire, che ricadono nelle categorie: Istruzioni di assegnamento () Strutture di controllo:• Condizionali (if-then-else e switch)• Iterative, o cicli (while, do e for)

Istruzioni di Input/Output (printf, scanf, ...)

Struttura di un Struttura di un programma Cprogramma C

Page 5: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

5

Istruzioni semplici e Istruzioni semplici e compostecomposte

• Sequenze di istruzioni semplici Ogni istruzione semplice termina con ; ; è detto il “terminatore” dell’istruzione

• Si possono raggruppare più istruzioni in sequenza tra { e } a costituire un blocco Il blocco costituisce una “super-istruzione”

• Non è necessario il ; dopo }, in quanto il blocco è già una istruzione e non necessita del terminatore per

diventarla

Page 6: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

6

Esecuzione degli Esecuzione degli assegnamentiassegnamenti

• valutazione dell’espressione che compare a destra del simbolo =

il valore delle variabili che vi compaiono si trova memorizzato nelle celle corrispondenti, e da lì è letto

• memorizzazione del risultato dell'espressione nella variabile a sinistra del simbolo =

Page 7: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

7

x = 23;w = 'a';y = z;alfa = x + y;r3 = ( alfa * 43 – xgg ) * ( delta – 32 * j );x = x + 1;

Abbreviazioni (operatori di assegnamento):

a = a + 7; a = a * 5; a = a + 1; a = a - 1;a += 7; a *= 5; ++a; --a;

Esempi di assegnamentoEsempi di assegnamento

Istruzioni della forma variabile = variabile operatore espressione;si possono scrivere come: variabile operatore = espressione;

Page 8: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

8

• Operatori aritmetici in C: * per la moltiplicazione e / per la divisione La divisione tra interi elimina il resto (quoziente):

13 / 5 è uguale a 2 L’operatore modulo calcola il resto della

divisione: 13 % 5 è uguale a 3

• Precedenza degli operatori: Come in aritmetica, moltiplicazione e divisione

hanno priorità su addizione e sottrazione• si usano le parentesi quando c’è ambiguità

Per esempio: la media aritmetica di a, b, c: a + b + c / 3 NO !!!! (a + b + c ) / 3 SI

Aritmetica (1/2)Aritmetica (1/2)

Page 9: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

9

Aritmetica (2/2)Aritmetica (2/2)Operazione Operatore C Espressione

aritmeticaEspressione C

Addizione + f+7 f + 7Sottrazione - p-c p – cMoltiplicazione * bm b * mDivisione / x/y x / yModulo % r mod s r % s

Operatori C Operazioni Precedenza

( ) Parentesi Valutate per prime. Se ci sono degli annidamenti, si valuta prima la coppia più interna. Se ci sono più coppie allo stesso livello, si valuta da sinistra a destra.

* , / , % Moltiplicazione, Divisione, Modulo

Valutate per seconde. Se ce ne sono diverse, si valutano da sinistra a destra.

+ , – Addizione, Sottrazione

Valutate per ultime. Se ce ne sono diverse, si valutano da sinistra a destra.

Page 10: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

10

Teorema di BTeorema di Bööhm e hm e JacopiniJacopini• Tutti i programmi possono essere scritti

in termini di tre strutture di controllo: Sequenza: istruzioni eseguite in ordine

Selezione: istruzioni che permettono di prendere strade diverse in base a una condizione (costrutto di tipo se-allora)

Iterazione: istruzioni che permettono di eseguire ripetutamente un certo insieme di altre istruzioni (costrutti di tipo fintantoché)

Page 11: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

11

SequenzaSequenza

int main(){ int integer1, integer2, sum; printf (”Inserisci il primo valore\n"); scanf ("%d", &integer1 ); printf (”Inserisci il secondo valore\n"); scanf ("%d", &integer2);

sum = integer1 + integer2;

printf ("\nLa somma e’ %d\n\n", sum );

return 0;}

Page 12: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

La calcolatrice?La calcolatrice?

12

Umh….Meglio!

Page 13: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

La calcolatrice!La calcolatrice!

• Problema Si scriva un programma in C che, dati

due numeri, permette all’utente di calcolarne la somma, sottrazione, moltiplicazione, e la divisione tra essi• L’utente, per ogni coppia di numeri inseriti,

potrà eseguire una e una sola operazione

La calcolatrice potrà essere utilizzata più volte e… • ammettere l’operazione di sommatoria per un numero variabile, deciso dall’utente, di valori

13

Page 14: C: miti e realtà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Fonti per lo studio + Fonti per lo studio + CreditsCredits• Fonti per lo studio

Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill• Capitolo 6

• Credits

Daniele Braga - http://home.dei.polimi.it/braga/