La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

I Dati. i tipi di dati possono essere classificati in: tipi semplici o elementari tipi strutturati al cui interno vi è unaggregazione di dati; ogni linguaggio.

Presentazioni simili


Presentazione sul tema: "I Dati. i tipi di dati possono essere classificati in: tipi semplici o elementari tipi strutturati al cui interno vi è unaggregazione di dati; ogni linguaggio."— Transcript della presentazione:

1 I Dati. i tipi di dati possono essere classificati in: tipi semplici o elementari tipi strutturati al cui interno vi è unaggregazione di dati; ogni linguaggio di programmazione mette a disposizione un set di tipi di dati le cui proprietà e struttura sono definite da esso: essi prendono il nome di tipi di dati predefiniti, ma lascia anche lopportunità al programmatore di definirne altri che prendono il nome di dati definiti dallutente

2 Il tipo intero Rappresenta un sottoinsieme dellinsieme Z dei numeri relativi la cui estensione è determinata dal numero dei bit (N) che il linguaggio mette a disposizione per rappresentarlo secondo la regola -2N-1, +2N-1 con un bit riservato al segno. Qualora il risultato di unoperazione esce fuori da questo intervallo si genera un errore di overflow o underflow. Un altro errore che si può verificare è la divisione by 0. questi errori che si possono verificare durante lesecuzione di un programma vengono segnalati come errori di run-time.

3 Il tipo intero Le operazioni che si possono eseguire su questi dati sono le quattro operazioni algebriche la cui divisione deve dare risultato intero (10/4=2) con laccorgimento di evitare una divisione per 0. Essi permettono anche laritmetica modulare che rappresenta il resto delle divisione intera. Le operazioni di confronto sono comuni a tutti i tipi di dati il cui dominio è totalmente ordinato e sono >, >=, <,<=, = e != che indica il diverso o not=. Il risultato delle operazioni di confronto è un valore vero o falso.

4 Il tipo reale Il tipo reale è rappresentato in virgola mobile dove una serie di bit sono destinati alla mantissa che rappresenta le cifre che compongono il numero e una parte destinata allesponente che determina la posizione della virgola se N sono i bit destinati alla mantissa e M quelli per lesponente il loro range sarà -2N-1*10 -exp, +2N-1*10 –exp dove exp vale 2M-1. Con i dati di tipo reale si possono effettuare tutte le operazioni degli interi tranne la divisione intera che diventa decimale e il modulo. Ma si allarga ad esso tutte le operazioni di potenza, esponente, e si definiscono tutte le funzioni matematiche che hanno per dominio e condominio i valori reali. Anche in questo insieme sono definite le operazioni di confronto e gli errori di run-time degli interi.

5 Il tipo carattere Rappresentano tutti i caratteri disponibili nel computer. Su di essi si possono effettuare le operazioni di confronto, essendo un insieme totalmente ordinato. Ma quale valore essi assumono? Assumono tutti i valori definiti nel codice ASCII, il quale ad ogni carattere fa corrispondere un valore numerico Per distinguere il carattere 1 dal numero 1 i caratteri vano racchiusi tra apici cosi 1 è il carattere che è diverso dal valore intero o numerico 1. Del resto con il simbolo a si intende una variabile che può contiene la lettera a. Va anche sottolineato che a è diversa daA, infatti il loro codice differisce di un valore di 32 (97 la prima, 65 la seconda ).

6 Il tipo booleano Le variabili booleane possono assumere due soli valori costanti: vero o falso; questi tipi di dati sono importanti nella definizione delle condizioni e dei risultati dei confronti. Le operazioni che si possono effettuare sono lor, land e il not: loperatore not nega il valore di verità delloperando su cui agisce. Loperatore or richiede due operandi e dà come risultato vero se almeno una dei due operandi è vero Loperatore and richiede due operandi e dà come risultato vero se entrambi gli operandi sono veri.

7 Le istruzioni La sequenza La selezione Literazione

8 La sequenza Lettura cin>>a; Scrittura cout<

9 La selezione Binaria Permette di modificare il flusso dellalgoritmo tra due possibili vie: Una relativa al verificarsi della condizione testata e laltra al caso falso Multipla Permette di modificare il flusso dellalgoritmo tra diverse possibili alternative ognuna relativa ad un valore dellespressione che si valuta:

10 La selezione Binaria if (condizione) { blocco_istruzione_caso_vero } else { blocco_istruzione_caso_falso }

11 La selezione Binaria La condizione è unespressione booleana a==b a!=b a>b && a

12 La selezione Binaria Il ramo della condizione falsa (caso else) è opzionale E può avere la seguente sintassi if (condizione) { blocco_istruzione_caso_vero }

13 La selezione Binaria il blocco istruzione contiene istruzioni in sequenza e può contenere al suo interno unaltra istruzione di selezione: Infatti il blocco di selezione è considerato ununica istruzione if (condizione) { { blocco_istruzione_caso_vero } else { blocco_istruzione_caso_falso } } else { blocco_istruzione_caso_falso }

14 La selezione multipla Permette di modificare il flusso dellalgoritmo tra diverse possibili alternative ognuna relativa ad un valore dellespressione che si valuta:

15 La selezione multipla Ha la seguente sintassi: Switch (espressione){ Case 1:{ blocco_istruzione_caso_1 } break; Case 2:{ blocco_istruzione_caso_2 } break ; Case 3:{ blocco_istruzione_caso_3 } break; Default { blocco_istruzione }

16 La selezione multipla Come si nota a differenza della selezione binaria non si valuta una condizione, ma unespressione che può assumere diversi valori di tipo numerico, carattere o di valori costanti Il caso default è opzionale

17 Literazione Con controllo in testa while Con controllo in coda do.. while Con contatore for

18 Literazione while La sintassi è la seguente: while (condizione) { blocco istruzione } Il blocco di istruzione viene ripetuto fino a quando la condizione risulta vera Quante volte viene ripetuto il ciclo?

19 Literazione while Quante volte viene ripetuto il ciclo? Questo dipende da come viene espressa la condizione e la modalità di modificarne il valore di verità Vi sono dei cicli che non vengono mai eseguiti nel caso la condizione risulta falsa al primo test Esempio Int a=0 While (a<0) { cout <

20 Literazione while Quante volte viene ripetuto il ciclo? Vi sono dei cicli che non terminano mai nel caso la condizione risulta sempre vera Esempio Int a=0; While (a==0) { cout <

21 Literazione while Quante volte viene ripetuto il ciclo? Vi sono dei cicli di cui possiamo dire quante volte vengono eseguiti nel caso la condizione ha un valore iniziale e un valore finale Esempio Int a=0; While (a<10) { cout <

22 Literazione while Quante volte viene ripetuto il ciclo? Vi sono dei cicli che non possiamo prevedere quante volte vengono eseguiti nel caso la condizione diventa falsa al verificarsi di un certo evento che non possiamo prevedere Esempio while(!kbhit()); Int,n,a=0; While (a<100) { cin>>n; a=a+n; } cout<

23 Literazione do… while Viene definito con controllo in coda perché prima esegue il blocco di istruzione e poi valuta se lo deve ripetere: La sintassi è la seguente: do { blocco _struzione } while (condizione); Il blocco di istruzione viene ripetuto fino a quando la condizione risulta vera Quante volte viene ripetuto il ciclo? la risposta è almeno una volta Il numero preciso dipende da come viene posta la condizione secondo i criteri visti per il While Con il do…while non si può implementare il caso che il ciclo non venga mai eseguito.

24 Literazione In realtà si può affermare che ogni ciclo while si può tradurre in un ciclo do..while e viceversa, con opportuni accorgimenti Vediamo alcuni esempi:

25 Literazione Int a=0; While (a<10) { cout <

26 Literazione: un uso particolare costruire menù di scelta: bool continua = true; int scelta; int main(){ do{ cout<>scelta; switch(scelta){ case 1: cout<

27 Literazione for Detto anche ciclo con contatore Si utilizza quando è noto il numero delle volte che si vuole eseguire il ciclo La sintassi è la seguente: for (contatore = valore_iniziale; condizione_di_uscita; incermento/decremento ) { blocco istruzione }

28 Literazione for Contatore = valore_iniziale Vuol dire che devo attribuire alla variabile che funge da contatore del ciclo un valore iniziale Es cont=0; cont=1; cont=1000; cont=-30;

29 Literazione for Condizione di uscita Esprime la condizione di uscita del ciclo, cioè il valore finale che deve assumere la variabile contatore Es cont<100; cont<=100; cont>0; cont>=1; cont>= -10; cont <-100:

30 Literazione for Incremento/decremento Indica ad ogni ciclo di quanto (il passo) la variabile contatore deve essere incrementata o decrementata. Di solito il passo è unitario E si incrementa quando il valore iniziale della variabile contatore è minore del valore finale, altrimenti si decrementa Esempi for(cont=0; cont<100; cont++) //cont è di tipo int { } for(cont=10; cont>0; cont--) { } for(cont=0; cont<100; cont+=2) { } for(cont=0; cont<100; cont+=0.20) // cont è di tipo float { }

31 Literazione for Il ciclo for può essere tradotto nel while e viceversa? La risposta è si Vediamo alcuni esempi Int a=10; while (a>0) { cout <0; a--) cout<

32 Literazione for Il ciclo for può essere tradotto nel while e viceversa? La risposta è si Vediamo alcuni esempi char c=a; while (c<=z) { cout <

33 Literazione for Anche questo costrutto si può nidificare vediamo il codice che calcola e stampa a video la tavola pitagorica for (i=1;i<=10;i++){ for (j=1;J<=10;j++) cout<

34 Esercizio Scrivere un programma C++ che permette di scegliere una delle seguenti funzionalità 1.Visualizzare i primi n numeri 2.Visualizzare i primi n numeri pari 3.Visualizzare i primi n numeri dispari 4.Visualizzare i primi n numeri primi 5.Visualizzare i primi n numeri della serie di Fibonacci 6.Dato in input n calcolare n! 7.Dato in input n stampare le prime n righe del triangolo di Tartaglia Il compito deve essere consegnato non oltre la prima ora di lunedì 7 maggio Indicazioni e suggerimenti per lo svolgimento Nelle pagine successive

35 Indicazioni Il programma deve essere realizzato con luso di: Selezione multipla e deve contenere un ciclo continuo fino a quando lutente decide di uscire dal programma Ogni caso di scelta deve essere realizzato con un sottoprogramma Ogni caso deve essere realizzato con il ciclo for

36 Suggerimenti Serie di Fibonacci …… n! è il fattoriale di n esso assume i seguenti valori se n=0 fatt(n)=1 Altrimenti fatt(n(= n*n-1*n-2* *2*1 cioè è il prodotto dei numeri da 1 a n Triangolo di Tartaglia Ogni elemento è dato da j!/(k!*(j-k)! Con J che va da 0 a n dove n è il numero delle righe e k va da 0 a j


Scaricare ppt "I Dati. i tipi di dati possono essere classificati in: tipi semplici o elementari tipi strutturati al cui interno vi è unaggregazione di dati; ogni linguaggio."

Presentazioni simili


Annunci Google