La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Strutture di controllo nel C

Presentazioni simili


Presentazione sul tema: "Strutture di controllo nel C"— Transcript della presentazione:

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

2 ... } Istruzione1; Istruzione2; } ...
Sequenza Istruzione2 Istruzione1 ... } Istruzione1; Istruzione2; } ...

3 ... if (condizione) { IstruzioniA; } else { IstruzioniB; } ...
Selezione: if Condizione IstruzioniB V F IstruzioniA ... if (condizione) { IstruzioniA; } else { IstruzioniB; } ...

4 Selezione: switch variabile == val1 V F IstruzioniA variabile == val2 IstruzioniB IstruzioniC ... switch (variabile) { case val1: IstruzioniA; break; case val2: IstruzioniB; break; default: IstruzioniC; } ...

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

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

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

8 Esempi in C sulle strutture di controllo
Metodi classici per l’inserimento dei dati, divisibilità e molteplicità

9 Anno bisestile L’utente inserisce un anno ed il calcolatore verifica se è bisestile Se l’utente 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 <stdio.h> 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 ("L’anno è bisestile\n"); } else printf ("L’anno 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
L’utente 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 anch’esso visualizzato

14 Da minuscolo a maiuscolo
#include <stdio.h> 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 L’utente inserisce alcuni numeri naturali e l’elaboratore 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! = 1 sse n = 0 n! = 123…n sse n >

18 Fattoriale #include <stdio.h> 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 L’utente inserisce un carattere (‘+’, ‘-’, ‘*’, ‘/’) che rappresenta l’operazione da eseguire e due operandi (numeri float) L’operazione viene eseguita, se possibile.

22 Calcolatrice #include <stdio.h> 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 '/': if (op2 != 0) tot = op1 / op2; else errore = 1; default: printf ("Operazione?\n"); }

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


Scaricare ppt "Strutture di controllo nel C"

Presentazioni simili


Annunci Google