La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione al linguaggio C++ Prof. Giuseppe Di Capua.

Presentazioni simili


Presentazione sul tema: "Introduzione al linguaggio C++ Prof. Giuseppe Di Capua."— Transcript della presentazione:

1 Introduzione al linguaggio C++ Prof. Giuseppe Di Capua

2 Il linguaggio C ++: STRUTTURA DI UN PROGRAMMA Un programma in C++ è formato da una sezione di librerie, da una parte di Dichiarazioni Globali, da una parte denominata main ( programma principale) e da una seria di funzioni. Si può così schematizzare: 1. ogni funzione è un insieme di dichiarazioni e di istruzioni racchiuse tra due parentesi graffe; 2. la funzione main è sempre presente in un programma e gestisce le chiamate alle altre funzioni; 3. ogni variabile deve essere dichiarata prima dell'utilizzo.

3 Il linguaggio C ++: STRUTTURA DI UN PROGRAMMA La struttura generale di un programma C++ è : Librerie Dichiarazioni Globali main(argomenti) { dichiarazioni locali Funzione1() } Funzione1 (argomenti) { dichiarazioni locali istruzioni }

4 2.SINTASSI 2.1 Alcune regole 1. Tutte le istruzioni, fatte alcune eccezioni che si vedranno in seguito, terminano con il ; (punto e virgola) 2. Le variabili hanno nomi con caratteri maiuscoli o minuscoli (N.B.: Il C++ è CASE SENSITIVE ovvero cè differenza tra carattere maiuscolo e minuscolo nei nomi delle variabili. La variabile Alfa è differente da alfa); 3.Il nome di una variabile non può essere composto da più parole (in tal caso si utilizza il carattere speciale _ chiamato underscore, per unire le parole); 4.Il primo carattere può essere o una lettera o _. Esempio di nomi di variabili corretti: Numero_giorni Datanascita Esempio di nomi di variabili NON corretti: 3Numero Data di nascita

5 2.SINTASSI 2.2 Identificatori Gli identificatori particolari sono caratteri o parole particolari usate nel linguaggio. Esse sono: 1.Le variabili 2.Parole del vocabario del linguaggio (main, if, else, while, for, …) 3. I commenti (sequenze di caratteri racchiuse tra i simboli /* e */ se su più righe o dopo // se su singola riga). Ad esempio /* Questo è un commento di più righe */ //questo è un commento singola riga

6 2.SINTASSI 2.2 Variabili Tutti gli identificatori variabili devono essere dichiarati prima di essere invocati. La dichiarazione avviene indicando: il tipo di dato (cioè la quantità di memoria necessaria per la memorizzazione e le operazioni consentite); il nome attraverso cui utilizzarlo; l inizializzazione (optionale). Esempio: dichiarazioni semplici: int i, j ; char c; float pigraco ; double x; dichiarazioni con inizializzazione int i = 0; char c = b ; double x = 5.789;

7 Le variabili 2.SINTASSI Le variabili rappresentano unarea di memoria. Ogni variabile viene identificata da un nome Si possono distinguere vari tipi di variabili in base alla posizione che occupano nel corpo del programma, ai valori che possono assumere e alle operazioni che supportano: 1. variabili locali o automatiche (dichiarate allinterno di un blocco o funzione, sono creata al momento della chiamata e distrutte al termine dellesecuzione); 2. variabili globali (dichiarate allesterno di tutte le funzioni, sono visibili su tutto il codice);

8 I tipi di dato 2.SINTASSI I tipi di dato presenti in C sono di due specie: 1. tipi semplici (char, int, float, double, void); 2. tipi strutturati (strutture, vettori,union). int: si indica il tipo intero in complemento a due che, a seconda della versione C++ utilizzata, può essere a 16 o a 32 bit; char : è il carattere, rappresentato in genere in ascii. le costamti di tipo char possono essere dichiarate anche in base alla rappresentazione ottale premettendo al valore il carattere "backslash". Ad esempio '\7' rappresenta il bell mentre '\0' il null; double : è un numero rappresentato in virgola mobile; una costante di tipo double è un numero dove compare il carattere, come ad esempio 12.3; tutte le costanti dove compare il punto, o scritte in notazione scientifica ( 1e3 ) sono di tipo double; in genere il compilatore utilizza più spazio per le variabili di tipo double rispetto alle variabili di tipo float, per cui la precisione di calcolo risulta superiore.

9 3. OPERAZIONI Il C++ ha molti operatori e poche parole chiavi. Oltre alle parentesi tonde, che il C++ considera come operatoti, i restanti operatori possono essere divisi nelle categorie principali che sono: 1. operatori aritmetici; 2. operatori relazionali e logici; 3. operatori di assegnamento; 4. operatori di incremento e decremento;

10 3.1 Operazioni aritmetiche binarie 3. OPERAZIONI Gli operatori aritmetici binari sono: + addizione - sottrazione * moltiplicazione / divisione % resto della divisione tra interi Una espressione è una sequenza di costanti,variabili, operatori e chiamate di funzioni che in genere determina un risultato. Esempio: 3;a + b;3 * x; 2 * (a+b);

11 3.2 Operatori relazionali e logici 3. OPERAZIONI Gli operatori relazionali sono utilizzati nelle espressioni e forniscono come risultato un int di valore 0 per falso e 1 per vero. Essi sono: operatori relazionali operatori logici < minore ! negazione > maggiore && and <= minore uguale || or >= maggiore uguale = = uguale != diverso L'unico operatore unario è la negazione (!); tutti gli altri sono binari. Esempi. 9 > 7 ha valore VERO o < 1+3ha valore FALSO o 0 3*2 == 5+1ha valore VERO o 1

12 3. OPERAZIONI 3.3 Assegnazione Con l'assegnazione si assegna ad una variabile un valore (costante, contenuto di variabile o il risultato di un'espressione). Lassegnazione richiede il punto e virgola i = 0; vuole dire porre 0 in i alfa = alfa + 1;significa incrementare di 1 il valore contenuto in alfa Sono possibili assegnazioni multiple come la seguente : a=b=c=d=3; In questo caso le variabili a, b, c e d sono inizializzate tutte con 3. La valutazione delle operazioni da svolgere avviene da destra a sinistra. La prima operazione è l'assegnazione d=3 che produce come risultato 3; tale risultato viene assegnato alla variabile c, producendo nuovamente come risultato 3, che viene assegnato alla variabile b, e così via.

13 3. OPERAZIONI Sono, inoltre, possibili notazioni abbreviate: alfa += 1; equivale aalfa = alfa + 1; var *= i ; equivale avar = var * i ; N.B.: Il C effettua una conversione implicita sul tipo degli operandi :se una variabile è di tipo intero e lespressione produce come risultato un valore reale, viene troncata e portata al reale. Esempio: int num, oper2=10; float oper1; oper1= 3/2; num = oper1* oper2; Num=+=1; 3.3 Assegnazione

14 3. OPERAZIONI 3.4 Operazioni di incremento e di decremento Gli operatori di incremento e decremento ++ e --" sono operatori unari che vengono utilizzati per incrementare o decrementare di 1 unespressione. Essi possono essere applicati sia prima che dopo la variabile da modificare, con effetto diverso. Esempio: ++a; equivale a a = a + 1; --a; equivale a a = a - 1; a++;equivale ax= a++; x = a; a = a + 1; a--;equivale ax= a--; x = a; a = a - 1; In situazioni semplici scrivere a++ o ++a è indifferente. Le cose cambiano quando il risultato di tale operazione è utilizzato all'interno di un'altra espressione. Esempio: int a, b=0, c=0; a = b++ + c++; /* avremo a = 0 b = 1 c = 1 */ a = ++b + ++c; /* avremo a = 2 b = 1 c = 1 */

15 5. OPERAZIONI DI INGRESSO/USCITA Il C++ prevede numerose funzioni per gestire linput/output da tastiera, su video, su file, etc. Le funzioni più comunemente usate, per linput/output, sono cin e cout appartenenti alla libreria standard di I\O e richiamata attraverso la direttiva #include.

16 5. OPERAZIONI DI INGRESSO/USCITA 5.2 LInput La funzione per linput è cin, essa legge i dati digitati da tastiera e li memorizza nella variabile indicata La sintassi di cin è la seguente: cin<

17 5. OPERAZIONI DI INGRESSO/USCITA 5.1 LOutput La sintassi della funzione usata per loutput, cout, è: cout<< variabile o stringa; Esempio: cout<

18 4. ISTRUZIONI Si è già introdotta loperazione di assegnazione, di seguito vengono elencate e poi spiegate atre istruzioni possibili in C++: 1. istruzione composta; 2. istruzione vuota; 3. istruzione condizionale; 4. i cicli;

19 4. ISTRUZIONI Tutte le istruzioni terminano con il carattere punto e virgola ;. L'istruzione composta è una sequenza di istruzioni racchiusa tra due parentesi graffe. 4.1 Istruzione composta Esempio: { a = 1; b = 2; { c = 3; d = 4; } } L'istruzione vuota è rappresentata da un singolo ;. La si utilizza quando la sintassi richiede un'istruzione ma non è richiesta alcuna azione (specie nel ciclo for). 4.2 Istruzione vuota

20 4. ISTRUZIONI 4.3 Istruzione condizionale SELEZIONE a una via 1. Listruzione condizionale if ha la forma : if ( espressione ) { istruzione1; istruzione2; } istruzione3; dove lespressione di condizione tra parentesi permette, se è vera (ovvero contiene un valore diverso da 0), di eseguire le istruzioni tra parentesi graffe, altrimenti si eseguono le istruzioni subito dopo lif (istruzione3). Se le istruzioni da eseguire nel caso di condizione VERA fosse stata solo una non erano necessarie le parentesi graffe.

21 4. ISTRUZIONI 4.3 Istruzione condizionale SELEZIONE BINARIA 2. Listruzione condizionale if – else ha la forma: if ( espressione ) { istruzione1; istruzione2; } else { istruzione3; } dove lespressione di condizione tra parentesi permette, se è vera (ovvero contiene un valore diverso da 0), di eseguire le istruzioni 1 e 2, altrimenti si esegue listruzione3. Se le istruzioni da eseguire nel caso di condizione VERA o FALSA sono solo una non sono necessarie le parentesi graffe.

22 4. ISTRUZIONI 4.3 Istruzione condizionale NIDIFICATA 2. Listruzione condizionale if – else NIDIFICATA ha la forma: if ( condizione1) { if (condizione2) istruzione1; else istruzione2; } else { if (condizione3) istruzione3; else istruzione4; } Le istruzioni condizionali possono essere annidate una nellaltra, o possono essere scritte una dietro laltra. ma questo potrebbe potere a situazioni di ambiguità.

23 4. ISTRUZIONI 4.3 Istruzione condizionale a CASCATA 2. Listruzione condizionale if A CASCATA ha la forma: if ( condizione1) { istruzione1; } if ( condizione2) { istruzione2; } if ( condizione3) { istruzione3; } Le istruzioni condizionali possono essere annidate una nellaltra, o possono essere scritte una dietro laltra. ma questo potrebbe potere a situazioni di ambiguità.

24 4. ISTRUZIONI Unaltra istruzione utilizzata per rendere più eleganti e strutturati i programmi, è quella introdotta dalla parola chiave switch, per la selezione multipla. Con tale istruzione è possibile testare unespressione, che può avere diversi valori di tipo intero o carattere, e per ogni caso individuare una serie di azioni da effettuare. 4.3 Istruzione condizionale SELEZIONE MULTIPLA 3. listruzione condizionale switch ha la forma: switch ( espressione ) { case costante_1 : istruzione_1; break; case costante_2 : istruzione_2 ; break; case... : break; case costante_n : istruzione_n; break; default : istruzioni ; break; }

25 4. ISTRUZIONI 4.3 Istruzione condizionale Esempi: 1. Assegnare a min il valore minore tra a e b. if ( a< = b ) min = a; else min = b; 2. Determinare il maggiore tra tre numeri. if (a > b ) max = a; else max = b; if( max < c ) max=c; \*min = a < b ? a : b ; *\

26 4. ISTRUZIONI 4.3 Istruzione condizionale Esempi: 3. Dati due numeri max e min ordinarli. if( max < min ) { tmp = max; max = min; min = tmp ; }

27 4. ISTRUZIONI Ci sono tre istruzioni di ciclo: 1. istruzione while (controllo in testa); 2. istruzione do- while (controllo in coda); 3. istruzione for (ciclo enumerativo). 4.4 Istruzioni di ciclo 1.Listruzione while permette di ripetere un blocco per tutto il tempo che la condizione, posta tra parentesi, risulta vera. Esempio: int i = 0; while ( i < 20) { cout<

28 4. ISTRUZIONI 4.4 Istruzioni di ciclo 2.Listruzione do-while valuta lespressione di condizione solo dopo avere eseguito il corpo del ciclo. int i = 0; do { cout<< Il valore di i è <

29 4. ISTRUZIONI 4.4 Istruzioni di ciclo do-while int b,h,a; char risp; do { cout<< Inserisci base e altezza rettangolo; cin>>b; cin>>h; a=b*h; cout<>risp; } while( risp ==s); \*Riesegue il programma finchè lutente non risponde N alla domanda*\ Esempio: N.B.: CONTRARIAMENTE ALLA TEORIA SI CICLA PER VERO E SI ESCE DAL CICLO PER FALSO!

30 4. ISTRUZIONI 1.Listruzione for permette di ripeter un blocco per un numero di volte specificato. 4.4 Istruzioni di ciclo Essa ha la forma : for ( valore di inizializzazione;condizione;valore di incremento ) { istruzione; } Questo ciclo è equivalente al seguente: valore di inizializzazione; while (condizione ) { istruzioni; valore di incremento; }

31 4. ISTRUZIONI 4.4 Istruzioni di ciclo Esempi: for (i=0; i<20; i++) cout<

32 6. ESEMPI DI SEMPLICI PROGRAMMI Problema 1: Calcolare l'area di un rettangolo. output: area. Input: base,altezza. limiti: (base>0) && (altezza>0) pseudo codice: Inizio leggi (base, altezza) se ( (base > 0) && (altezza > 0) allora area = base*altezza scrivi (area) altrimenti scrivi (Errore nei dati) fine

33 #include main() { int base, altezza, area; cout<>b>>h; if (base > 0) && (altezza > 0) { area = base * altezza; cout<

34 obiettivo:calcolare l'area dei due quadrati. output: area_inscritta, area_circoscritta. Input:raggio. limiti: (raggio>0). Pseudo codice Inizio leggi (raggio) se(raggio>0) area_circoscritta = 4 * raggio * raggio area_inscritta = 2 * raggio * raggio scrivi (area_circoscritta) scrivi (area_inscritta) altrimenti scrivi ("errore) fine Problema 2: Calcolare l'area del quadrato inscritto e circoscritto in una circonferenza.

35 #include main() { int raggio, area_inscritta, area circoscritta; cout<>raggio; if (raggio>0) { area_circoscritta = 4*raggio*raggio; area_inscritta = 2*raggio*raggio; cout<

36 output: numero di pari, numero di dispari; input: nessuno ; algoritmo: Inizio c=0 mentre c<=100 esegui scrivi (c) c=c+2 finemetre Fine Problema 3: Stampare i numeri pari da 0 a 100.

37 La codifica in C++ dellalgoritmo : #include main() { int c; while(c<=100) { cout<< c<

38 output: numero di pari, numero di dispari; input: Il numero N e gli N numeri algoritmo: leggi il numero n dei numeri; ripeti n vote leggi il prossimo numero; se è pari, aggiorna il numero dei pari; altrimenti aggiorna il numero dei dispari; stampa il risultato. Problema 3: Contare tra N numeri quanti sono i numeri pari e quanti sono I dispari

39 Pseudocodifica Inizio leggi(N) c=1; mentre c<=N esegui leggi (numero) se(numero MODULO 2==0) allora pari = pari+1 altrimenti dispari = dispari +1 finese c=c+1 Finementre Scrivi(pari) Scrivi(dispari) Fine Problema 3: Contare tra N numeri quanti sono i numeri pari e quanti sono I dispari

40 La codifica in C ++dellalgoritmo : #include main() { int n,i, numero, pari=0, dispari=0; cout<<"Inserisci numero dei valori da esaminare: "; cin>>n; for (i=1; i<=n; i++) { cout<<"Inserisci un valore ; cin>>numero; if ( numero % 2 == 0) pari++; else dispari++; } cout<<"Pari = << pari<


Scaricare ppt "Introduzione al linguaggio C++ Prof. Giuseppe Di Capua."

Presentazioni simili


Annunci Google