230 likes | 306 Views
Laboratorio di Programmazione. Lezione I. Alessandro Dal Palu’. I Files. Hard Disk ( C: ). File1 File2 File3. Cartella1. I Files. Cartella2. Hard Disk ( C: ). Cartella3. Todo.txt Prova Read.me. Lavoro. I Files. Immagini. Hard Disk ( C: ). Musica. Todo.txt Prova Read.me.
E N D
Laboratorio di Programmazione Lezione I Alessandro Dal Palu’
I Files Hard Disk ( C: )
File1 File2 File3 Cartella1 I Files Cartella2 Hard Disk ( C: ) Cartella3
Todo.txt Prova Read.me Lavoro I Files Immagini Hard Disk ( C: ) Musica
Todo.txt Prova Read.me Programmi Lavoro Programmi I Files Lezione Parma Immagini Index.html Hard Disk ( C: ) Musica ciao.c
Todo.txt Prova Read.me • -> Prepara lucidi • Fai la spesa • .... Lavoro I Files Immagini Hard Disk ( C: ) Musica
Compilatore Programma eseguibile Programma oggetto Programma assembler (es. prova.obj) (es. prova.exe) (es. prova.asm) Debugger Loader Linker Assemblatore Librerie statiche (es. iostream.lib) Programma in memoria CPU dinamiche Programma sorgente Editor (es. prova.c) La programmazione
Editor L’ambiente di sviluppo integra i componenti per la creazione di codice eseguibile a partire dal listato del programma. Ambiente di sviluppo (JFE,…) Compilatore Debugger Assemblatore Linker Loader
Input e output Dispositivo di input (Tastiera) Programma Dispositivo di output (Monitor) Dati di output Dati di input
Funzioni predefinite (o di libreria) per • Stream di Input (lettura) • Stream di Output (scrittura) Input e output in C Stream Producer Consumer Monitor Tastiera File File Programma Programma
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! Streams formattati
>> 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 Lettura di uno stream Esempio: int x; cin >> x; cin è lo stream standard di input (tastiera)
Esempio: int x,y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Lettura di uno stream Stream cin: 3 5 1 … x = ? y = ?
Esempio: int x,y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Lettura di uno stream x Stream cin: 3 5 1 … x = 3 y = ? Il numero 3 è consumato dallo stream
Esempio: int x,y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Lettura di uno stream x x Stream cin: 3 5 1 … x = 3 y = 5 Le prossime letture partiranno dal numero 1.
Esempio: int x; cin >> x; Esempio: char x,y; cin >> x >> y; Tipo di dato letto cin = -1 cin = -1 x = -1 x = ‘-’ y = ‘1’
<< 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 Scrittura di uno stream Esempio: int x=1; cout << x; cout è lo stream standard di output (monitor)
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: int x=1; int y=2; cout << x + y; Stream cout: 3 Scrittura di uno stream
#include <iostream> //programma di esempio int main() { int x,y,z; float m; cout << "dammi 3 numeri interi" << endl; cin >> x >> y >> z; m = (x + y + z) / 3.0; cout << "la media e' " << m; return(0); } Libreria per i/o Commento Esempio di programma Dichiarazione variabili Valore di uscita Corpo del prog
If (E) S1; E = vero? SI S1 Diramazioni if..else NO If (E) S1; else S2; E = vero? S1 SI NO S2
E = vero? SI If (E) S1; S2; S1 NO S2 If (E) { // statement composto S1; S2; } E = vero? SI S1 Diramazioni if..else NO S2
E1 vero? SI S1 if (E1) S1; else if (E2) S2; else S3; S4; Diramazioni if..else NO E2 vero? SI S2 NO S3 S4
#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; } cin x y x == y ? NO x >= y ? Programma di esempio SI NO Cout = SI max = x max = y cout max return