Lezione III Laboratorio di Programmazione
while e do while do S1; while(E); //S1 e eseguita almeno 1 volta E = vero? SI NO S1 while (E) S1; E = vero? SI NO S1
for e while Init; while (E) { Body; Update; } for (Init;E;Update) Body; E = vero? SI NO Init Body Update
for classico for (int i=0; i<n; i++) S1; Ciclo da 0..n-1 Lincremento del contatore viene incluso nel for int i=0; for (; i<n; ) { S1; i++; } Equivalente a
i++ e ++i int a,i=0; a= i++; Confrontare questi esempiipmese itseuq eratnorfnoC int a,i=0; a= ++i; Risultato in memoria a 0 i 1 a 1 i 1 i++ (operatore DOPO) incrementa la var DOPO la valutazione di i ++i (operatore PRIMA) incrementa la var PRIMA della valutazione di i
Altro sintactic sugar a = a + b ;a += b ; a = a - b ;a -= b ; a = a * b ;a *= b ; a = a / b ;a /= b ;
Parliamo di C++ C C++ C++ object oriented (OO) oggetto istanza di una classe (definizione) classe contiene: metodi (funzioni) + attributi (variabili)
Come funzionano gli oggetti Oggetto A = istanzia (Classe_X) A. Metodo_1; //esegue la funzione Metodo_1 A. Attributo_1 = espressione; //assegnamento di attributo
In realta vi ho imbrogliato Lo standard input CIN e descrittto come una classe in E quindi possibile usarlo in stile OO: char c; c = cin.get ( ) char c; cin >> c; = Metodo per la lettura di un carattere da standard input Operatore speciale della classe (utilizzo infisso)
Un po di pratica… programma di conversione da minuscolo a maiuscolo (modificare contavocali.c usando c >= a && c <= z) lettura numero come stringa di caratteri e conversione in intero