Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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! = 123…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"); }
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.