Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012"

Transcript

1 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012

2 Sommario Il Linguaggio C++ IDE Introduzione alla sintassi Istruzioni di scrittura e lettura Identificatori Tipi di dato predefiniti Dichiarazione delle costanti Dichiarazione delle variabili Istruzioni di assegnamento Operatori Aritmetici Esercizi 12/04/2012 2

3 Il Linguaggio C++ Il C++ fu ideato, come estensione del C, dal danese Bjarne Stroustrup presso i laboratori della AT&T nel La prima versione chiamata "C con classi includeva il concetto di classe ( strumento linguistico necessario a creare nuovi tipi di dati astratti per modellare oggetti reali) Linguaggio ibrido ovvero Orientato agli Oggetti ma anche alla programmazione tradizionale Consente la gestione di bit, byte, indirizzi di memoria e di interagire con le risorse hardware della macchina Sintassi semplice, utilizza poche parole riservate Linguaggio strutturato 12/04/2012 3

4 Ambiente di sviluppo C++ Per sviluppare i programmi in C++ si consiglia di scaricare l IDE, ambiente di sviluppo, Code::Blocks dal link Dopo aver completato il dowload del file eseguire il programma di setup.exe; seguire le istruzioni scegliendo il percorso sul quale si desidera installare il pacchetto. 12/04/2012 4

5 Download dell ambiente di sviluppo CodeBlocks Collegarsi all indirizzo: 4/12/2012 5

6 4/12/2012 6

7 4/12/2012 7

8 4/12/2012 8

9 Installazione dell ambiente di sviluppo CodeBlocks Fare doppio click sul file appena scaricato 4/12/2012 9

10 Nel menù a tendina, selezionare l opzione Full 4/12/

11 Selezionare la cartella in cui si vuole installare il programma 4/12/

12 Partirà l installazione 4/12/

13 All avvio del programma installato compare... 4/12/

14 Adesso creiamo il primo programma! 4/12/

15 Cliccare su create new Project 4/12/

16 Selezionare Console Application e premere Go 4/12/

17 In Project title specificare il nome che volete dare al progetto ed in Folder to create project inserite il percorso in cui volete salvare il progetto 4/12/

18 Cliccare su Finish 4/12/

19 Cliccare sul file main.cpp per visualizzare il file 4/12/

20 L ambiente di sviluppo utilizza vari colori che aiutano a distinguere i vari elementi del programma. il blu di indica la stringa (testo) che sarà visualizzata sullo schermo ( Hello World ); il magenta indica i numeri (return 0), il rosso indica le operazioni ed i blocchi (le parentesi), il verde indica le direttive al preprocessore (impareremo presto cosa sono), il blu scuro indica i tipi, il nero indica tutto il resto (soprattutto nomi). 20

21 Per compilare ed eseguire il programma cliccare dove indica la freccia o premere il tasto F9 21

22 22

23 cambiamo la scritta in Benvenuti al Corso C++ e rieseguiamo 23

24 cambiamo la scritta in Benvenuti al Corso C++ e rieseguiamo 24

25 guadiamo il codice 25

26 La prima linea di codice #include <iostream> è una direttiva per il precompilatore C++. Le direttive non sono istruzioni C++ (infatti non terminano con ;) e vanno pre-elaborate prima di iniziare la compilazione vera e propria. che corrisponde alla richiesta di includere <iostream> la libreria delle funzioni predefinite di input/output del C++ (come la funzione cout ( console output ) che permette di inviare dati allo standard output. 26

27 La seconda linea di codice using namespace std; è una istruzione e indica al compilatore di utilizzare il namespace std. Il namespace (lo vedremo meglio in seguito) è un costrutto C++ che permette di localizzare i nomi degli identificatori al fine di evitare conflitti sui nomi di variabili, funzioni e classi. Se avessimo omesso questa istruzione l istruzione di stampa ( cout << Benvenuto "; non funzionerà) avrebbe dato errore! 27

28 Avendo commentato (tramite //) la seconda istruzione //using namespace std; non vengono riconosciuti i nomi cout e endl e il compilatore segnala 2 errori! 28

29 Commenti Esistono due tipi di commento in C++ inline (più semplice e meno ambiguo): // questo e` un commento inline // il resto della linea e trattato come un commento multiline (come in C): /* questo e` un commento multiline: tutto viene trattato come un commento fino a quando il commento stesso non viene chiuso con uno */ 29

30 La rimanente parte di codice rappresenta una funzione principale di nome main(), che deve essere sempre presente in un programma C++, in quanto è da lì parte l esecuzione del programma. 30

31 Formato di una funzione <TipoRitorno> <Ident.Funzione>(<Lista tipo e nome argomenti>) { <corpo della funzione>; } 31

32 Funzione main <TipoRitorno> <Ident.Funzione>(<Lista tipo e nome argomenti>) { <corpo della funzione>; } int main() { } cout << "Hello World!" <<endl; return 0; 32

33 Funzione main <TipoRitorno> <Ident.Funzione>(<Lista tipo e nome argomenti>) { <corpo della funzione>; } int main() { } cout << "Hello World!" <<endl; return 0; 33

34 Funzione main <TipoRitorno> <Ident.Funzione>(<Lista tipo e nome argomenti>) { <corpo della funzione>; Si deve mettere } int main() { ; alla fine di ogni istruzione. } cout << "Hello World!" <<endl; return 0; 34

35 Funzione main <TipoRitorno> <Ident.Funzione>(<Lista tipo e nome argomenti>) { <corpo della funzione>; } int main() { } cout << "Hello World!" <<endl; return 0; 35

36 cout (istruzione di output) <TipoRitorno> <Ident.Funzione>(<Lista tipo e nome argomenti>) { <corpo della funzione>; } int main() { } cout << "Hello World!" <<endl; return 0; 36

37 cout (istruzione di output) <TipoRitorno> <Ident.Funzione>(<Lista tipo e nome argomenti>) { <corpo della funzione>; } int main() { } cout << "Hello World!" <<endl; return 0; 37

38 #include <iostream> using namespace std; #include <iostream.h> int main(void) { cout<<"ciao Ciao!\n"; return (0); } int main() { cout << "Benvenuto al Corso di C++ <<endl; return 0; } 38

39 cout (istruzione di output) L'interfaccia del calcolatore ( console ) è di solito composta tastiera e monitor. La tastiera viene usata come unità standard di input e il monitor come unità standard di output. Nalla libreria standard del C++ (iostream) le operazioni di input ed output di un programma vengono gestite da due flussi ( stream) di dati denominati cin (console di input) per l'input e cout (console di output) per l'output. Un programma interagisce con l utente, mostrando messaggi sullo schermo e ricevendo l'input dalla tastiera, proprio utilizzando il flusso di standard output (cout) (normalmente diretto al monitor) e il flusso di standard input ( cin ) (normalmente proveniente dalla tastiera). Il flusso cout viene usato assieme all'operatore << cout << ciao"; // stampa ciao sullo schermo cout << 120; // stampa il numero 120 sullo schermo cout << x; // stampa il valore della variabile x sullo schermo L'operatore << può essere usato più di una volta nella stessa frase. 12/04/

40 Un programma è una sequenza di istruzioni (algoritmo), scritte in un linguaggio di programmazione #include <iostream.h> int main(void) { cout<<"ciao Ciao!\n"; return (0); } Togliamo <<endl 40

41 Un programma è una sequenza di istruzioni (algoritmo), scritte in un linguaggio di programmazione #include <iostream.h> int main(void) { cout<<"ciao Ciao!\n"; return (0); } 41

42 Un programma è una sequenza di istruzioni (algoritmo), scritte in un linguaggio di programmazione #include <iostream.h> int main(void) { cout<<"ciao Ciao!\n"; return (0); } Reinseriamo <<endl e modifichiamo la stringa aggiungendo \n 42

43 Un programma è una sequenza di istruzioni (algoritmo), scritte in un linguaggio di programmazione #include <iostream.h> int main(void) { cout<<"ciao Ciao!\n"; return (0); } 43

44 #include <iostream> using namespace std; #include <iostream.h> int main(void) { cout<<"ciao Ciao!\n"; return (0); } int main() { cout << "Benvenuto al Corso di C++\n <<endl; return 0; } 44

45 Un programma è una sequenza di istruzioni (algoritmo), scritte in un linguaggio di programmazione Il programma è stato scritto su più righe per renderlo leggibile, ma non è necessario.! #include <iostream.h> int main(void) { cout<<"ciao Ciao!\n"; return (0); } 45

46 Un programma è una sequenza di istruzioni (algoritmo), scritte in un linguaggio di programmazione #include <iostream.h> int main(void) { cout<<"ciao significato. Ciao!\n"; return (0); } Ad esempio, avremmo potuto scrivere tutto nella stessa riga e questo avrebbe avuto esattamente lo stesso La suddivisione del programma in più righe serve a rendere il programma più leggibile alle persone che lo leggono, per il compilatore la cosa non fa alcuna differenza. In C++ la separazione tra istruzioni è indicata dal punto e virgola (;) che termina ciascuna di esse. 46

47 . ma i programmi non servono soltanto a scrivere frasi sullo schermo, per poter fare qualcosa di più interessante dobbiamo introdurre il concetto di variable. Possiamo definire una variabile come il nome simbolico della porzione di memoria in cui andremo a memorizzare il valore di un dato di un certo tipo. Poiché la dimensione di questa porzione di memoria deve essere adeguata al tipo di dato che si vuole memorizzare ( infatti serve una quantità di memoria diversa per registrare un carattere, un numero intero o un float) è necessario dichiarare non solo il nome della variabile ma anche il tipo. Prima di usare una variabile occorre dichiararla ovvero specificare il nome del tipo di dato a cui essa appartiene (es. int, short, float...) seguito dall'identificatore scelto per denotare tale variabile. L identificatore è il nome che distingue ciascuna variabile. In C++ possiamo dichiarare le variabili in ogni punto del programma, ma è preferibile (lo vedremo meglio dopo) soprattutto durante la fase di correzione del programma (debugging), avere le dichiarazioni raggruppate assieme: all'inizio di ogni funzione (variabili locali) o direttamente nel corpo del programma al di fuori di ogni funzione (variabili globali). 47

48 Identificatori Un identificatore è composto da uno o più caratteri Il primo carattere deve essere una lettera o un underscore. Caratteri successivi possono essere lettere, numeri o underscore const int N; double _a; double 2A; // errore! Non c è un limite in lunghezza, anche se alcuni sistemi si limitano a considerare i primi 31 caratteri Gli identificatori che iniziano con un doppio underscore o con un underscore e una lettera maiuscola sono riservati ad usi di sistema C++ e` case sensitive! (ad esempio n N) 48

49 Tipi di dato predefiniti in C++ char int float double bool carattere singolo intero reale in singola precisione reale in doppia precisione variabili logiche 49

50 Tipi di dato predefiniti in C++ char int long float double long double unsigned int unsigned double bool carattere singolo intero in singola precisione intero in doppia precisione reale in singola precisione reale in doppia precisione reale in precisione estesa intero senza segno reale senza segno in doppia precisione variabili logiche Il tipo char, utilizzando i qualificatori signed unsigned può essere utilizzato anche per rappresentare valori numerici compresi nell'intervallo tra -128 e 127 oppure tra 0 e

51 Elementi lessicali in C++ Un programma C++ può utilizzare uno dei seguenti simboli: cifre (0, 1,..9), lettere (a, b,..z,a, B,..Z), simboli speciali: (! % ^ & * ( ) - + = { } ~ [ ] \ ; : < >? #, / ) 51

52 Tipi di dato predefiniti in C++ char int long float double long double unsigned int unsigned double bool carattere singolo intero in singola precisione intero in doppia precisione reale in singola precisione reale in doppia precisione reale in precisione estesa intero senza segno reale senza segno in doppia precisione variabili logiche Al tipo int si possono applicare i qualificatori signed e unsigned per determinare se le rispettive variabili di appartenenza possono assumere o meno valori negativi. 52

53 Al tipo int si applicano anche i qualificatori short e long Essi definiscono la dimensione della memoria occupata dalle rispettive variabili di appartenenza. Il qualificatore short definisce variabili di 16 bit (2 byte) e il qualificatore long definisce variabili di 32 bit (4 byte), mentre il tipo int "puro" definisce variabili di 32 bit (cioè long e int sono equivalenti). Come vedremo, esiste un operatore (sizeof) che permette di conoscere la effettiva occupazione di memoria dei diversi tipi di variabili. L'operatore sizeof(operando) restituisce la lunghezza in byte di identificatori appartenenti a un dato tipo. operando specifica il tipo in esame o un qualunque identificatore dichiarato di quel tipo. Per esempio, sizeof(int) può essere usato per sapere se il tipo int è di 2 o di 4 byte. 53

54 #include <iostream> using namespace std; int main(){ cout << Inizio" <<endl; int a=0; cout<<"size di a "<<sizeof(a)<<"\n"; return 0;} 54

55 #include <iostream> using namespace std; int main(){ cout << Inizio" <<endl; int a=0; cout<<"size di a "<<sizeof(a)<<"\n"; return 0;} 55

56 Tipi di dato predefiniti in C++ char int long float double long double unsigned int unsigned double bool carattere singolo intero in singola precisione intero in doppia precisione reale in singola precisione reale in doppia precisione reale in precisione estesa intero senza segno reale senza segno in doppia precisione variabili logiche Normalmente il tipo int occupa 16 bit ( 2 byte) e può quindi contenere valori compresi tra e Sui sistemi operativi Windows a 32 bit (Windows 95, Windows 98 e Windows NT) il tipo int occupa invece 32 bit 56

57 int a unsigned int 16 da 0 a signed int a short int a unsigned short int 16 da 0 a signed short int a long int a unsigned long int 32 da 0 a signed long int a

58 Tipi di dato predefiniti in C++ char int long float double long double unsigned int unsigned double bool carattere singolo intero in singola precisione intero in doppia precisione reale in singola precisione reale in doppia precisione reale in precisione estesa intero senza segno reale senza segno in doppia precisione variabili logiche 58

59 float 32 (4 byte) -3,4* ,4*10 38, precisione 7 cifre signif. double 64 (8 byte) -1.7* *10 308, precisione 15 cifre long double 80 (10 byte) -1,2* a 1.2* , precisione 19 cifre 59

60 Qualificatori signed e unsigned I qualificatori signed e unsigned si applicano ai tipi "interi" int e char. Essi determinano se le rispettive variabili di appartenenza possono assumere o meno valori negativi. 60

61 12/04/

62 12/04/

63 Tipi di dato predefiniti in C++ char int long float double long double unsigned int unsigned double bool carattere singolo intero in singola precisione intero in doppia precisione reale in singola precisione reale in doppia precisione reale in precisione estesa intero senza segno reale senza segno in doppia precisione variabili logiche Il tipo "booleano" Una variabile "booleana" (cioè dichiarata bool) può assumere solo due valori: true e false. Tuttavia, dal punto di vista dell'occupazione di memoria, il tipo bool è identico al tipo char, cioè occupa un intero byte (anche se in pratica utilizza un solo bit). Nelle espressioni aritmetiche e logiche valori booleani e interi possono essere mescolati. Per definizione true corrisponde al valore 1 e false corrisponde al valore 0; Tutti i valori diversi da zero sono convertiti in true. Esempi: bool a = true; bool b = 7; ( b è inizializzata con true ) 63

64 Keywords Alcuni identificatori, detti keywords o parole chiave, sono esplicitamente riservati al sistema e hanno un preciso significato in C++ keyword asm else operator throw auto enum private true bool explicit protected try break extern public typedef case false register typeid catch float reinterpret_cast typename char for return union class friend short unsigned const goto signed using const_cast if sizeof virtual continue inline static void default int static_cast volatile delete long struct wchar_t do mutable switch while double namespace template dynamic_cast new this 64

65 Keywords Alcuni identificatori, detti keywords o parole chiave, sono esplicitamente riservati al sistema e hanno un preciso significato in C++ Si noti che quando si usa una keyword parola riservata seguita da un asm else operator throw auto enum identificatore private va inserito true almeno un bool explicit protected try blank in quanto diversamente non break extern public typedef case false sarebbe register possibile distinguere typeidi due catch float reinterpret_cast typename elementi. char for return union class friend short unsigned const goto signed using const_cast if sizeof virtual continue inline static void default int static_cast volatile delete long struct wchar_t do mutable switch while double namespace template dynamic_cast new this 65

66 Dichiarazione delle variabili Prima di usare una variabile occorre dichiararla specificando a quale tipo di dato essa appartenga e l identificatore. La sintassi di una dichiarazione di variabile prevede prima il nome del tipo di dato (es. int, short, float...) seguito dall'identificatore scelto per denotare tale variabile. int a; const int i; // la variabile i Una dichiarazione contiene spesso anche l inizializzazione (consiste nell associare un valore alla variabile al momento della dichiarazione) int a=5; const double pi= ; 66 // inizializzazione

67 19-23 febbraio

68 19-23 febbraio

69 Dichiarazione delle variabili Prima di usare una variabile occorre dichiararla specificando a quale tipo di dato essa appartenga. La sintassi di una dichiarazione di variabile prevede prima il nome del tipo di dato (es. int, short, float...) seguito dall'identificatore scelto per denotare tale variabile. int a; int i; Una dichiarazione è spesso anche una definizione. Per variabili semplici questo consiste nell associare un valore alla variabile Per al dichiarare momento della due dichiarazione variabili dello stesso tipo conviene scrivere: int a=5; const double pi= ; int a, i; 69 // definizione

70 const La keyword const viene utilizzata per dichiarare un dato costante Esempi di const const int N=100; N non può essere cambiato 70

71 Tipi predefiniti in C++ (2) Esempi di costanti 75 intero decimale 0113 // ottale 0x4b // esadecimale 123l 123u interi long, unsigned A 1 \t caratteri 3.14f L float, double, long double 300e-2.03e2 30e-1 double, notazione esponenziale 300x x x10-1 Nome stringa true false boolean 71

72 12/04/

73 Tipi predefiniti in C++ (2) Esempi di costanti 75 intero decimale 0113 // ottale 0x4b // esadecimale 123l 123u interi long, unsigned A 1 \t caratteri 3.14f L float, double, long double 300e-2.03e2 30e-1 double, notazione esponenziale Nome stringa true false boolean 73

74 Caratteri speciali I seguenti caratteri speciali (detti anche letterali o costanti senza identificatore ) sono utilizzati per le operazioni di stampa: \b backspace (muove il cursore indietro di una posizione) \f form feed (muove il cursore in avanti di una pagina) \n nuovalinea (va a capo) \r ritorno carrello (ordina al cursore di posizionarsi all'inizio della riga) \t tabulazioni orizzontali \" virgolette(individuazione del carattere ") \' apice (individuazione del carattere ')

75 Caratteri speciali I seguenti caratteri speciali (detti anche letterali o costanti senza identificatore ) sono utilizzati per le operazioni di stampa: \b backspace (muove il cursore indietro di una posizione) \f form feed (muove il cursore in avanti di una pagina) \n nuovalinea (va a capo) \r ritorno carrello (ordina al cursore di posizionarsi all'inizio della riga) \t tabulazioni orizzontali \" virgolette(individuazione del carattere ") \' apice (individuazione del carattere ')..provate ad inserirli nel testo da stampare!

76 Istruzione di assegnamento Per assegnare un valore ad una variabile si utilizza l'operatore di assegnamento "=" Esempio: c1 = 1000; Tramite l'operatore di assegnamento = si assegna a c1 il valore Si noti che è possibile scrivere anche : c1 = ( )+500; cioè si può assegnare anche un'espressione (questa sarà calcolata in fase di precompilazione). 76

77 Conversioni di tipo implicite Nelle assegnazioni, il tipo dell operando di destra viene sempre trasformato implicitamente nel tipo dell operando di sinistra (con un eventuale perdita di dati (loss of data ) se la conversione implica la trasformazione da un tipo più complesso a un tipo più semplice). 77

78 Ad esempio il programma: #include <iostream> using namespace std; int main(){ cout << "Inizio" <<endl; float z='a'; cout<<z<<"\n"; cout<<(z/2.0)<<"\n"; return 0;} produce in output: in quanto assegna a z il valore numerico del carattere ASCII corrispondente ad A. 78

79 cin (istruzione di input) #include <iostream> using namespace std; int main() { int a=0,b=0,c=0; /* Definiamo 3 variabili intere */ cout<<"\ndammi un numero:"; cin>>a; cout<<"\ndammi un numero:"; cin>>b; c=a+b; cout<<"\n Somma= "<<c<<"\n"; return 0; } 79 Istruzione di lettura

80 cin (istruzione di input) In C++ l'input standard si effettua applicando l'operatore di estrazione (>>) al flusso cin. Tale operatore deve essere seguito dalla variabile in cui deve essere memorizzato il valore da leggere. Ad esempio date le istruzioni: int a; /*dichiaro la variabile a di tipo int */ cin >> a; a aspetta da cin (tastiera) un valore intero per poterlo memorizzare al suo interno. Si noti che cin elabora l'input ricevuto da tastiera soltanto dopo che è stato premuto il tasto Invio. Quando si usa cin bisogna tener presente il tipo della variabile che si usa per memorizzare il valore letto. Pertanto deve essere introdotta una sequenza adeguata di caratteri! 12/04/

81 cin (istruzione di input) In C++ l'input standard 75 si effettua interoapplicando decimalel'operatore di estrazione (>>) al flusso cin. Tale operatore 0113 deve essere // ottale seguito dalla variabile in cui deve essere memorizzato 0x4b // esadecimale il valore da leggere. Ad esempio date le 123l istruzioni: 123u interi long, unsigned int a; /*dichiaro la variabile a di tipo int */ cin >> a; A 1 \t caratteri a aspetta da cin (tastiera) un valore intero per poterlo memorizzare al suo interno. 3.14f L float, double, long double Si noti che cin elabora l'input ricevuto da tastiera soltanto dopo che è stato premuto il tasto Invio. 300e-2.03e2 30e-1 double, notazione esponenziale Quando si usa cin bisogna tener presente il tipo della variabile che si usa per memorizzare il valore Nome letto. stringa Pertanto deve essere introdotta una sequenza adeguata di caratteri! true false boolean 12/04/

82 82

83 83

84 #include <iostream> using namespace std; int main(){ cout << "Provo a stampare " <<endl; float a,b,c; /* Definisco 3 variabili di tipo float */ cout<<"\ndammi il primo numero: "; cin>>a; cout<<"\ndammi il secondo numero: "; cin>>b; c = a+b; cout<<a<<"+ "<<b<<" ="<<c<<"\n"; return 0;} 84

85 85

86 86

87 Operatori aritmetici Come in tutti i linguaggi di programmazione, le operazioni matematiche fondamentali (addizione, sottrazione, moltiplicazione, divisione) sono eseguite rispettivamente dai seguenti operatori binari: + - * / Se la divisione è fra due numeri interi, il risultato dell'operazione è ancora un numero intero (troncamento). Es. 27 / 4 da come risultato 6 (anziché 6.75). Il resto di una divisione fra numeri interi si calcola con l'operatore binario % Es. 27%4 da come risultato 3 12/04/

88 Priorità degli operatori aritmetici Le espressioni vengono valutate in base alla priorità degli operatori: - (unario) * / % + - A parità di priorità vengono svolte da sinistra verso destra. Quando si intende imporre un diverso ordine di priorità agli operatori si possono utilizzare le parentesi tonde per costituire espressioni, come ad esempio: c2 = (a-30+c1*(c++)/-(c)); c2 = (a-30+c1*(c2+b))/(c1*5); 88

89 Ad esempio il programma: #include <iostream> using namespace std; int main(){ cout << "Inizio" <<endl; float z='a'; cout<<z<<"\n"; cout<<(z/2.0)<<"\n"; return 0;} produce in output: in quanto assegna a z il valore numerico del carattere ASCII corrispondente ad A. 89

90 Ad esempio il programma: #include <iostream> using namespace std; int main(){ cout << "Inizio" <<endl; float z='a'; cout<<z<<"\n"; cout<<(z/2.0)<<"\n"; return 0;} produce in output: in quanto assegna a z il valore numerico del carattere ASCII corrispondente ad A. 90

91 #include <iostream> using namespace std; int main(){ cout << "Inizio" <<endl; int z=3.5; cout<<z<<"\n"; cout<<(z/2.0)<<"\n"; return 0;} 91

92 #include <iostream> using namespace std; int main(){ cout << "Inizio" <<endl; int z=3.5; cout<<z<<"\n"; cout<<(z/2.0)<<"\n"; return 0;} 92

93 Esercizio Scrivere un programma che dopo aver assegnato a una variabile A di tipo short int un valore letto da input lo somma alla costante k= e successivamente calcola e stampa la somma. 93

94 Esercizio Scrivere un programma che dopo aver letto due interi a,b assegna alla variabile k il loro quoziente e stampa il risultato ottenuto. 94

95 Esercizio Scrivere un programma che dopo aver letto da input il numero di monete (da un centesimo, 2 centesimi, 10 centesimi, 50 centesimi e un euro) calcola l importo totale in euro e centesimi. 95

96 Esercizio Scrivere un programma che dopo aver letto da input un intervallo di tempo espresso in secondi calcola e stampa le variabili O,M,S che rappresentano il valori dell intervallo di tempo rappresentato rispettivamente in ore, minuti, secondi. Es. tempo in secondi: 3661 O= 1, M=1, S=1 96

97 Soluzione #include <iostream> using namespace std; int main(){ cout << "Inizio " <<endl; short int A=0; const int k=32760; Scrivere un programma che dopo aver assegnato a una variabile A di tipo short int un valore letto da input lo somma alla costante k= e successivamente calcola e stampa la somma. cout<<"\ndammi un numero: "; cin>>a; A= A+k; cout<<"a= "<<A<<"\n"; return 0;} 97

98 #include <iostream> using namespace std; int main(){ cout << "Inizio " <<endl; short int A=0; const int k=32760; cout<<"\ndammi un numero: "; cin>>a; A= A+k; cout<<"a= "<<A<<"\n"; return 0;} 98

99 #include <iostream> using namespace std; signed short int a int main(){ cout << "Inizio " <<endl; short int A=0; const int k=32760; cout<<"\ndammi un numero: "; cin>>a; A= A+k; cout<<"a= "<<A<<"\n"; return 0;} Nelle operazioni fra tipi interi, se il valore ottenuto esce dal range (overflow), l errore non viene segnalato. 99

100 Soluzione #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;} Scrivere un programma che dopo aver letto due interi a,b assegna alla variabile q il loro quoziente e stampa il risultato ottenuto. 100

101 #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; 101

102 #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;} 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. 102

103 #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;} 103

104 Soluzione #include <iostream> using namespace std; int main() { cout << "Quanti centesimi hai? "; int centesimi; cin >> centesimi; Scrivere un programma che dopo aver letto due interi a,b assegna alla variabile q il loro quoziente e stampa il risultato ottenuto. cout << "Quante monete da 2 centesimi hai? "; int duecentesimi; cin >> duecentesimi; cout << "Quante monete da 5 centesimi hai? "; int cinquecentesimi; cin >> cinquecentesimi; cout << "Quante monete da 10 centesimi hai? "; int diecicentesimi; cin >> diecicentesimi; cout << "Quante monete da 20 centesimi hai? "; int venticentesimi; cin >> venticentesimi; 104

105 Soluzione cout << "Quante monete da 50 centesimi hai? "; int cinquantacentesimi; cin >> cinquantacentesimi; Scrivere un programma che dopo aver letto due interi a,b assegna alla variabile q il loro quoziente e stampa il risultato ottenuto. cout << "Quante monete da 1 Euro hai? "; int euro; cin >> euro; int value=0; value = centesimi + 2 * duecentesimi +5 * cinquecentesimi + 10 * diecicentesimi + 20 * venticentesimi + 50 * cinquantacentesimi * euro; int totale = value / 100; int cents = value % 100; cout << "Totale = " << totale << " euro e " << cents << " centesimi\n"; return 0; } 105

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso 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

Dettagli

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)

Dettagli

Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)

Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore) Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore) Macchina astratta: un linguaggio di programmazione trasforma un calcolatore in una macchina

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi 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

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 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,

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. 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

Dettagli

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011 Tipi di dato, memoria e conversioni Alessandra Giordani agiordani@disi.unitn.it Lunedì 7 maggio 2011 http://disi.unitn.it/~agiordani/ Il linguaggio C è esplicitamente tipato: occorre esplicitamente associare

Dettagli

Fondamenti di Programmazione. Antonio Pescapè e Marcello Esposito Parte Quinta v1.0

Fondamenti di Programmazione. Antonio Pescapè e Marcello Esposito Parte Quinta v1.0 Fondamenti di Programmazione Antonio Pescapè e Marcello Esposito Parte Quinta v1.0 Agenda I linguaggi C e C++: introduzione Elementi Lessicali Commenti Identificatori Parole Chiave Costanti Letterali Elementi

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010 Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C Sommario Introduzione... xv Organizzazione del volume... xv Argomenti...xvi Domande...xvi Verifiche...xvi Domande e risposte...xvi Esercizi...xvi Non è richiesta alcuna precedente esperienza di programmazione...

Dettagli

La sintassi del C APPENDICE H

La sintassi del C APPENDICE H APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i

Dettagli

Introduzione alla programmazione in C++

Introduzione alla programmazione in C++ Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione

Dettagli

Alfabeto ed elementi lessicali del linguaggio C

Alfabeto ed elementi lessicali del linguaggio C Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

Dettagli

Tipi di dato e istruzioni elementari in C++

Tipi di dato e istruzioni elementari in C++ Tipi di dato e istruzioni elementari in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica)

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Compendio sottoinsieme del C++ a comune col C (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Librerie 1/2 Il solo insieme di istruzioni di un linguaggio di programmazione

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Introduzione alla programmazione in C++ 1 Un introduzione Che cosa è il C++? La programmazione procedurale La programmazione orientata agli oggetti La programmazione

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola. Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Variabili. 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

Dettagli

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++ 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

Dettagli

Struttura dei programmi C

Struttura dei programmi C Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte

Dettagli

# $ %$&'" '! () *$+,!-

# $ %$&' '! () *$+,!- !" # $ $&'" '! () *$+,!- ',.''/ '/0 1' *'/*'* * 2*! 3( * +- 1 '.'"'!0*'.''! 0* 2.''!0 445 5 5 464 + 1 7+!"" 788 9 3 7 : 7, ;, # < = (,? >,? @,, $3 $, 3 $ >$ (A 3- > $, A9 B $$ ; (; -*'" *73*

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base Istituto Tecnico Industriale M. M. Milano Polistena Classe III D a.s. 2015/2016 C++ Guida Base Prof. Rocco Ciurleo - ITIS M. M. Milano Polistena - 3 D a.s. 2015/2016 1 Le Origini Il Linguaggio C++ è il

Dettagli

Linguaggio 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 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

Dettagli

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

Tipi di dato. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Tipi 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

Dettagli

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Corso Programmazione 1 Capitolo 01: Concetti Elementari Corso Programmazione 1 Capitolo 01: Concetti Elementari Docente: Roberto Sebastiani - roberto.sebastiani@unitn.it Esercitatori: Mario Passamani - mario.passamani@unitn.it Alessandro Tomasi - alessandro.tomasi@unitn.it

Dettagli

Programmazione ad Oggetti. Java Parte II

Programmazione ad Oggetti. Java Parte II Programmazione ad Oggetti Java Parte II Overview Caratteristiche lessicali Il primo programma Java 1 Commenti /* Commento tradizionale, eventualmente su più linee, non nidificato */ // Commento su di una

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Storia del C e del C++ Fondamenti di Informatica 13. Introduzione al C++ Linguaggio C 1972, nato come evoluzione di due linguaggi BCPL e B Linguaggi senza nozione di tipo di dati Dennis Ritchie (Bell Laboratories)

Dettagli

Programmazione con il linguaggio LibreOffice Basic

Programmazione con il linguaggio LibreOffice Basic Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)

Dettagli

La programmazione nel linguaggio C

La programmazione nel linguaggio C 3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi

Dettagli

SULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI

SULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI SULL USO DEI CARATTERI Ricordiamo che: int x; si legge con ( %d,&x) e si stampa con ( %d,x) float x; si legge con ( %f,&x) e si stampa con ( %f,x) double x;si legge con ( %lf,&x) e si stampa con ( %f,x)

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi

Dettagli

Introduzione a Java. Riferimenti

Introduzione a Java. Riferimenti Introduzione a Java Si ringraziano Massimiliano Curcio e Matteo Giacalone 1: Introduction 1 Riferimenti! Java tutorial: http://java.sun.com/docs/books/tutorial/! Il Java tutorial è parte di una più ampia

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit,

Dettagli

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin Linguaggio C Tipi predefiniti Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Il concetto di tipo (reprise) Nome che indica

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del

Dettagli

Capitolo 2 Introduzione alla programmazione in C

Capitolo 2 Introduzione alla programmazione in C Capitolo 2 Introduzione alla programmazione in C Introduzione Un semplice programma C: Stampa di una linea di testo Un altro semplice programma C: Sommare due interi Concetti sulla Memoria Aritmetica in

Dettagli

Riprendiamo l esercizio calcolatrice

Riprendiamo l esercizio calcolatrice Riprendiamo l esercizio calcolatrice Scrivere un programma calcolatrice che legga da tastiera due variabili intere a e b, poi Stampi un menu con un valore numerico associato a quattro operazioni possibili:

Dettagli

Linguaggio C++ Linguaggi di terza generazione

Linguaggio C++ Linguaggi di terza generazione Linguaggio C++ Linguaggi di terza generazione Insieme di primitive ad alto livello, ognuna traducibile in una sequenza di primitive in linguaggio macchina Es.: pesolordo pesocarico + pesoveicolo Due load,

Dettagli

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione 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

Dettagli

Qualsiasi programma in C++ segue lo schema:

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

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C 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

Dettagli

Unità 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 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

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

Tipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Tipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna Tipi e Valori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C - Tipi e Valori 2 Ringraziamenti prof. Mirko Viroli,

Dettagli

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII. Tipi di dati fondamentali Tipi di dati fondamentali Linguaggi di Programmazione I Ferdinando Cicalese caratteri: char signed char unsigned char interi short int long interi unsigned short unsigned unsigned

Dettagli

Variabili. Tipi di dati di base. Variabili. Variabili

Variabili. Tipi di dati di base. Variabili. Variabili Variabili 2 Tipi di dati di base Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Porzioni di memoria RAM usate per mantenere dati variabili nel tempo La definizione di una variabile riserva

Dettagli

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione

Dettagli

Introduzione alla programmazione in C(++)

Introduzione 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

Dettagli

direttive del preprocessore simboli speciali parole chiave identificatori costanti

direttive del preprocessore simboli speciali parole chiave identificatori costanti 5) Elementi di C #include #define TF2TC main() { double tc, tf, offset, conv; offset = 32.; direttive del preprocessore simboli speciali parole chiave identificatori costanti #ifdef TF2TC conv

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Sintassi: Per la dichiarazione di variabili dei tipi fondamentali:

Sintassi: Per la dichiarazione di variabili dei tipi fondamentali: Sintassi: Per la dichiarazione di variabili dei tipi fondamentali: declaration ::= type declarator list ; declarator list ::= declarator {, declarator} opt declarator ::= identif ier identif ier = initializer

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Dettagli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma. Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti

Dettagli

Informatica (A-K) 7. Linguaggio C - 1

Informatica (A-K) 7. Linguaggio C - 1 Storia del linguaggio C Informatica (A-K) 7. Linguaggio C - 1 Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Linguaggio C 1972, nato come evoluzione

Dettagli

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

Dettagli

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a Puntatori in C Puntatori Variabili tradizionali indirizzo int a = 5; A00E... Proprietà della variabile a: nome: a A010 A012 5 tipo: int A014 valore: 5 indirizzo: A010 Finora abbiamo usato solo le prime

Dettagli

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1. I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 2 28 settembre

Dettagli

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Dettagli

Lab 02 Tipi semplici in C

Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 02 Tipi semplici in C Lab02 1 Obiettivo dell esercitazione Acquistare

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA 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

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. 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

Dettagli

I CARATTERI E LE STRINGHE

I CARATTERI E LE STRINGHE I CARATTERI E LE STRINGHE IL CODICE ASCII Per memorizzare i simboli grafici corrispondenti ai caratteri bisogna associare un numero intero a ciascuno di essi Il codice ASCII / æski/ (American Standard

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Le variabili in C KP Cap. 3, pp. 95-129 Cap. 5, pp. 190-193 DD Cap. 9, pp.352-355 Tipi di dato Abbiamo già parlato delle variabili, ed

Dettagli

Introduzione a Matlab

Introduzione a Matlab INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

Appunti, esempi ed esercizi sui linguaggi C/C++

Appunti, esempi ed esercizi sui linguaggi C/C++ Appunti, esempi ed esercizi sui linguaggi C/C++ Dispense e materiale didattico su http://www.eclecticforce.com/ Ambiente di sviluppo Dev C++ http://www.bloodshed.net/devcpp.html // commento su una linea

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Dettagli

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Tipi interi lo standard (1)

Tipi interi lo standard (1) Tipi interi lo standard (1) Lo standard C lascia al compilatore la decisione di quanti bit assegnare a ogni tipo (char, short int, int, long int). Quello che è sempre garantito è: (signed) char può esprimere

Dettagli

Elementi di C++ di base

Elementi di C++ di base Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste

Dettagli

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari Input/Output Lettura e scrittura Caratteri e Stringhe: Terminale e file Input/output console file caratteri stringhe formattato ascii binari Linguaggio ANSI C Input/Output - 1 La libreria standard del

Dettagli