1 / 14

C: miti e realtà

C: miti e realtà. Marco D. Santambrogio – marco.santambrogio@polimi.it 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.

Télécharger la présentation

C: miti e realtà

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. C: miti e realtà Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 8 Marzo 2013

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

  3. Struttura di un programma C parte dichiarativa globale parte dichiarativa locale parte esecutiva 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; } Ogni programma C deve contenere un modulo int main() {...}

  4. Struttura di un programma C • Parte dichiarativa: contiene le dichiarazioni degli elementi del programma • Dati, ed eventualmente funzioni (ma solo nella parte globale) • Parte esecutiva: contiene leistruzioni 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, ...)

  5. Istruzioni semplici e composte • 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

  6. Esecuzione degli assegnamenti • 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 =

  7. Esempi di assegnamento 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; Istruzioni della forma variabile = variabileoperatoreespressione; si possono scrivere come: variabileoperatore = espressione;

  8. Aritmetica (1/2) • 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

  9. Aritmetica (2/2)

  10. Teorema di Böhm e Jacopini • 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é)

  11. Sequenza 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; }

  12. La calcolatrice? Meglio! Umh….

  13. 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

  14. Fonti per lo studio + Credits • 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/

More Related