Switch. Unità 3. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
|
|
- Veronica Berardi
- 5 anni fa
- Visualizzazioni
Transcript
1 Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi
2 Docenti Metodi Numerici prof. Vittoria Bruni Programmazione prof. Domenico Daniele Bloisi Sito del corso Nota: %7E corrisponde alla tilde ~ Pagina 2
3 Orario delle Lezioni Lunedì Martedì Giovedì Venerdì Aula 15, Via Scarpa 14 Pagina 3
4 Informazioni Generali Ing. Domenico Daniele Bloisi, PhD Dipartimento di Ingegneria Informatica Automatica e Gestionale Via Ariosto 25 (adiacente Piazza Dante, A fermate Manzoni, Vittorio Emanuele, Tram 3 fermata via Labicana) mailto:bloisi@dis.uniroma1.it Pagina 4
5 Ricevimento Martedì DIS via Ariosto 25 Aula docenti adiacente aula A4 Si consiglia di inviare una per conferma e di controllare preventivamente la bacheca degli avvisi Pagina 5
6 Sommario Istruzione if-else e istruzione if Condizioni ed espressioni booleane Blocco di istruzioni if annidati Espressione condizionale Istruzione switch Pagina 6
7 if annidati Si hanno quando l istruzione del ramo-then o del ramo-else è un istruzione if-else o if. int giorno, mese, anno, giornosucc, mesesucc, annosucc;... if (mese == 12) { if (giorno == 31) { giornosucc = 1; mesesucc = 1; annosucc = anno + 1; } else { giornosucc = giorno + 1; mesesucc = mese; annosucc = anno; } } else {... } Pagina 7
8 if annidati con condizioni mutuamente esclusive Un caso comune di utilizzo degli if annidati è quello in cui le condizioni degli if annidati si escludono mutuamente. Esempio In base al valore della temperatura (intero) stampare un messaggio secondo la seguente tabella: Pagina 8
9 if annidati con condizioni mutuamente esclusive int temp;... if (30 < temp) cout << "molto caldo" << endl; else if (20 < temp) cout << "caldo" << endl; else if (10 < temp) cout << "gradevole" << endl; else cout << "freddo" << endl; Pagina 9
10 if annidati con condizioni mutuamente esclusive Alcune osservazioni: al livello più esterno abbiamo un unica istruzione if-else l ordine in cui vengono specificate le condizioni è importante non serve che la seconda condizione sia composta, ad es. (20 < temp) && (temp <= 30) ogni else si riferisce all if immediatamente precedente Pagina 10
11 Esercizio Esercizio 3.3 Scrivere un programma che studi le soluzioni dell equazione di secondo grado Pagina 11
12 Soluzione #include <iostream> using namespace std; int main() { int int_a, int_b, int_c, delta; cout << "Programma per la soluzione di ax^2+bx+c" << endl; cout << "inserisci a:" << endl; cin >> int_a; cout << "inserisci b:" << endl; cin >> int_b; cout << "inserisci c" << endl; cin >> int_c; delta = int_b*int_b - 4*int_a*int_c; //b^2-4ac if(delta > 0) cout << "le radici sono reali e distinte" << endl; else if(delta == 0) cout << "le radici sono reali e coincidenti" << endl; else cout << "le radici sono immaginarie" << endl; } Pagina 12
13 Test: output del programma Programma per la soluzione di ax^2+bx+c inserisci a: 2 inserisci b: 4 inserisci c 6 le radici sono immaginarie Programma per la soluzione di ax^2+bx+c inserisci a: 4 inserisci b: 0 inserisci c 0 le radici sono reali e coincidenti Test 1 Test 2 Pagina 13
14 Istruzioni if-else con else ambiguo Consideriamo il seguente frammento di codice: if(a >= 0) if(b >= 0) cout << "b positivo" << endl; else cout << "???" << endl; cout << "???" << endl; potrebbe essere il ramo-else del primo if: quindi andrebbe sostituito con cout << "a negativo" << endl; del secondo if: quindi andrebbe sostituito con cout << "b negativo" << endl; Pagina 14
15 Istruzioni if-else con else ambiguo L ambiguità si risolve considerando che un else fa sempre riferimento all if più vicino: if (a >= 0) if (b >= 0) cout << "b positivo" << endl; else cout << "b negativo" << endl; Pagina 15
16 Istruzioni if-else con else ambiguo E sempre possibile usare il blocco di istruzioni (ovvero {..}) per disambiguare istruzioni if-else annidate. In particolare, affinché un else si riferisca ad un if che non è quello immediatamente precedente, quest ultimo deve essere racchiuso in un blocco. Esempio if (a >= 0) { if (b >= 0) } else cout << "b positivo" << endl; cout << "a negativo" << endl; Pagina 16
17 Esercizio: tipo di triangolo Esercizio 3.4 Dati tre valori che rappresentano le lunghezze dei lati di un triangolo, stabilire se si tratti di un triangolo equilatero, isoscele o scaleno. Pagina 17
18 Tipo di triangolo: possibile algoritmo Algoritmo: si confrontano i lati a coppie, fin quando non si sono raccolte informazioni sufficienti a decidere il tipo del triangolo. Pagina 18
19 Tipo di triangolo: codice double primo, secondo, terzo;... if (primo == secondo) { if (secondo == terzo) cout << "Equilatero" << endl; else cout << "Isoscele" << endl; } else { } if (secondo == terzo) cout << "Isoscele" << endl; else if (primo == terzo) cout << "Isoscele" << endl; else cout << "Scaleno" << endl; Domanda: di cosa non tiene conto questo pezzo di codice? Pagina 19
20 Condizione Complessa La condizione di un istruzione if-else può essere un espressione booleana complessa, nella quale compaiano gli operatori logici &&,, e!. Si deve tenere presente che le sotto-espressioni relative a tali operatori vengono valutate da sinistra a destra Pagina 20
21 Valutazione di una condizione complessa nel valutare (e1 && e2), se la valutazione di e1 restituisce false, allora e2 non viene valutata. nel valutare (e1 e2), se la valutazione di e1 restituisce true, allora e2 non viene valutata. Pagina 21
22 Esempio int i;... if (i > 0 && fact(i) > 100) { cout << s << endl; } Si noti che la funzione fact(i) non viene invocata nel caso in cui i abbia valore minore o uguale a 0. Nota: istruzioni if-else che fanno uso di espressioni booleane complesse potrebbero essere riscritte attraverso l uso di if-else annidati. In generale questo comporta però la necessità di duplicare codice. Pagina 22
23 Uso dell operatore di congiunzione && if ((x < y) && (y < z)) cout << "y compreso tra x e z" << endl; else cout << "y non compreso tra x e z" << endl; corrisponde a if (x < y) if (y < z) cout << "y compreso tra x e z" << endl; else cout << "y non compreso tra x e z" << endl; else cout << "y non compreso tra x e z" << endl; Pagina 23
24 Uso dell'operatore di disgiunzione if ((x == 1) (x == 2)) cout << "x uguale a 1 o a 2" << endl; else cout << "x diverso da 1 e da 2" << endl; corrisponde a if (x == 1) cout << "x uguale a 1 o a 2" << endl; else if (x == 2) cout << "x uguale a 1 o a 2" << endl; else cout << "x diverso da 1 e da 2" << endl; Pagina 24
25 Espressione condizionale Il C++ mette a disposizione un operatore di selezione che permette di costruire un espressione condizionale. L uso di un espressione condizionale può in alcuni casi semplificare il codice rispetto all uso di un istruzione if-else. Sintassi condizione? espressione1 : espressione2 condizione è un espressione condizionale espressione1 e espressione2 sono due espressioni qualsiasi, che devono essere dello stesso tipo Pagina 25
26 Semantica Valuta condizione. Se il risultato è true, allora valuta espressione1 e restituiscine il valore, altrimenti (false) valuta espressione2 e restituiscine il valore. espressione 1 Esempio cout << "massimo = " << (a > b)? a : b << endl; condizione espressione 2 Pagina 26
27 Operatore di selezione ternario (? :) L istruzione nell esempio, che fa uso di un espressione condizionale, è equivalente a: if (a > b) cout << "massimo = " << a << endl; else cout << "massimo = " << b << endl; l operatore di selezione combina espressioni e restituisce un altra espressione l istruzione if-else raggruppa istruzioni, ottenendo un istruzione composta. Pagina 27
28 L'istruzione switch Consente di realizzare una selezione a più vie. Sintassi (versione con break) switch (espressione) { case etichetta-1 : istruzioni-1 break;... case etichetta-n : istruzioni-n break; default: istruzioni-default } Pagina 28
29 Sintassi espressione è un espressione intera o di tipo char etichetta-1,..., etichetta-n sono espressioni intere (o carattere) costanti; possono contenere solo letterali interi (o carattere) o costanti inizializzate con espressioni costanti; una espressione non può essere ripetuta come etichetta in più case istruzioni-1,..., istruzioni-n e istruzioni-default sono sequenze di istruzioni qualsiasi la Unità default è opzionale Pagina 29
30 Semantica 1. viene prima valutata espressione 2. viene cercato il primo i per cui il valore di espressione è pari a etichetta-i 3. se si è trovato tale i, allora vengono eseguite istruzioni-i, altrimenti vengono eseguite istruzioni-default 4. l esecuzione procede con l istruzione successiva all istruzione switch Pagina 30
31 Esempio int i;... switch (i) { case 0: cout << "zero" << endl; break; case 1: cout << "uno" << endl; break; case 2: cout << "due" << endl; break; default: cout << "minore di zero o " << "maggiore di due" << endl; } Pagina 31
32 Raggruppare case Se si hanno più valori per cui eseguire le stesse istruzioni, si possono raggruppare i diversi case: case valore-1 : case valore-2 : istruzioni break; Pagina 32
33 Esempio di istruzione switch int mese, giornidelmese;... switch (mese) { case 4: case 6: case 9: case 11: giornidelmese = 30; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: giornidelmese = 31; break; case 2: giornidelmese = 28; break; default: giornidelmese = 0; cout << "Mese non valido" << endl; } cout << "Giorni: " << giornidelmese << endl; Pagina 33
34 Osservazioni sull istruzione switch L espressione usata per la selezione può essere una qualsiasi espressione C++ che restituisce un valore intero o carattere (ma non un valore reale). I valori specificati nei vari case devono invece essere espressioni costanti, cioè il loro valore deve essere noto a tempo di compilazione. Non possono essere espressioni che fanno riferimento a variabili. Pagina 34
35 Errori nell istruzione switch Il seguente frammento di codice è sbagliato: int a;... switch(a) { case a<0: cout << "negativo" << endl; // ERRORE: a<0 non è una costante case 0: cout << "nullo " << endl; case a>0: cout << "positivo" << endl; // ERRORE: a>0 non e una costante } Pagina 35
36 Omissione del break In generale, in un istruzione switch non è necessario inserire un istruzione break come ultima istruzione di un case. Sintassi (versione generale) switch (espressione) { case etichetta-1 : istruzioni-1... case etichetta-n : istruzioni-n default: istruzioni-default } Pagina 36
37 Sintassi espressione è un espressione intera o di tipo char etichetta-1,..., etichetta-n sono espressioni intere (o carattere) costanti; ovvero, possono contenere solo letterali interi (o carattere) o costanti inizializzate con espressioni costanti; una espressione non può essere ripetuta come etichetta in più case istruzioni-1,..., istruzioni-n e istruzioni-default sono sequenze di istruzioni qualsiasi la Unità default è opzionale Pagina 37
38 Semantica 1. viene prima valutata espressione 2. viene cercato il primo i per cui il valore di espressione è pari a etichetta-i 3. se si è trovato tale i, allora vengono eseguite in sequenza istruzioni-i, istruzioni-i+1,..., fino a quando non si incontra break o è terminata l istruzione switch, altrimenti vengono eseguite istruzioni-default 4. l esecuzione procede con l istruzione successiva all istruzione switch Pagina 38
39 Esempio int lati; // numero di lati del poligono (al più 6)... cout<<"poligoni con al piu\' "<<lati<<": "<<endl; switch(lati) { case 6: cout << "esagono, "; case 5: cout << "pentagono, "; case 4: cout << "rettangolo, "; case 3: cout << "triangolo."; break; case 2: case 1: cout << "nessuno"; break; default: cout<<"immetti un valore <= 6."<<endl; } Pagina 39
40 Esecuzione Se il valore di lati è pari a 5, allora il precedente codice stampa: pentagono, rettangolo, triangolo. Nota: quando si omettono i break, diventa rilevante l ordine in cui vengono scritti i vari case. Questo può essere spesso causa di errori. E buona norma mettere break come ultima istruzione di ogni case. Pagina 40
41 Esercizio Esercizio 3.5 Scrivere un programma che legga da input un codice scelto a piacere per indicare una specifica funzione matematica (es. logaritmo, seno, etc.), quindi legga i relativi operandi e restituisca il risultato della funzione. Gli input devono essere inseriti separati da uno spazio. Esempio Se il codice scelto è 0 per log, 1 per sin, e 2 per cos, nel caso in cui l utente inserisca il programma stamperà sin(3.14) = Pagina 41
42 Possibile soluzione #include <iostream> #include <cmath> using namespace std; int main (){ int codice; double dato; cout << "inserisci il codice funzione e l\'operando " << " separati da uno spazio" << endl; cin >> codice; cin >> dato; switch(codice) { case 0: cout << "log(" << dato << ") = " << log(dato); break; case 1: cout << "sin(" << dato << ") = " << sin(dato); break; case 2: cout << "cos(" << dato << ") = " << cos(dato); break; default: cout << "il codice inserito non corrisponde " << "ad alcuna funzione."; } } Pagina 42
Switch. Unità 3. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliSwitch. Unità 3. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliIstruzioni Condizionali
Istruzioni Condizionali Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliFunzioni. Unità 1. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliEspressioni booleane. Esempio: temperatura <= 0 velocita > velocita max
Espressioni booleane Espressioni booleane il linguaggio deve consentire di descrivere espressioni booleane cioé espressioni che ritornino come risultato valori di verit : vero o falso (guardie di condizionali
DettagliFor e do. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliIstruzioni Condizionali
Istruzioni Condizionali Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it
DettagliCome va usato il codice dei caratteri
Espressioni booleane Come va usato il codice dei caratteri Convertiamo una lettera minuscola in maiuscolo: char lower = k ; char upper = (char) (lower - a + A ); printf("%c", upper); Convertiamo un carattere
DettagliIstruzioni Condizionali
Istruzioni Condizionali Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio
DettagliDefinizione di classi
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliControllo del flusso
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliTipi di dato. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliMatrici. Unità 7. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliVariabili. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
DettagliFor e do. Parte 4. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliFunzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione
DettagliUnità 3 Istruzioni condizionali
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 3 Istruzioni condizionali D. Bloisi, S. Peluso, A. Pennisi, S. Salza Sommario
DettagliMatrici. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliChar. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliPreprocessore. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica,
DettagliCorso di Fondamenti di Informatica Classi di istruzioni 2
Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da
DettagliChar. Parte 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliEreditarietà. Unità 9. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliEsercitazione 6. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliINFORMATICA. Strutture condizionali
INFORMATICA Strutture condizionali Strutture condizionali Sono le istruzioni che rappresentano il ben noto costrutto IF THEN ELSE della programmazione strutturata. In C, come peraltro in tutti gli altri
DettagliVariabili. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti
Dettagli5 - Istruzioni condizionali
5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliEsercizi Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliEsercizi Array Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliEsercitazione 2. Espressioni booleane Il comando if-else
Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali
DettagliEsercitazione 5. Unità Domenico Daniele Bloisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Unità 6-7-8 Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo
DettagliIstruzioni di Ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
DettagliArray. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliEsercitazione 6. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR. Domenico Daniele Bloisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
Dettagli2 Operatori matematici e costrutto if
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
DettagliElementi di Informatica A. A. 2016/2017
Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1
DettagliPassaggio parametri puntatore
Passaggio parametri puntatore Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it
DettagliEsercizi con Array. Unità 7. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011. Prof. Raffaele Nicolussi
Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
DettagliFor e do. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliCompletiamo le istruzioni condizionali: Istruzione switch Può essere usata per realizzare una selezione a più vie. Sintassi:
Completiamo le istruzioni condizionali: Istruzione switch Può essere usata per realizzare una selezione a più vie. Sintassi: switch (espressione) { case espressione-1: istruzioni-1... case espressione-n:
DettagliIstruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliDue osservazioni sulle variabili
Due osservazioni sulle variabili Dichiarazione: cosa succede se non dichiaro una variabile e la uso? provare... Le costanti: sono utilizzate nei linguaggi di programmazione rendere simbolici dei valori
DettagliGestione della memoria
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 8 14/11/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliLaboratorio di Programmazione e Calcolo
UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI FISICA E. AMALDI Laboratorio di Programmazione e Calcolo 6 crediti a cura di Severino Bussino Anno Accademico 2018-19 0) Struttura del Corso 1) Trattamento
DettagliEsempi comparati while, do...while
Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare
DettagliLe strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
DettagliLab 04 Programmazione Strutturata"
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate
DettagliRisoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliStringhe. Unità 8. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliIstruzioni semplici e strutturate
Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliFondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1
Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
DettagliCostrutto switch. Come utilizzare il costrutto switch
Costrutto switch Come utilizzare il costrutto switch Costrutto switch (1/4) Il costrutto if-else permette di selezionare le istruzioni da eseguire tra due alternative, a seconda del valore di una condizione
DettagliEsercizio 1" input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 03 Istruzioni" Lab03 1 Esercizio
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
Dettagliprof. P. Mancarella Dip.to Informatica INFORMATICA 1 a.a. 07/08 pag. 170
Istruzioni condizionali Esempio: Dati tre valori che rappresentano le lunghezze dei lati di un triangolo, stabilire se si tratti di un triangolo equilatero, isoscele o scaleno. Algoritmo: determina tipo
DettagliStruttura dei programmi C Nel semplice programma che abbiamo appena analizzato possiamo già vedere la struttura generale di un programma C.
Struttura programmi C Struttura dei programmi C Nel semplice programma che abbiamo appena analizzato possiamo già vedere la struttura generale di un programma C. /* DIRETTIVE DI COMPILAZIONE */ #include
DettagliFunzioni. Unità 5. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliStrutture di Controllo
Strutture di Controllo Istruzioni condizionali e cicli http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Fino ad ora, il nostro
DettagliStrutture di controllo
Strutture di controllo 73 Teorema di Bohm e Jacopini Tutti i programmi possono essere scritti in termini di tre strutture di controllo: La sequenza, permette di eseguire le istruzioni secondo l ordine
Dettagli<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
DettagliISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono
DettagliIL COSTRUTTO SELEZIONE
IL COSTRUTTO SELEZIONE Il costrutto selezione Permette di effettuare una scelta tra due possibili opzioni. Tale scelta verrà effettuata valutando il valore di verità di una condizione espressa da una proposizione
Dettagli<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
DettagliQualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliMatrici. Unità 7. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliOperazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
Dettaglicout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;
Funzioni int n, ris; cout n; ris = n*2; cout
DettagliLinguaggio C++ 5. Strutture cicliche
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) Linguaggio C++ 5 Strutture cicliche Linguaggio C++ 5 1 Strutture cicliche Utilizzate per ripetere un certo numero di volte
DettagliEsecuzione condizionale. Esecuzione condizionale. Costrutto if. Costrutto if
Esecuzione condizionale Esecuzione condizionale Permette l esecuzione di un blocco di codice solo se si verifica una certa condizione SE (condizione è vera) ALLORA esegui istruzioni 2 er. 2.4 also condizione
Dettagliciclo di vita della soluzione (informatica) di un problema
Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti
DettagliCostrutto if. Come utilizzare il costrutto condizionale if
Costrutto if Come utilizzare il costrutto condizionale if Costrutto if (1/2) Il costrutto if permette di effettuare azioni diverse a seconda del valore di una certa condizione booleana. if (condizione)
DettagliTipi strutturati - struct
Fondamenti di Programmazione A Appunti per le lezioni Gianfranco Rossi Tipi strutturati - struct Struttura dati (concreta) struct: sequenza di n elementi (n 0), rispettivamente di tipo t1,,tn (non necessariamente
DettagliInformatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento
DettagliIndice. I costrutti decisionali I cicli
Sintassi II Parte Indice I costrutti decisionali I cicli Il costrutto if/else Il costrutto if consente di svolgere una o più operazioni se una particolare condizione (enunciata con un espressione booleana)
DettagliFondamenti di C++ Input/Output di base
Università della Calabria Corso di Laurea in Ingegneria Elettronica Programmazione Orientata agli Oggetti A.A. 2006/2007 Fondamenti di C++ Paolo Trunfio * * DEIS, Università della Calabria http://si.deis.unical.it/~trunfio
DettagliLinguaggio C Strutture di controllo
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Strutture di controllo 2001 Pier Luca Montessoro - Davide
DettagliLezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo
Dettagli