Laboratorio di Programmazione Lezione I Alessandro Dal Palu
Laboratorio di Programmazione Lezione I Alessandro Dal Palu’
I Files Hard Disk ( C: )
I Files Hard Disk ( C: ) Cartella 1 Cartella 2 Cartella 3 File 1 File 2 File 3
I Files Hard Disk ( C: ) Lavoro Immagini Musica Todo. txt Prova Read. me
I Files Hard Disk ( C: ) Lavoro Programmi Immagini Lezione Parma Programmi Index. html Musica Todo. txt Prova Read. me ciao. c
I Files Hard Disk ( C: ) Lavoro -> Prepara lucidi Fai la spesa Immagini Musica Todo. txt Prova Read. me . .
La programmazione Programma sorgente Editor Compilatore (es. prova. c) Programma assembler (es. prova. asm) Debugger Librerie statiche Assemblatore Programma oggetto (es. prova. obj) Linker Programma eseguibile (es. prova. exe) Loader Programma in memoria CPU (es. iostream. lib) dinamiche
Ambiente di sviluppo (JFE, …) Editor Compilatore Debugger Assemblatore Linker Loader L’ambiente di sviluppo integra i componenti per la creazione di codice eseguibile a partire dal listato del programma.
Input e output Dispositivo di input (Tastiera) Dati di input Programma Dati di output Dispositivo di output (Monitor)
Input e output in C Funzioni predefinite (o di libreria) per • Stream di Input (lettura) • Stream di Output (scrittura) Stream Producer Tastiera File Programma Consumer Monitor File Programma
Streams formattati In base al tipo di dato che scorre sullo stream, viene cambiata la formattazione. Es. Il char ‘A’ e l’int 65 in memoria sono rappresentati allo stesso modo, ma vengono convertiti diversamente sullo stream!
Lettura di uno stream >> operatore di estrazione per operazioni di lettura (input) (contenuto nella libreria di funzioni <iostream>) Sintassi: stream_utilizzato >> variabile_tipata Semantica: legge da stream_utilizzato (o attende finchè arrivano i dati) e assegna la lettura alla variabile_tipata Esempio: int x; cin >> x; cin è lo stream standard di input (tastiera)
Lettura di uno stream Esempio: int x, y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Stream cin: 3 5 1 … x=? y=?
Lettura di uno stream Esempio: int x, y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Stream cin: x 351… x=3 y=? Il numero 3 è consumato dallo stream
Lettura di uno stream Esempio: int x, y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Stream cin: x 3 x 51… x=3 y=5 Le prossime letture partiranno dal numero 1.
Tipo di dato letto Esempio: int x; cin >> x; cin = -1 x = -1 Esempio: char x, y; cin >> x >> y; cin = -1 x = ‘-’ y = ‘ 1’
Scrittura di uno stream << operatore di inserimento per operazioni di scrittura (output) (contenuto nella libreria di funzioni <iostream>) Sintassi: stream_utilizzato << espressione_tipata Semantica: immette sullo stream_utilizzato la valutazione della espressione_tipata Esempio: int x=1; cout << x; cout è lo stream standard di output (monitor)
Scrittura di uno stream Esempio: int x=1; int y=2; cout << x + y; Stream cout: 3 Esempio con cascata di scritture (associativo a sinistra): int x=1; int y=2; cout << x << ‘ ’ << y << endl << x + y << endl; Stream cout: 1 2 3 endl dà il comando di inviare un “a capo” sullo stream
Esempio di programma #include <iostream> Libreria per i/o //programma di esempio int main() { int x, y, z; float m; Commento Dichiarazione variabili cout << "dammi 3 numeri interi" << endl; cin >> x >> y >> z; m = (x + y + z) / 3. 0; cout << "la media e' " << m; return(0); } Corpo del prog Valore di uscita
Diramazioni if. . else If (E) S 1; E = vero? SI S 1 NO If (E) S 1; else S 2; S 1 SI E = vero? NO S 2
Diramazioni if. . else If (E) { // statement composto S 1; S 2; } If (E) S 1; S 2; E = vero? NO S 2 SI S 1 E = vero? NO SI S 1 S 2
Diramazioni if. . else if (E 1) S 1; else if (E 2) S 2; else S 3; S 4; E 1 vero? SI S 1 NO E 2 vero? NO S 3 S 4 SI S 2
#include <iostream. h> int main() { int x, y, max; cout << "DAMMI IL PRIMO INTERO: "; cin >> x; cout << "DAMMI IL SECONDO INTERO: "; cin >> y; if (x==y) cout << "I DUE NUMERI SONO UGUALI"; else { if (x>=y) max=x; else max=y; cout << "IL MAGGIORE E': "; cout << max; } return 0; } Programma di esempio cin x y x == y ? NO SI NO x >= y ? Cout = SI max = x max = y cout max return
- Slides: 23