Programmazione Procedurale in Linguaggio C++

Documenti analoghi
Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++

Istruzioni Condizionali

Istruzioni Condizionali

Programmazione Procedurale in Linguaggio C++

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.

Programmazione Procedurale in Linguaggio C++

Esempi comparati while, do...while

Switch. Unità 3. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Istruzioni semplici e strutturate

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 2. Espressioni booleane Il comando if-else

Risoluzione di un problema

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

ISTRUZIONI ISTRUZIONI

Programmazione Procedurale in Linguaggio C++

PROGRAMMAZIONE: Le strutture di controllo

Strutture di Controllo

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.

STRUTTURE DI CONTROLLO DEL C++

Scelte ed alternative

Lab 04 Programmazione Strutturata"

Istruzioni Condizionali

1 - Visualizzare una scritta sullo schermo.

cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

ISTRUZIONI ISTRUZIONI SEMPLICI

Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni

Istruzioni selettive: IF THEN

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

ERRORI DI PROGRAMMAZIONE INDICE

Scelte ed alternative

Scelte ed alternative

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Laboratorio di Informatica I

Programmazione Procedurale in Linguaggio C++

while Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Programmazione Procedurale in Linguaggio C++

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

del Linguaggio C Istruzioni di iterazione

Istruzioni Condizionali

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse

Esercizi Programmazione I

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica

Laboratorio di Programmazione e Calcolo

Programmazione Procedurale in Linguaggio C++

ISTRUZIONI ISTRUZIONI SEMPLICI

Programmazione Procedurale in Linguaggio C++

Istruzione if/else. Espressioni booleane

Il primo programma C++

Programmazione Procedurale in Linguaggio C++

Come va usato il codice dei caratteri

ISTRUZIONI SEMPLICI ISTRUZIONI ISTRUZIONI DI CONTROLLO PROGRAMMAZIONE STRUTTURATA

Lezione 6 Introduzione al C++ Mauro Piccolo

Strutture di Controllo IF-ELSE

Istruzioni Condizionali

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Esempio (if): equazione di secondo grado

Programmazione Procedurale in Linguaggio C++

Informatica Applicata

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Istruzioni di Controllo

Programmazione Procedurale in Linguaggio C++

COMANDI ITERATIVI. Ivan Lanese

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

if else Fondamenti di Informatica (Modulo B) !""#$ % ( #if else ) " *+ #switch if (Condizione) Istruzione

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max

Linguaggio C++ 5. Strutture cicliche

PROGRAMMAZIONE: La selezione

5 - Istruzioni condizionali

Strutture di Controllo Iterative: Istruzioni While e Do

Istruzioni. Una istruzione semplice è qualsiasi espressione seguita da un punto e virgola. Esempio x = 0; y = 1;/* due istruzioni */

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Espressioni semplici e condizionali

Istruzioni Condizionali

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

Programmazione Procedurale in Linguaggio C++

Scelte. Costrutto condizionale. Il costrutto if. Il costrutto if. Rappresentazione con diagramma a blocchi. Il costrutto if

1 Operatori matematici e costrutto if

Istruzioni di selezione in Java 1

Costrutto if. Come utilizzare il costrutto condizionale if

Strutture di controllo iterative

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Il linguaggio C La programmazione strutturata

Transcript:

Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione Istruzione if-then- Istruzione if-then Istruzioni Condizionali Nidificate Esercizio: Riconoscimento di Triangoli 2

Istruzioni Condizionali >> Introduzione Introduzione Istruzione if-then- esecuzione di blocco di codice oppure di un altro a seconda che una condizione sia vera o falsa Istruzione if-then esecuzione di un blocco di codice se la condizione è vera altrimenti nessun effetto 3 Istruzioni Condizionali >> Istruzione if-then- Istruzione if-then- Sintassi: if (<condizione>) <blocco1> <blocco2> <condizione> è una espressione con valore booleano <blocco1> e <blocco2> sono istruzioni singole oppure blocchi di istruzioni tra { 4

Istruzioni Condizionali >> Istruzione if-then- Istruzione if-then- Semantica viene valutato il valore della <condizione> se il valore dell espressione è true si esegue <blocco1> se il valore dell espressione è false si esegue <blocco2> in entrambi i casi l esecuzione procede con l istruzione immediatamente successiva 5 Istruzioni Condizionali >> Istruzione if-then- Esempio n.1 int a; cin >> a; if ((a % 2) == 0) cout << il numero e pari ; cout << il numero e dispari ; cout << Fine ; istruzione precedente istruzione if-then- istruzione successiva 6

Istruzioni Condizionali >> Istruzione if-then- Esempio n.2 int a, b; cin >> a; cin >> b if (a > b) { cout << a maggiore di b ; cout << Valore di a: << a; { cout << a non è maggiore di b ; cout << Valore di b: << b; cout << Fine ; 7 Istruzioni Condizionali >> Istruzione if-then- Esempio n.3 1. float sommavoti, numeroesami, media; 2. cout << Inserisci somma e num. es. << endl; 3. cin >> sommavoti; 4. cin >> numeroesami; 5. if (numeroesami>0) { 6. media = sommavoti/numeroesami; 7. cout << Media: << media; 8. 9. cout << Errore ; 10. cout << -Fine- ; Caso a: Inserisci somma e num. es. 72 3 Media: 24 Flusso di esecuzione: 1-2-3-4-condizione-6-7-10 Caso b: Inserisci somma e num. es. 100-3 Errore -Fine- -Fine- Flusso di esecuzione: 1-2-3-4-condizione-9-10 8

Istruzioni Condizionali >> Istruzione if-then Istruzione if-then Sintassi if (<condizione>) <blocco> Semantica viene valutata la condizione se la condizione è vera viene eseguito il blocco e poi si prosegue con l istr. successiva se la condizione è falsa si prosegue direttamente con l istruzione successiva 9 Istruzioni Condizionali >> Istruzione if-then Istruzione if-then Esempio: int a; cout << Immetti un numero positivo << endl; cin >> a; if (a < 0 ) a = abs(a); cout << Radice quadrata: << sqrt(a); se il valore di a è positivo non è necessario effettuare alcuna operazione 10

Istruzioni Condizionali >> Istruzioni Condizionali Nidificate Istruzione Condizionali Nidificate Nidificazione le istruzioni che seguono l if e/o l possono essere istruzioni qualsiasi in particolare, possono essere a loro volta istruzioni condizionali il processo può essere ripetuto a molti livelli Analogo è come se gli if interni facessero il nido in quelli esterni 11 Istruzioni Condizionali >> Istruzioni Condizionali Nidificate Istruzione Condizionali Nidificate int a, b, differenza; if esterno if interno cin >> a; cin >> b if (a > b) { cout << a maggiore di b << endl; differenza = a-b; { if (b > a) cout << b e maggiore di a << endl; cout << a e b sono uguali << endl; differenza = b-a;; cout << Fine ; 12

Istruzioni Condizionali >> Istruzioni Condizionali Nidificate Istruzione Condizionali Nidificate Semantica la semantica è quella ordinaria Problema è possibile mischiare if-then- ed if-then tra tanti if ed, come si stabiliscono le associazioni (a quale if si rif. un )? Regola ogni si riferisce al più vicino tra gli if precedenti privi di 13 Istruzioni Condizionali >> Istruzioni Condizionali Nidificate Istruzione Condizionali Nidificate Esempio if (a > 0) if (a==1) b = 1; b = 2; Due possibili interpretazioni if (a > 0) { if (a > 0) { if (a==1) if (a==1) b = 1; b = 1; b = 2; b = 2; Supponiamo #1499 a -1 I caso: b vale 100 all inizio: #2500 b 100 II caso: b vale 2 14

Istruzioni Condizionali >> Istruzioni Condizionali Nidificate Istruzione Condizionali Nidificate Esempio if (a > 0) if (a==1) b = 1; b = 2; Semantica corretta if (a > 0) { if (a==1) b =1; b=2; if esterno (le parentesi graffe sono ridondanti) if interno (l viene assoc. all if più vicino) se a vale -1 e b vale 100: se a vale 5 e b vale 100: b vale 100 b vale 2 15 Istruzioni Condizionali >> Istruzioni Condizionali Nidificate Istruzione Condizionali Nidificate Per forzate l interpretazione alternativa utilizzare le parentesi graffe (anche se non indispensabili) per forzare l associazione Semantica alternativa if (a > 0) { if (a==1) b =1; b=2; if interno if esterno se a vale -1 e b vale 100: se a vale 5 e b vale 100: b vale 2 b vale 100 16

Istruzioni Condizionali >> Esercizio Esercizio: Riconoscimento di Triangoli Problema: date le lunghezze dei lati di un triangolo riconoscere e stampare di che tipo di triangolo si tratta Analisi delle Specifiche: dati in ingresso: le lunghezze a, b, c dei lati dati in uscita: uno dei seguenti messaggi Triangolo equilatero Triangolo isoscele Triangolo scaleno 17 Istruzioni Condizionali >> Esercizio Esercizio: Riconoscimento di Triangoli Scelta dell algoritmo I passo: rappresentazione dei dati del problema attraverso i dati del programma lunghezze dei lati a,b,c: variabili float a,b,c II passo: strategia Strategia acquisisco le lunghezze dei lati verifico se il tr. è equilatero; altrimenti verifico se il tr. è isoscele; altrimenti il tr. è scaleno >>> 18

Istruzioni Condizionali >> Esercizio Esercizio: Riconoscimento di Triangoli #include <iostream.h> void main(){ float a,b,c; cout << "Immetti i tre lati " << endl; cin >> a; cin >> b; cin >> c; if ((a==b) && (b==c)) cout << "il triangolo e' equilatero" << endl; if((a==b) (a==c) (b==c)) cout << "il triangolo e' isoscele" << endl; cout << "il triangolo e' scaleno" << endl; 19 Istruzioni Condizionali >> Esercizio Esercizio a Casa: Volo dello Shuttle Problema: uno shuttle decolla alle ore X, minuti Y, secondi Z del giorno 1 gennaio 2002 lo shuttle sta in volo X1 ore, Y1 minuti, Z1 secondi (per un totale di meno di 24 ore) e poi atterra dato l orario di decollo X:Y:Z, e il tempo di volo X1:Y1:Z1, calcolare la data e l ora di atterraggio Esempio decollo alle ore 18:40:10 del 1 gennaio 2002 tempo di volo pari a 20:40:15 atterraggio il 2 gennaio 2002 alle ore 15:20:25 20

Istruzioni Condizionali >> Sommario Riassumendo Istruzioni Condizionali servono a controllare l esecuzione dei blocchi del programma sulla base di condizioni condizione: espressione vera o falsa due forme: if-then-, if-then Nidificazione attenzione ai riferimenti 21 Strutture di Controllo >> Un Esempio Un Esempio: Media con For #include <iostream.h> void main() { float voto, sommavoti, media; int numeroesami, i; cout << "Quanti esami hai sostenuto?" << endl; cin >> numeroesami; sommavoti = 0.0; for (i=0; i<numeroesami; i++) { cout << "Immetti il voto di un esame" << endl; cin >> voto; sommavoti += voto; if (numeroesami > 0) { media = sommavoti/numeroesami; cout << "La media vale: " << media << endl; cout << "Non hai fornito nessun voto" << endl; 22

Strutture di Controllo >> Un Esempio Un Esempio: Media con While #include <iostream.h> void main() { float voto, sommavoti, media; int numeroesami; bool continua; continua = true; numeroesami = 0; sommavoti = 0.0; while (continua == true) { cout << "Immetti il voto (0 per fermarti)" << endl; cin >> voto; if (voto == 0) continua = false; { numeroesami++; sommavoti += voto; if (numeroesami > 0) { media = sommavoti/numeroesami; cout << "La media vale: " << media << endl; cout << "Non hai fornito nessun voto" << endl; 23