Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
|
|
- Lucio Martini
- 5 anni fa
- Visualizzazioni
Transcript
1 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012
2 Sommario Introduzione alla sintassi C++ Operatori Conversione di tipo Istruzioni di controllo Esercizi 16/04/2012 2
3 Operatori sui bit Il C++ permette, a differenza da altri linguaggi, di operare sulle variabili intere a livello dei bit. L'operatore binario >> produce lo scorrimento a destra (right-shift) dei bit dell operando di sinistra( left-operand) in quantità pari all operando di destra ( rightoperand). In pratica si esegue una divisione intera (con divisore uguale a una potenza di 2) Es. a >> n equivale a a / 2 n Dalla sinistra entrano cifre binarie 0 se il numero a è positivo, oppure cifre binarie 1 se il numero a è negativo (a causa della notazione a complemento a 2 dei numeri negativi). L'operatore binario << produce lo scorrimento a sinistra (left-shift) dei bit dell operando di sinistra ( left-operand), in quantità pari al right-operand. In pratica si esegue una moltiplicazione per una potenza di 2 Es. a << n equivale a a * 2 n Dalla destra entrano sempre cifre binarie 0. 16/04/2012 3
4 Operatori sui bit Gli operatori binari &,, e ^ eseguono operazioni logiche bit a bit fra i due operandi, e precisamente: & esegue l'and fra i corrispondenti bit dei due operandi esegue l'or fra i corrispondenti bit dei due operandi ^esegue l'or esclusivo (XOR) fra i corrispondenti bit dei due operandi L'operatore binario & esegue l'and logico fra due bit a,b: a & b risultato: true (1) se entrambi a e b sono true; altrimenti: false (0) L'operatore binario esegue l'or logico fra due bit a,b: a b risultato: false (0) se entrambi a e b sono false; altrimenti: true (1) L'operatore binario ^ esegue l'or esclusivo logico fra due bit a,b: a ^b risultato: true (1) se a e b sono diversi; altrimenti: false (0) L'operatore unario ~ inverte i bit dell'operando (trasforma 0 in 1 e 1 in 0). 16/04/2012 4
5 Operatori sui bit Gli operatori binari &,, e ^ eseguono operazioni logiche bit a bit fra i due operandi, e precisamente: &esegue l'and fra i corrispondenti bit dei due operandi esegue l'or fra i corrispondenti bit dei due operandi ^esegue l'or esclusivo (XOR) fra i corrispondenti bit dei due operandi Es., date due variabili char a e b i cui valori sono, in notazione binaria: a= (77) b= (58) i risultati delle tre operazioni sono rispettivamente: a & b= (8) a b= (127) a ^ b= (119) L'operatore unario ~ inverte i bit dell'operando (trasforma 0 in 1 e 1 in 0). 16/04/2012 5
6 Operatori sui bit a= (77) b= (58) i risultati delle tre operazioni sono rispettivamente: a & b= (8) a b= (127) a ^ b= (119) L'operatore unario ~ inverte i bit dell'operando (trasforma 0 in 1 e 1 in 0). #include <iostream> using namespace std; int main(){ int c1, a=77, b=58; int m = a & b; cout <<endl; cout << "a & b = " <<m << endl; cout << "a b = " <<(a b) << endl; cout << "a ^ b = " <<(a ^ b) << endl; return 0;} 16/04/2012 6
7 Operatori sui bit a= (77) b= (58) i risultati delle tre operazioni sono rispettivamente: a & b= (8) a b= (127) a ^ b= (119) L'operatore unario ~ inverte i bit dell'operando (trasforma 0 in 1 e 1 in 0). #include <iostream> using namespace std; int main(){ int c1, a=77, b=58; int m = a & b; cout <<endl; cout << "a & b = " <<m << endl; cout << "a b = " <<(a b) << endl; cout << "a ^ b = " <<(a ^ b) << endl; return 0;} 16/04/2012 7
8 Operatori binari in notazione compatta Data l'espressione: a = a <op> b dove a è una variabile, op è un operatore (matematico o a livello del bit), b è un'espressione qualsiasi, questa può essere riscritta in notazione compatta a <op> =b Es. A=A*B equivale a A*=B La notazione compatta è conveniente soprattutto quando il nome delle variabili è lungo! 16/04/2012 8
9 Operatori relazionali Gli operatori binari relazionali sono: > >= < <= ==!= Questi operatori eseguono il confronto fra i valori dei due operandi (che possono essere di qualsiasi tipo nativo) e restituiscono un valore booleano: a > b restituisce true se a é maggiore di b a >= b restituisce true se a é maggiore o uguale a b a < b restituisce true se a é minore di b a <= b restituisce true se a é minore o uguale a b a == b restituisce true se a é uguale a b a!= b restituisce true se a é diverso da b Esempi: bool b = 7 > 3; (in b viene memorizzato true) bool c = 7 < 3; (in c viene memorizzato false) 9
10 Operatori logici: &&! Questi operatori agiscono su operandi booleani e restituiscono un valore booleano: L'operatore binario && esegue l'and logico fra gli operandi: a && b risultato: true se entrambi a e b sono true; altrimenti: false L'operatore binario esegue l'or logico fra gli operandi: a b risultato: false se entrambi a e b sono false; altrimenti: true L'operatore unario! esegue il NOT logico dell'operando:!a risultato: true se a é false o viceversa Si noti la differenza fra gli operatori logici && e e gli operatori di confronto bit a bit & e Es: 5 && 2 restituisce true in quanto entrambi gli operandi sono true (ogni intero diverso da zero è convertito in true) 5 & 2 restituisce 0 (e quindi false se convertito in booleano) in quanto i bit corrispondenti sono tutti diversi 10
11 Operatori di incremento e decremento Gli operatori unari di incremento ++ o decremento -- fanno aumentare o diminuire di un'unità il valore dell'operando (che deve essere di un qualunque tipo base). Es. a++; equivale a a= a+1; L'operatore può seguire (postfisso) l operando es. a++ o precedere (prefisso) l'operando es. ++a Nel caso di operando prefisso l'incremento (o il decremento) viene eseguito prima che la variabile sia utilizzata in una eventuale espressione in cui compare. Nel caso di operando (postfisso) avviene il contrario (prima viene usata la variabile nell epressione e poi viene eseguito l incremento o il decremento). Es: int a, b, c=5 ; a = c++; b = ++c; alla fine di queste operazioni si trovano, nella variabili a, b e c, rispettivamente i valori 5, 7 e 7. Gli operatori di incremento (o decremento) consentono di ridurre il numero di istruzioni. 11
12 Esercizio Determinare il valore assunto da c2 immaginando di effettuate le seguenti assegnazioni (si assuma che tutte le variabili siano state precedentemente dichiarate di tipo int): a=.; c1=.; c=.; c2 = (a-30+c1*(c++)/-(c)); Determinare il valore assunto da c2 immaginando effettuaee le seguenti assegnazioni (si assuma che tutte le variabili siano state precedentemente dichiarate di tipo int): a=.; b= ;c1=.; c2=.;c=.; c2 = (a-30+c1*(c2+b))/(c1*5); 12
13 Conversioni di tipo implicite Nelle assegnazioni, il tipo dell operando di destra viene sempre trasformato implicitamente nel tipo dell operando di sinistra, in genere se se la conversione implica perdita di dati (loss of data ) es trasformando un tipo più complesso in un tipo più semplice ) viene generato un messaggio warning in fase di compilazione. 13
14 Conversioni di tipo esplicite Quando si vuole ottenere una conversione di tipo che non verrebbe eseguita implicitamente, bisogna usare l'operatore binario di casting (o conversione esplicita), che consiste nell'indicazione del nuovo tipo fra parentesi davanti al nome della variabile da trasformare. Es. se la variabile n é di tipo int, l'espressione (float)n trasforma il contenuto di n da int in float. 14
15 #include <iostream> using namespace std; int main(){ cout << "Inizio" <<endl; int a=0,b=0; float q=0; /* Definisco una variabile di tipo float */ cout<<"\ndammi il primo numero: "; cin>>a; cout<<"\ndammi il secondo numero: "; cin>>b; q=(float) a/b; cout<<a<<": "<<b<<" = "<<q<<"\n"; return 0;} Visto che è richiesto di calcolare un quoziente (si prevede di ottenere come risultato un reale) dichiareremo la variabile q di tipo float. float q=0; Dato che entrambi gli operandi sono interi non basta scrivere q=a/b; in quanto essendo gli operandi dello stesso tipo (int) anche il risultato sarà un intero! Per ottenere il risultato corretto è necessario fare un casting (conversione di tipo esplicita) ovvero convertire esplicitamente a float almeno uno dei due operandi (in questo caso a), quindi scriviamo: q=(float) a/b; 15
16 Istruzioni di controllo Si chiamano istruzioni di controllo quelle istruzioni che modificano l'esecuzione sequenziale di un programma. 16
17 Istruzione di controllo if if (condizione) istruzione; ( condizione é un'espressione logica) Se la condizione é true il programma esegue l'istruzione, altrimenti passa direttamente all'istruzione successiva Se le istruzioni da eseguire in base alla condizione sono più di una si raggruppano le istruzioni fra parentesi graffe: if (condizione) {... blocco di istruzioni... }; 17
18 Istruzione di controllo if..else Nel caso di due scelte alternative, all'istruzione if si può associare l'istruzione else : if (condizione) istruzionea; else istruzioneb; se la condizione é true il programma esegue l'istruzionea, altrimenti esegue l'istruzioneb Se le istruzioni da eseguire in base alla condizione sono più di una si raggruppano le istruzioni fra parentesi graffe: if (condizione) {... blocco di istruzioni... } e analogamente: else {... blocco di istruzioni... }. 18
19 #include <iostream> using namespace std; int main(){ int num; cout << "Dammi un numero: "; cin >> num; if ( num > 100 num < -100) cout << Numero fuori range!\n"; if ( num % 2 ) cout << num << " e' dispari\n"; else cout << num << " e' pari\n"; if ( num < 0 ) {cout << num << " sara' cambiato di segno\n"; num = -num; cout << "Numero risultante: " << num << "\n"; } else cout << num << " e' positivo\n"; cout << "\n\n\n\n"; return 0;} Istruzione di controllo if esempio 19
20 #include <iostream> using namespace std; int main(){ int num; cout << "Dammi un numero: "; cin >> num; if ( num > 100 num < -100) cout << Numero fuori range!\n"; if ( num % 2 ) cout << num << " e' dispari\n"; else cout << num << " e' pari\n"; if ( num < 0 ) {cout << num << " sara' cambiato di segno\n"; num = -num; cout << "Numero risultante: " << num << "\n"; } else cout << num << " e' positivo\n"; cout << "\n\n\n\n"; return 0;} Istruzione di controllo if esempio 20
21 Istruzione di controllo if..annidate Se l'istruzione controllata da un if consiste a sua volta in un altro if (sono possibili più istruzioni if annidate), ogni eventuale else si riferisce sempre all'if immediatamente superiore (in assenza di parentesi graffe). Comuque per essere sicuri di ottenere quello che si vuole, conviene sempre mettere le parentesi graffe, anche se sono ridondanti. Es. if (cond1) { if (cond2) istr2a; else istr2b ;}; else istr1b 21
22 #include <iostream> using namespace std; int main(){ int a=1; /* variabile if nidificato*/ cout<<"inserire a"; cin>>a; if (a>10) {cout<<a<<" maggiore di 10\n";} else if (a<0) {cout<<a<<" negativo\n";} else cout<<a<<" non mi interessa\n"; cout<<a<<" inserimeto effettuato\n"; return 0;}
23 #include <iostream> using namespace std; int main(){ int a=1; /* variabile if nidificato*/ cout<<"inserire a"; cin>>a; if (a>10) {cout<<a<<" maggiore di 10\n";} else if (a<0) {cout<<a<<" negativo\n";} else cout<<a<<" non mi interessa\n"; cout<<a<<" inserimeto effettuato\n"; return 0;}
24 Istruzione di controllo while while (condizione) istruzione; ( condizione é un'espressione logica) Il programma esegue ripetutamente l istruzione finchè la condizione é true e passa all'istruzione successiva appena la condizione diventa false. Se le istruzioni da eseguire in base alla condizione sono più di una, bisogna raggruppare le istruzioni fra parentesi graffe while (condizione) {... blocco di istruzioni... } Ovviamente, affinché il loop (ciclo) non si ripeta all'infinito, tra le istruzioni una deve modificare qualche parametro della condizione. La condizione viene verificata all'inizio di ogni iterazione del ciclo: é pertanto possibile, se la condizione é già inizialmente false, che il ciclo non venga eseguito neppure una volta. NSi noti che è ammessa anche la forma: while (condizione) ; //loop infinito!!! 24
25 Istruzione di controllo while #include <iostream> using namespace std; int main(){ int c1; cout<<"inserire C1>10 \n"; cin>>c1; while (c1<=10) { cout<<"valore di C1 non valido\n"; cout<<"inserire il valore di C1>10 \n"; cin>>c1; }; cout<<"il valore di C1 e' "<<c1<<"\n"; return 0;} 25
26 Istruzione di controllo while #include <iostream> using namespace std; int main(){ int c1; cout<<"inserire C1>10 \n"; cin>>c1; while (c1<=10) { cout<<"valore di C1 non valido\n"; cout<<"inserire il valore di C1>10 \n"; cin>>c1; }; cout<<"il valore di C1 e' "<<c1<<"\n"; return 0;} 26
27 Istruzione di controllo do..while do {... blocco di istruzioni... } while ( condizione ) ; (condizione é un'espressione logica) funziona come l'istruzione while, con la differenza che la condizione é verificata alla fine di ogni iterazione e pertanto il ciclo é sempre eseguito almeno una volta. Se la condizione é true il programma torna all'inizio del ciclo ed esegue una nuova iterazione, se é false, passa all'istruzione successiva. Le parentesi graffe sono obbligatorie, anche se il blocco è costituito da una sola istruzione. 27
28 Iterazione do while #include <iostream> using namespace std; int main(){ int c1; do { cout<<"inserire il valore di C1>10 \n"; cin>>c1; } while (c1<=10); cout<<"valore di C1= "<<c1; return 0;}
29 Iterazione do while #include <iostream> using namespace std; int main(){ int c1; do { cout<<"inserire il valore di C1>10 \n"; cin>>c1; } while (c1<=10); cout<<"valore di C1= "<<c1; return 0;}
30 Istruzione di controllo for for (inizializzazione; condizione; modifica) istruzione; inizializzazione é un'espressione eseguita solo la prima volta, condizione é un'espressione logica, modifica é un'espressione eseguita alla fine di ogni iterazione) il programma esegue ripetutamente l'istruzione finchè la condizione é true e passa all'istruzione successiva appena la condizione diventa false. Se le istruzioni da eseguire in base alla condizione sono più di una, bisogna creare un ambito, cioè raggruppare le istruzioni fra parentesi graffe: for (inizializzazione; condizione; modifica) {... blocco di istruzioni... } L'istruzione for é simile all'istruzione while, con le differenze che in while l'inizializzazione é impostata precedentemente e la modifica é eseguita all'interno del blocco di istruzioni del ciclo. Come in while, anche in for la condizione viene verificata all'inizio di ogni iterazione. 30
31 Istruzione di controllo for for (inizializzazione; condizione; modifica) {... blocco di istruzioni... } #include <iostream> using namespace std; int main(){ {int x; for(x=1; x<=100; x++) cout<<x<<" "; return 0;} } 31
32 Istruzione di controllo for for (inizializzazione; condizione; modifica) {... blocco di istruzioni... } #include <iostream> using namespace std; int main(){ {int x; for(x=1; x<=100; x++) cout<<x<<" "; return 0;} } 32
33 Istruzione di controllo continue e break Le istruzioni continue e break sono utilizzate all'interno di un blocco di istruzioni controllate da while, do... while o for. L'istruzione continue interrompe l'iterazione corrente del ciclo: il programma riprende dall'inizio dell'iterazione successiva, previa esecuzione della modifica (nei cicli for) e verifica della condizione (in tutti i tipi di cicli). L'istruzione break interrompe completamente un ciclo: il programma riprende dalla prima istruzione successiva a quelle del ciclo. Nel caso di più cicli innestati, le istruzioni continue e break hanno effetto esclusivamente sul ciclo a cui appartengono e non su quelli più esterni. 33
34 Istruzione di controllo switch switch( espressione ) { [case costante1 : [ blocco di istruzioni 1]] [case costante2 : [ blocco di istruzioni 2]]... [default : [blocco di istruzioni]] } L'istruzione switch confronta il valore dell'espressione (che deve restituire un risultato intero) con le diverse costanti (dello stesso tipo dell'espressione) e, appena ne trova una uguale, esegue tutte le istruzioni da quel punto in poi (anche se le istruzioni relative allo stesso case sono più d'una, non è necessario inserirle fra parentesi graffe). Se nessuna costante é uguale al valore dell'espressione, esegue, se esistono, le istruzioni dopo default: Normalmente ciascun blocco case termina con l'istruzione break (per ottenere che le istruzioni selezionate siano eseguite in alternativa alle altre) 34
35 return 0;} Istruzione di controllo switch #include <iostream> using namespace std; int main(){ int scelta=1; /* variabile switch */ while(scelta!=0) {cout<<"\n Scegli un intero<3 e 0 per terminare:\n\n"; cin>>scelta; switch(scelta) { case 1: {cout<<"1";cout<<"1";break;} case 2: {cout<<"2";cout<<"2";break;} case 0: {cout<<"fine";break;} default: {cout<<"errore";break;} } ; };
36 return 0;} Istruzione di controllo switch #include <iostream> using namespace std; int main(){ int scelta=1; /* variabile switch */ while(scelta!=0) {cout<<"\n Scegli un intero<3 e 0 per terminare:\n\n"; cin>>scelta; switch(scelta) { case 1: {cout<<"1";cout<<"1";break;} case 2: {cout<<"2";cout<<"2";break;} case 0: {cout<<"fine";break;} default: {cout<<"errore";break;} } ; };
37 Istruzione di controllo switch #include <iostream> using namespace std; int main(){ {char lettera; const char voca ='A'; short vocali=0, consonanti=0; for (lettera='a'; lettera<='z'; lettera++) switch (lettera) {case voca :case 'E' :case 'I' :case 'O' :case 'U' :vocali++;break; default:consonanti++;} cout << "Vocali: " << vocali << " Consonanti: " << consonanti << "\n\n\n\n\n" ; return 0;} } 37
38 Istruzione di controllo switch #include <iostream> using namespace std; int main(){ {char lettera; const char voca ='A'; short vocali=0, consonanti=0; for (lettera='a'; lettera<='z'; lettera++) switch (lettera) {case voca :case 'E' :case 'I' :case 'O' :case 'U' :vocali++;break; default:consonanti++;} cout << "Vocali: " << vocali << " Consonanti: " << consonanti << "\n\n\n\n\n" ; return 0;} } 38
39 Esercizio 1 Dato un numero n inserito da tastiera, stampare a video, il numero precedente ed il numero successivo ad n. Esempio: Numero inserito da tastiera 7, numeri da visualizzare 6 e 8 16/04/
40 Esercizio 2 Inizializzare da input due variabili a e b, scambiare il contenuto delle stesse e visualizzare a video i valori finali delle due variabili. Esempio: Immettere da tastiera a=10 b=5 alla fine dell esecuzione del programma si deve avere a=5 b=10. 16/04/
41 Esercizio 3 Inserire da tastiera il prezzo di un dato prodotto e la percentuale di sconto da applicare. Visualizzare il prezzo scontato. Es. Prezzo 100, percentuale 10, prezzo scontato da visualizzare /04/
42 Esercizio 4 Dati due numeri a e b inseriti da tastiera, visualizzare il risultato della loro divisione. Attenzione: se il divisore è 0 visualizzare un messaggio a video altrimenti calcolare la divisione. 16/04/
43 Esercizio 5 Scriver un programma che dopo aver letto un intero positivo n (<5) da tastiera legge n numeri inseriti da tastiera e stampa la loro media. versione1 : programma che non utilizza le istruzioni cicliche versione2 : programma che utilizza for versione3 : programma che utilizza while versione4 : programma che utilizza do..while 16/04/
Qualsiasi 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
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
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliFondamenti di programmazione parte 2. Elementi di informatica IGLP
Fondamenti di programmazione parte 2 Elementi di informatica IGLP Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori e professori del Dipartimento di Informatica e Sistemistica dell
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
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
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
DettagliIl C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli
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
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
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
DettagliNel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni
INTRODUZIONE A C++ Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice, cioè più istruzioni Istruzione - Esempi Significato int a; float f; double d; char c; int x=0; variabile =
DettagliC espressioni condizionali
C espressioni condizionali Esiste un particolare operatore, detto operatore condizionale, che rappresenta un istruzione if else. estremamente compattata?: Supponiamo di voler inserire nella variabile intera
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
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
DettagliFondamenti di Programmazione. Strutture di controllo
Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
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
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
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
DettagliIndice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2
Le espressioni in C++ (CAP 4) Indice Le espressioni in C++ : precedenze e associatività degli operatori Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 gli operatori
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
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
DettagliUniversità degli Studi di Milano
Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 5 Controllo del flusso del programma FABIO SCOTTI Indice 1. CONCETTO DI BLOCCO IN C...3 2. DUE
DettagliLe istruzioni cicliche o iterative: for e while
Le istruzioni cicliche o iterative: for e while Ciclo o iterazione: un gruppo di istruzioni che può essere ripetuto più volte. Supponiamo di avere a disposizione 10 raggi e di voler calcolare 10 circonferenze.
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
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
DettagliI cicli. Iterazioni Calcolo della media Istruzioni break e continue
I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione
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
DettagliIl C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:
Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliC istruzione di assegnazione
C istruzione di assegnazione Forma ntattica della istruzione di assegnazione: variabile = espresone l-value r-value In esecuzione il computer valuta l espresone ed il suo valore è assegnato alla variabile
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
DettagliIstruzioni di Controllo in C. Emilio Di Giacomo
Istruzioni di Controllo in C Emilio Di Giacomo Limite delle istruzioni viste L insieme delle istruzioni che abbiamo visto fino ad ora consiste per lo più di: dichiarazioni e assegnazioni di variabili espressioni
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
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using
DettagliStrutture di Controllo Iterative: Istruzione FOR
Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione del
DettagliIstruzioni di Controllo
Istruzioni di Controllo Programmazione strutturata Ricordiamo i concetti chiave: concatenazione o composizione BLOCCO istruzione condizionale SELEZIONE ramifica il flusso di controllo in base al valore
DettagliStrutture di Controllo Condizionali e Operatori Logici e Relazionali
Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
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)
DettagliInformatica 2 modulo C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
Dettagliif else Fondamenti di Informatica (Modulo B) !""#$ % ( #if else ) " *+ #switch if (Condizione) Istruzione
#$ % '' # ( #if else ) *+ #switch 50 if else * if * # if (Condizione) Istruzione Condizione bool Istruzione ( Condizione true + Istruzione ( Condizione false + Istruzione +, -+.// x.//# if (x == 100) if
DettagliLaboratorio di informatica Ingegneria meccanica
C: costanti introdotte con #define Laboratorio di informatica Ingegneria meccanica Lezione 4 22 ottobre 2007 Forma: #define nome valore Effetto: ogni occorrenza successiva di nome sarà rimpiazzata con
Dettaglidel Linguaggio C Istruzioni di iterazione
Istruzioni i Iterative ti del Linguaggio C Istruzioni di iterazione Le istruzioni di iterazione forniscono strutture di controllo che esprimono la necessità di ripetere una certa istruzione durante il
DettagliLinguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi
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
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 7: Istruzioni ed Operatori Booleani Vittorio Scarano Corso di Laurea in Informatica Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo Operatori relazionali
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
Dettagli20/10/2014 M. Nappi/FIL 1
FIL Lezione 4: Istruzioni Iterative. Michele Nappi mnappi@unisa.it biplab.unisa.it 20/10/2014 M. Nappi/FIL 1 La struttura di Iterazione while Struttura tt di iterazione i Il programmatore specifica un
DettagliAssegnazione di una variabile
Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliChar e bool. 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
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 3 Istruzioni Iterative (Cicli) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
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
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 / 34 Ringraziamenti prof. Mirko Viroli, Università
DettagliStruttura di un programma C++
Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout
DettagliIl primo programma C++
Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
DettagliIL COSTRUTTO ITERAZIONE 2
IL COSTRUTTO ITERAZIONE 2 Il costrutto iterativo e la potenza di calcolo Il costrutto iterativo (detto anche ciclo) viene utilizzato quando un istruzione (o un gruppo di istruzioni) deve essere eseguita
DettagliJava SE 7. Strutture di programmazione (2)
Java SE 7 Strutture di programmazione (2) diegozabot@yahoo.it ursula.castaldo@gmail.com Casting (1) E' l'operazione che realizza la conversione di tipo tra oggetti e tra tipi primitivi. E' un'operazione
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
DettagliStrutture di Controllo Iterative: Istruzione FOR
Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative n Anche dette cicli n Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo) n Ad ogni iterazione del
DettagliIstruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso
Istruzioni 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
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)
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
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
DettagliUniversità di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando
Università di Roma Tor Vergata L6-1 iterazione: struttura di controllo per ripetere più volte uno stesso comando comandi iterativi C++: while, do-while, for while: sintassi while (espressione) comando;
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 2: Elementi lessicali, casting e while Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Soluzione agli esercizi
Dettagli2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2)
- Linguaggio C - Espressioni e operatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliUn esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
DettagliSwitch. Unità 3. 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
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
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
DettagliEspressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test
Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo
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
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere
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
DettagliLaboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)
Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione
DettagliSTRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliIL COSTRUTTO ITERAZIONE
IL COSTRUTTO ITERAZIONE Ragioniamo su questo esercizio Dati tre numeri farne la somma Modifichiamo il programma perché permetta di fare la somma di 1000 numeri. Il costrutto iterazione Il costrutto iterativo
DettagliStrutture di Controllo Condizionali e Operatori Logici e Relazionali
Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo n Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare
DettagliStrutture di Controllo
Strutture di Controllo Fondamenti di Informatica Effettuare una scelta in un programma Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c",
DettagliFondamenti di Informatica T-1. Selezione
Selezione 2 Selezione Permette di differenziare il flusso di controllo a seconda che sia verificata o meno una condizione. Il flusso di controllo si ramifica in due (o più) sequenze di istruzioni alternative.
DettagliIntroduzione alla programmazione in C(++)
Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie
DettagliEsempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!
Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino
DettagliProf. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI
Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Operatore? Tipo di dato: struct La ricorsione Funzioni ricorsive Esercizi proposti 26/04/2012 2 Operatore? L'operatore? può essere
DettagliManualistica 3 Le strutture di controllo
Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di
DettagliIndice. costrutti decisionali I cicli
Sintassi II Parte Indice Durante l'esecuzione di un codice, un programma può ripetere segmenti di codice, o di prendere decisioni e biforcarsi. A tal fine, il C fornisce istruzioni per il controllo di
DettagliUniversità degli Studi di Milano
Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 3 Input/Output elementare. Operatori, espressioni e istruzioni FABIO SCOTTI Laboratorio di programmazione
DettagliLinguaggi di Programmazione I Lezione 9
Linguaggi di Programmazione I Lezione 9 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 6 maggio 28 Variabili 3 Ambiti................................................................
DettagliPrimi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione
Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Il Linguaggio C++ IDE Introduzione alla sintassi Istruzioni di scrittura e lettura Identificatori Tipi di dato predefiniti Dichiarazione
Dettagli