La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Politecnico di Milano Strutture di controllo nel C Sequenza, if, switch, while, do while, for.

Presentazioni simili


Presentazione sul tema: "Politecnico di Milano Strutture di controllo nel C Sequenza, if, switch, while, do while, for."— Transcript della presentazione:

1 Politecnico di Milano Strutture di controllo nel C Sequenza, if, switch, while, do while, for

2 - 2 - Sequenza... } Istruzione 1 ; Istruzione 2 ; }... Istruzione 2 Istruzione 1

3 - 3 - Selezione: if... if (condizione) { Istruzioni A ; } else { Istruzioni B ; }... Condizione Istruzioni B V F Istruzioni A

4 - 4 - Selezione: switch... switch (variabile) { case val 1 : Istruzioni A ; break; case val 2 : Istruzioni B ; break; default: Istruzioni C ; }... variabile == val 1 V F Istruzioni A variabile == val 2 V F Istruzioni B Istruzioni C

5 - 5 - Iterazione: while Condizione Istruzioni V F... while (condizione) { Istruzioni; }...

6 - 6 - Iterazione: do while Condizione Istruzioni V F... do { Istruzioni; } while (condizione);...

7 - 7 - Iterazione: for... for (iniz cont; condizione; inc cont) { Istruzioni; }... Condizione Istruzioni V F Inizializzazione contatore Incremento contatore Il contatore puo: Essere incrementato o decrementato Avere un passo diverso da 1

8 Politecnico di Milano Esempi in C sulle strutture di controllo Metodi classici per linserimento dei dati, divisibilità e molteplicità

9 - 9 - Anno bisestile Lutente inserisce un anno ed il calcolatore verifica se è bisestile Se lutente inserisce un numero minore di zero il programma termina (senza ovviamente fare alcuna verifica) altrimenti, al termine della verifica, si ricomincia daccapo Ricordiamo che un anno è bisestile se: è divisibile per 4 ma non per 100, oppure se è divisibile per 400.

10 Anno bisestile #include void main () { unsigned int restoDiv4, restoDiv100, restoDiv400; int anno; printf ("Inserire un anno: "); scanf ("%d", &anno); while (anno >= 0) { restoDiv4 = anno % 4; restoDiv100 = anno % 100; restoDiv400 = anno % 400;.

11 Anno bisestile if (restoDiv4 == 0 && restoDiv100 != 0 || restoDiv400 == 0) { printf ("Lanno è bisestile\n"); } else { printf ("Lanno non è bisestile\n"); } printf ("Inserire un altro anno: "); scanf ("%d", &anno); } printf ("Fine.\n"); }.

12 Anno bisestile Nota sul ciclo (terminatore escluso): lettura dato inizio ciclo e controllo dato (terminatore?) elaborazione dato lettura dato successivo fine ciclo.

13 Da minuscolo a maiuscolo Lutente inserisce una sequenza di caratteri, terminata dal carattere # Il programma visualizza i caratteri, trasformando tutte le lettere minuscole in maiuscole Eventuali caratteri diversi dalle lettere minuscole e dal # devono essere visualizzati come _ Il carattere # deve essere anchesso visualizzato

14 Da minuscolo a maiuscolo #include void main() { char carattere; printf ("Caratteri (termina con #): "); do { scanf (" %c", &carattere); if (carattere >= 97 && carattere <= 122) { printf ("%c", carattere - 32); }.

15 Da minuscolo a maiuscolo else if (carattere != '#') { printf ("_"); } else { printf ("#"); } } while (carattere != '#'); }

16 Da minuscolo a maiuscolo Nota sul ciclo (terminatore incluso): inizio ciclo Lettura dato elaborazione dato fine ciclo e controllo dato (terminatore?).

17 Fattoriale Lutente inserisce alcuni numeri naturali e lelaboratore ne calcola il fattoriale Ricordiamo che i fattoriale è definito come: n! = 1 sse n = 0 n! = n·(n – 1)! sse n > 0 Usiamo un procedimento iterativo: il fattoriale può essere calcolato: n! = 1sse n = 0 n! = … nsse n > 0.

18 Fattoriale #include void main() { unsigned int n, i, max, j; unsigned long int fat; printf ("Quanti numeri?: "); scanf ("%u", &max);.

19 Fattoriale for (j = 1; j <= max; j++) { printf ("Introduci numero naturale: "); scanf ("%u", &n); fat = 1; for (i = 1; i <= n; i++) { fat = fat * i; } printf ("Il fattoriale è: %lu\n", fat); } }

20 Fattoriale Nota sul ciclo (nessun terminatore, inserisci numero elementi): Lettura numero elementi da inserire inizio ciclo for per il numero di elementi Lettura dato elaborazione dato fine ciclo.

21 Calcolatrice Lutente inserisce un carattere (+, -, *, /) che rappresenta loperazione da eseguire e due operandi (numeri float) Loperazione viene eseguita, se possibile.

22 Calcolatrice #include void main() { float op1, op2, tot; char operazione; unsigned int errore = 0; printf ("Operazione (+,-,*,/): "); scanf ("%c", &operazione); printf ("Primo operando: "); scanf ("%f", &op1); printf ("Secondo operando: "); scanf ("%f", &op2);.

23 Calcolatrice switch (operazione) { case ' + ' : tot = op1 + op2; break; case ' - ' : tot = op1 - op2; break; case ' * ' :tot = op1 * op2; break; case ' / ' :if (op2 != 0) tot = op1 / op2; else errore = 1; break; default: printf ("Operazione?\n"); errore = 1; }.

24 Calcolatrice if (errore == 0) { printf ("Risultato: %f\n", tot); } else { printf ("Errore!\n"); } }.


Scaricare ppt "Politecnico di Milano Strutture di controllo nel C Sequenza, if, switch, while, do while, for."

Presentazioni simili


Annunci Google