Programmiamo in..
Programmazione modulare Un programma complesso si suddivide in più sottoprogrammi o funzioni. Un programma suddiviso in piccoli pezzi, è più semplice da gestire da aggiornare da correggere
Definizione di funzione Gruppo di istruzioni Un insieme di istruzioni che risolvono un sottoproblema Rigo iniziale della funzione { --------------------- --------------------- --------------------- Istruzioni Della funzione In C una funzione ha: un rigo di presentazione le istruzioni racchiuse tra una coppia di parentesi graffe }
Come inizia una funzione Il rigo di presentazione iniziale nome ( )? nome? Cosa restituisce? Di cosa ha bisogno?
Funzioni che non scambiano informazioni void nome ( void ) nome void void Cosa restituisce? niente Di cosa ha bisogno? di niente
Funzioni che restituiscono un numero intero int nome ( void ) nome void int Cosa restituisce? Un numero intero Di cosa ha bisogno? di niente
Il main la funzione principale La esecuzione del programma comincia dal main Un main educato restituisce 0 al sistema operativo (OK) Non ha bisogno di ricevere informazioni dal sistema operativo void int main (void) main int OK
Il main Le istruzioni di una funzione sono racchiuse tra parentesi graffe e terminano con il punto e virgola int main (void) { }.. ;.. ; return 0 ; Ultima istruzione return torna a chi ti ha chiamato restituisce il controllo al sistema operativo passandogli il numero zero che significa tutto OK
Il programma DEV C++ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // Le nostre istruzioni vanno messe qui sotto } system("pause"); return EXIT_SUCCESS;
Il sistema operativo non ci passa informazioni #include <cstdlib> #include <iostream> using namespace std; int main(void) { // Le nostre istruzioni vanno messe qui sotto system("pause"); return EXIT_SUCCESS; }
Le costanti predefinite EXIT_SUCCESS Espressione scritta in lettere maiuscole Ogni volta che incontra EXIT_SUCCESS il traduttore lo sostituisce con il valore 0 return 0; return EXIT_SUCCESS; Sono la stessa istruzione Uso la costante EXIT_SUCCESS al posto di 0
Applicazione console Il programma viene eseguito in una finestra DOS stdlib Quando il programma restituisce il controllo al sistema operativo (return), la finestra viene chiusa Per impedirlo prima di terminare richiediamo una pausa Il sistema operativo attenderà la pressione di un tasto system ( Pause );
Il main Ecco le due ultime istruzioni del main int main (void) { }.. ;.. ; system( Pause ) return 0 ; La funzione system è chiamata con la informazione Pause system Pause void
I caratteri e le stringhe in C I caratteri vanno racchiusi tra apici a g 3 Le parole (insieme di caratteri) vanno racchiuse tra doppi apici Pause Ciao Buongiorno Gli insiemi di caratteri si chiamano stringhe
Dove sta la funzione system? Nelle Librerie del C++ Un enorme insieme di funzioni divise per categorie che si possono inserire nel nostro programma
Le librerie del C La funzione system è a disposizione del programmatore nella libreria del C cstdlib ( c standard library) Si richiede al sistema operativo di intervenire (ma per fare cosa?) L informazione (stringa) passata tra parentesi alla funzione system ( Pause ); glielo spiega
Inserimento di una libreria Per adoperare una funzione di libreria bisogna includere la libreria nel nostro programma La libreria stdlib sta su disco nel file cstdlib.h Il rigo #include <cstdlib.h> fa parte delle dichiarazioni iniziali del nostro programma
Le librerie sempre necessarie Le librerie da includere sempre sono 2 cstdlib iostream #include <cstdlib.h> #include <iostream.h> Sono i righi iniziali dei programmi C++
L area del rettangolo #include <cstdlib> #include <iostream> using namespace std; float B ; float H ; float A ; int main ( void) { } cin >> B ; cin >> H ; A = B*H ; cout << A ; system ( Pause ); return 0; Includendo la libreria iostream.h il traduttore quando incontra cin e cout saprà dove prendere le istruzioni che corrispondono a queste due parole chiave
Difetti #include <cstdlib> #include <iostream> using namespace std; float B ; float H ; float A ; int main ( void) { } cin >> B ; cin >> H ; A = B*H ; cout << A ; system ( Pause ); return 0; Il dialogo con l utente è poco chiaro Bisogna Inserire messaggi all inizio prima della richiesta dei dati prima della comparsa di un risultato
I messaggi sul video Sintassi: cout << Messaggio ; Il messaggio va racchiuso tra doppi apici
I Messaggi per area del rettangolo Iniziale cout << Programma per il calcolo dell area del rettangolo ; Prima di ogni richiesta dati cout << Inserire il valore della base in metri ; cin >> B; Prima della visualizzazione di un risultato cout << L area misura metri quadrati ; cout << A;
Attenzione agli spazi bianchi Se le scritte risultano appiccicate Inseriamo uno spazio bianco al termine del messaggio precedente cout << L area vale (metri quadrati) ; cout << A;
Come si va a capo Fine linea Nuova linea cout << endl; cout << \n ; cout << L area vale ; cout << A; cout << metri quadrati ; cout << endl;
I messaggi tutti su un rigo cout << L area = << A << metri quadrati << endl; Significa scrivi Il messaggio L area = E poi scrivi il contenuto della variabile A E poi scrivi metri quadrati E poi scrivi endl (vai a capo)
L area del rettangolo #include <cstdlib> #include <iostream> using namespace std; float B ; float H ; float A ; int main ( void) { cout << Area del rettangolo ; cout << Valore base in metri ; cin >> B ; cout << Valore altezza in metri ; cin >> H ; A = B*H ; cout << L area = << A << mqi << endl; system ( Pause ); return 0; }