Programmazione Procedurale in Linguaggio C++

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Procedurale in Linguaggio C++"

Transcript

1 Programmazione Procedurale in Linguaggio C++ versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università della Basilicata Elementi di Base: Conclusioni >> Di seguito alcuni errori sintattici molto frequenti In particolare punti e virgola mancanti Statement missing ; costanti o variabili non dichiarate Undefined symbol errori nella scelta degli identificatori 2

2 Elementi di Base: Conclusioni >> In caso di codice scorretto sintatticamente il compilatore restituisce messaggi per segnalare gli errori Esempio: errore frequente punto e virgola mancante Error E2379 prova.cpp 16: Statement missing ; in function main() *** 1 errors in Compile *** codice di errore nome del file numero di riga descrizione dell errore (punto e virgola mancante) 3 Elementi di Base: Conclusioni >> Un altro errore frequente utilizzare una variabile non dichiarata es: raggio void main() const float pigreco = 3.14; float cerchio, circonf; cout << Immetti la lungh. del raggio << endl; cin >> raggio; Error E2451 cerchio.cpp 14: Undefined symbol 'raggio' in function main() 4

3 Elementi di Base: Conclusioni >> Errori nella scelta degli identificatori es: spazi es: int lung raggio; Error E2141 prova.cpp 4: Declaration syntax error in function main() lung raggio = 1; Error E2379 prova.cpp 6: Statement missing ; in function main() 5 Elementi di Base: Conclusioni >> Errori nella scelta degli identificatori altra fonte di errori sono i caratteri speciali (codice ASCII superiore a 127) es: int capcittà; Error E2206 prova.cpp 5: Illegal character 'Ó' (0xe0) in function main() 6

4 Elementi di Base: Conclusioni >> NOTA BENE purtroppo non sempre i numeri di linea sono affidabili In generale l errore può essere alla linea segnalata oppure in una delle linee precedenti Inoltre a volte un errore sintattico ne può generare molti altri 7 Elementi di Base: Conclusioni >> : Esempio parentesi mancante // cerchioerrori.cpp #include <iostream.h> void main() const float pigreco = 3.14; int raggio; float cerchio, circonf; cout << Immetti la lungh. del raggio << endl; cout << (deve essere un numero intero) << endl; cin >> raggio; cerchio = raggio * raggio * pigreco; circonf = 2 * pigreco * raggio; cout << La circonferenza misura: << circonf << endl; cout << Il cerchio ha superficie: << cerchio << endl; 8

5 Elementi di Base: Conclusioni >> >bcc32 cerchioerrori.cpp Borland C for Win32 Copyright (c) 1993, 2000 Borland cerchioerrori.cpp: Error E2310 cerchioerrori.cpp 7: Onlymember functions may be 'const' or 'volatile' Error E2141 cerchioerrori.cpp 7: Declaration syntax error Error E2141 cerchioerrori.cpp 12: Declaration syntax error Error E2015 cerchioerrori.cpp 13: Ambiguity between 'cout' and 'std::cout' Error E2238 cerchioerrori.cpp 13: Multiple declaration for 'cout' Error E2344 cerchioerrori.cpp 12: Earlierdeclaration of 'cout' Error E2141 cerchioerrori.cpp 13: Declaration syntax error Error E2141 cerchioerrori.cpp 14: Declaration syntax error Error E2303 cerchioerrori.cpp 15: Type name expected Error E2238 cerchioerrori.cpp 15: Multiple declaration for 'cerchio' Error E2344 cerchioerrori.cpp 9: Earlier declaration of 'cerchio' Error E2451 cerchioerrori.cpp 15: Undefined symbol 'pigreco' Error E2303 cerchioerrori.cpp 16: Type name expected Error E2238 cerchioerrori.cpp 16: Multiple declaration for 'circonf' Error E2344 cerchioerrori.cpp 9: Earlier declaration of 'circonf' Error E2015 cerchioerrori.cpp 17: Ambiguity between 'cout' and 'std::cout' Error E2238 cerchioerrori.cpp 17: Multiple declaration for 'cout' Error E2344 cerchioerrori.cpp 13: Earlierdeclaration of 'cout' Error E2141 cerchioerrori.cpp 17: Declaration syntax error Error E2015 cerchioerrori.cpp 18: Ambiguity between 'cout' and 'std::cout' Error E2238 cerchioerrori.cpp 18: Multiple declaration for 'cout' Error E2344 cerchioerrori.cpp 17: Earlierdeclaration of 'cout' Error E2141 cerchioerrori.cpp 18: Declaration syntax error Error E2190 cerchioerrori.cpp 19: Unexpected *** 24 errors in Compile *** 9 Elementi di Base: Conclusioni >> Di conseguenza, valgono le regole a) analizzare gli errori sintattici uno ad uno b) dopo aver eliminato ciascun errore, ricompilare e verificare gli ulteriori errori c) per eliminare un errore, cercare di capire il messaggio di errore d) ispezionare subito la linea segnalata e) successivamente ispezionare le linee precedenti alla caccia di possibili cause 10

6 Strutture di Controllo: Conclusioni >> Un errore sintattico frequente parentesi graffe mancanti per i blocchi delle istruzioni di controllo Due casi entrambe le parentesi mancanti solo la parentesi finale è mancante 11 Strutture di Controllo: Conclusioni >> Un Esempio: Media con For #include <iostream.h> manca la parentesi di chiusura void main() { float voto, sommavoti, media; mancano le parentesi int numeroesami, i; del I blocco cout << "Quanti esami hai sostenuto?" << endl; cin >> numeroesami; sommavoti = 0.0; for (i=0; i<numeroesami; i++) { cout << "Immetti il voto di un esame" << endl; cin >> voto; sommavoti += voto; if (numeroesami > 0) media = sommavoti/numeroesami; cout << "La media vale: " << media << endl; else { cout << "Non hai fornito nessun voto" << endl; 12

7 Strutture di Controllo: Conclusioni >> Nel primo caso (parentesi di chiusura) il compilatore considera il blocco aperto fino alla fine del file e alla fine del file segnala l errore Error E2134 mediafor.cpp 23: Compound statement missing in function main() Blocco di istruzioni senza parentesi chiusa Nel secondo caso (parentesi dell if) il compilatore considera il blocco fatto di una sola istruzione; errore quando incontra else Error E2054 mediafor.cpp 20: Misplaced else in function main() Else fuori posto 13 Sottoprogrammi: Conclusioni >> Alcuni errori frequenti Errori sintattici errori nelle chiamate errori nella definizione e nei prototipi Errori logici errori nell uso delle procedure e delle funzioni errori nell uso dei parametri 14

8 Sottoprogrammi: Conclusioni >> Errori Sintattici Nome scorretto del sottoprogramma es: d = discriminate(a1, b1, c1); Error E2268 prova.cpp 10: Call to undefined function 'discriminate' in function main() Errore nel numero dei parametri es: d = discriminante(a1, b1); Error E2193 prova.cpp 10: Too few parameters in call to 'discriminante(float,float,float)' in function main() 15 Sottoprogrammi: Conclusioni >> Errori Sintattici Errore nel tipo dei parametri es: float a1, b1; string c1; d = discriminante(a1, b1, c1); Error E2034 prova.cpp 10: Cannot convert 'char *' to 'float' in function main() Error E2342 prova.cpp 10: Type mismatch in parameter 'c' (wanted 'float', got 'char *') in function main() 16

9 Sottoprogrammi: Conclusioni >> Errori Sintattici Attenzione utilizzando i prototipi, a volte si verificano errori se viene modificato il sottoprogramma e non il prototipo Esempio: void sceltamenu(int &scelta); void main() {... int schermosceltamenu(string nome) {... prototipo e intestazione sono disallineati 17 Sottoprogrammi: Conclusioni >> Errori Sintattici Caso n.1 se le chiamate rispecchiano il prototipo, la compilazione si verifica senza problemi ma c è un errore a tempo di collegamento Error: Unresolved external sceltamenu(int&)' referenced from E:\TMP\PROVA.OBJ Caso n.2 se le chiamate rispecchiano l intestazione Error E2268 prova.cpp 10: Call to undefined function schermosceltamenu' in function main() 18

10 Sottoprogrammi: Conclusioni >> Errori Logici Errore principale utilizzare le funzioni come se fossero procedure es: void main() { float a1, b1, c1; leggiequazione(a1, b1, c1); discriminante(a1, b1, c1);... questo tipo di chiamata non ha senso: non viene utilizzato il valore della funzione 19 Sottoprogrammi: Sintassi e Semantica >> Linee Guida per i Parametri Linee Guida per la Scelta dei Param. Parametri di un sottoprogramma in sintesi tutti i dati che il sottoprogramma ha bisogno di conoscere per funzionare (par. standard) tutti i dati che il sottoprogramma deve modificare (par. per riferimento) Sulla base di questo è possibile ottenere delle linee guida su come scegliere i parametri 20

11 Sottoprogrammi: Sintassi e Semantica >> Linee Guida per i Parametri Linee Guida per la Scelta dei Param. Per cominciare chiarire bene la funzione del sottoprogramma in esame quale problema deve risolvere su quali dati deve operare che risultati deve produrre 21 Sottoprogrammi: Sintassi e Semantica >> Linee Guida per i Parametri Linee Guida per la Scelta dei Param. Parametri della tipologia 1 dati che il sottoprog. deve conoscere chiarire quali sono i dati che il sottoprog. deve conoscere per funzionare e che devono provenire dal modulo chiamante Esempio n. 1 di dati da conoscere dati da stampare sullo schermo int schermomenuprincipale(string nome); 22

12 Sottoprogrammi: Sintassi e Semantica >> Linee Guida per i Parametri Linee Guida per la Scelta dei Param. Esempio n. 2 di dati da conoscere dati da utilizzare per effettuare calcoli float discriminante(float a, float b, float c); Esempio n. 3 di dati da conoscere dati da utilizzare per effettuare verifiche void schermoleggipuntatadadi ( int postadisponibile, int &puntata) postadisponibile serve a convalidare il valore della puntata letta da tastiera 23 Sottoprogrammi: Sintassi e Semantica >> Linee Guida per i Parametri Linee Guida per la Scelta dei Param. Esempio n. 4 di dati da conoscere dati da passare ad altri sottoprogrammi void gioca (string nome); in questo caso, nella morra cinese gioca non utilizza direttamente il nome ma è necessario che lo conosca per passarlo ad altri sottoprogrammi (gli schermi successivi) 24

13 Sottoprogrammi: Sintassi e Semantica >> Linee Guida per i Parametri Linee Guida per la Scelta dei Param. Parametri della tipologia 2 dati che il sottoprog. deve modificare e le cui modifiche devono essere visibili all esterno (dati utilizzati in altri moduli) Esempio n.1 di dati da modificare dati il cui valore viene letto da un flusso di ingresso void leggiequazione(float &a, float &b, float &c); 25 Sottoprogrammi: Sintassi e Semantica >> Linee Guida per i Parametri Linee Guida per la Scelta dei Param. Esempio n.2 di dati da modificare dati che il sottoprogramma deve modificare a seconda della logica applicativa void nuovapartita(string nome, int& vittoriecomputer, int& vittoriegiocatore); Attenzione un dato può ricadere anche in entrambe le tipologie (da conoscere e da modificare) 26

14 Sottoprogrammi: Sintassi e Semantica >> Errori frequenti nell utilizzo dei parametri specificare un numero troppo alto di parametri per un sottoprogramma >> utilizzo di parametri inutili omettere la & per parametri che devono essere per riferimento >> parametro standard al posto di parametro per riferimento 27 Sottoprogrammi: Sintassi e Semantica >> Sulla base di quanto detto è opportuno utilizzare un parametro esclusivamente se è indispensabile bisogna evitare parametri inutili Utilizzo di parametri inutili complicano la lettura del programma aumentano il livello di accoppiamento facilmente introducono errori 28

15 Sottoprogrammi: Sintassi e Semantica >> Esempio di Parametro Inutile float discriminante (float a, float b, float c float d) { d = b*b-4*a*c; return d; void main() { d dovrebbe essere float a1, b1, c1; una variabile locale float a2, b2, c2; float d;... if (discriminante(a1, b1, c1, d) >= Sottoprogrammi: Sintassi e Semantica >> Esempio di Parametro Inutile void nuovamano( string nome, int& punteggiocomputer, int& punteggiogiocatore, int& pareggi int giocatacomputer ) { int giocatagiocatore; int esito; giocatacomputer = generagiocatacomputer(); giocatagiocatore = schermomenumano(nome); esito = controllaesito(giocatacomputer, giocatagiocatore); schermoesitomano(nome,esito,giocatacomputer,giocatagiocatore); if (esito == 1) punteggiocomputer++; else if (esito == 2) punteggiogiocatore++; else pareggi++; return; giocatacomputer dovrebbe essere una variabile locale 30

16 Sottoprogrammi: Sintassi e Semantica >> Omettere la & ATTENZIONE: grave errore frequente perchè omettere la & è un errore? perchè il parametro viene considerato standard (per valore) le modifiche vengono fatte direttamente sullo spazio di memoria del parametro al termine la memoria viene rilasciata e si perde traccia delle modifiche 31 Sottoprogrammi: Sintassi e Semantica >> Esempio di Errore le1. void leggiequazione (float a, float &b, float &c) { le2. cout << Coefficienti? "; le3. cin >> a; le4. cin >> b; le5. cin >> c; le6. return; le7. m1. void main() { m2. float a1, b1, c1; m3. float a2, b2, c2; m4. float x1, y1, x2, y2; m5. leggiequazione(a1, b1, c1); m6. leggiequazione(a2, b2, c2); m7. if (...) #100 a #101 b1 xxx 5 #102 c1 xxx 2 #103 a2 xxx #104 b2 xxx #105 c2 xxx #106 x1 xxx #107 y1 xxx #108 x2 xxx #109 y2 xxx #110 a xxx 2 #111 b #101 xxx #112 c #102 xxx Coefficienti?

17 Sottoprogrammi: Sintassi e Semantica >> Viceversa utilizzare una & dove non serve è meno grave (non altera il funzionamento) In generale tutti i parametri potrebbero essere per riferimento (es: FORTRAN) ma utilizzarli dove non serve è comunque un errore (rende meno chiaro il funzionamento del programma) 33 Tipi Strutturati: Conclusioni >> L errore più frequente con gli array sconfinamento ATTENZIONE alla gestione degli indici Un altro errore grave provare a dichiarare un array usando come dimensione una variabile es: int i; float temperature[i]; Error E2313 prova.cpp 4: Constant expression required in function main() 34

18 Tipi Strutturati: Conclusioni >> Passaggio dei parametri gli array sono sempre parametri standard ma sono comunque modificabili non bisogna mai specificare la & commerciale es: void leggi(float &temperature[n]); Error E2023 temperature1.cpp 5: Array of references is not allowed Error E2034 temperature1.cpp 18: Cannot convert 'float *' to 'float & *' in function main() 35 Tipi Strutturati: Conclusioni >> L errore più frequente con i record punto e virgola mancante dopo la struct Esempio struct studente {... // senza ; void main() {... Error E2176 prova.cpp 7: Too many types in declaration Error E2111 prova.cpp 7: Type 'studente' may not be defined here 36

19 Strutture di Dati: Conclusioni >> Errori frequenti punto e virgola mancante dopo il modello della lista gestione scorretta dell indicatore di riempimento sconfinamenti nella scansione della lista omettere o utilizzare scorrettamente le istruzioni cin.ignore 37 Strutture di Dati: Conclusioni >> Punto e Virgola Mancante Lista rappresentazione con record e array quindi la lista è un record uno o più modelli di record uno o più punto e virgola In assenza al solito errore sintattico 38

20 Strutture di Dati: Conclusioni >> Gestione Scorretta dell Indicatore Inserimenti e cancellazioni oltre ad aggiungere/togliere gli elementi all array è necessario modificare l indicatore In caso di inserimenti l.indicatore++ In caso di cancellazioni l.indicatore Altrimenti è come se non fosse successo nulla >> gestionetemperature1.cpp 39 Strutture di Dati: Conclusioni >> Sconfinamenti Alcune operazioni possono richiedere scansioni non standard della lista es: cancellazioni: è necessario spostare in alto gli elementi es: verifica di condizioni: può essere necessario analizzare più elem. consecutivi (es: trovare tre valori negativi consecutivi) 40

21 Strutture di Dati: Conclusioni >> Sconfinamenti In questi casi è indispensabile analizzare con cura le condizioni sul valore finale nei cicli Cancellazione in posizione pos for (i = pos; i < l.indicatore - 1; i++) { l.valori[i] = l.valori[i+1]; l.indicatore--; esito = true; 41 Strutture di Dati: Conclusioni >> Sconfinamenti Verifica su tre elementi consecutivi trovato = false; i = 0; while (!trovato && i < l.indicatore - 2) { if (l.valori[i] < 0 && l.valori[i+1] < 0 && l.valori[i+2] < 0) { trovato = true; i++; 42

22 Strutture di Dati: Conclusioni >> Utilizzo della ignore Lista di record tipicamente informazioni di tipo diverso in ogni elemento se ci sono stringhe, bisogna alternare input non formattato (getline) e input formattato In questi casi è indispensabile posizionare correttamente le istruzioni cin.ignore() per ripulire lo std. input 43 Strutture di Dati: Conclusioni >> Utilizzo della ignore Regola generale serve ripulire il flusso di ingresso prima di ogni getline che è preceduta da una cin >> Sottigliezze attenzione ai cicli (la lettura delle stringhe iniziali di un elemento può seguire la lettura dei numeri finali del precedente) attenzione alla lettura dell indicatore 44

23 Strutture di Dati: Conclusioni >> Utilizzo della ignore Esempio partite di calcio alcuni attributi sono stringhe (input non formattato) altri attributi richiedono l input formattato struct partita { string squadracasa, squadratrasferta; ; int goalcasa, goaltrasferta; char segno; 45 Strutture di Dati: Conclusioni >> Utilizzo della ignore Caso I array di partite di dimensione fissata in questo caso non viene utilizzata una lista Di conseguenza void main() { partita partite[n]; leggipartite(partite); calcolasegni(partite); stampapartite(partite); >> partite1.cpp 46

24 Strutture di Dati: Conclusioni >> Utilizzo della ignore void leggipartite(partita partite[n]){ int i; for (i = 0; i < N; i++) { leggipartita(partite[i]); return; void leggipartita(partita &p){ cout << "\nimmetti i dati della partita\n"; cout << "Squadra in casa : "; getline(cin, p.squadracasa); cout << "Squadra in trasferta : "; getline(cin, p.squadratrasferta); cout << "Goal squadra in casa : "; cin >> p.goalcasa; cout << "Goal squadra in trasferta: "; cin >> p.goaltrasferta; cin.ignore(); return; dopo la lettura dei goaltrasferta di partite[i] pulisco il flusso prima della lettura di squadracasa di partite[i+1] ATTENZIONE: in qualsiasi altra posizione la cin.ignore() sarebbe un errore (es: all inizio) 47 Strutture di Dati: Conclusioni >> Utilizzo della ignore Caso II lista di partite Di conseguenza const int MAXDIM = 100; struct partita { string squadracasa, squadratrasferta; int goalcasa, goaltrasferta; char segno; ; struct listapartite { int indicatore; partita partite[maxdim]; ; >> partite3.cpp 48

25 Strutture di Dati: Conclusioni >> Utilizzo della ignore void leggipartite(listapartite &l){ int i; leggiindicatore(l.indicatore); cin.ignore(); for (i = 0; i < l.indicatore; i++) { leggipartita(l.partite[i]); return; void leggipartita(partita &p){ cout << "\nimmetti i dati della partita\n"; cout << "Squadra in casa : "; getline(cin, p.squadracasa); cout << "Squadra in trasferta : "; getline(cin, p.squadratrasferta); cout << "Goal squadra in casa : "; cin >> p.goalcasa; cout << "Goal squadra in trasferta: "; cin >> p.goaltrasferta; cin.ignore(); return; 49 Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copiadella licenza, è possibile visitare oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 50

ERRORI DI PROGRAMMAZIONE INDICE

ERRORI DI PROGRAMMAZIONE INDICE ERRORI DI PROGRAMMAZIONE INDICE 1 ERRORI FREQUENTI 2 1. 4 Parentesi graffe mancanti per i blocchi delle istruzioni di controllo 3 1.1 Punto e virgola mancante 2 1.2 Utilizzo di una variabile non dichiarata

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 5 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 5 Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 4 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 2 (a) Sintassi e Semantica versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Conclusioni parte b versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 3 Record versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 8 Dettagli e Approfondimenti versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 3 Istruzioni Iterative (Cicli) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Le Stringhe versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Concetti Avanzati versione 2.5 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 7 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 2 La Lista versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

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

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 4 Lettura e Stampa dei Dati versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 3 Record G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Record >> Sommario Sommario Introduzione Dichiarazione di Record

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte c versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 3 Programmazione Modulare (a) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Riferimenti versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Elementi di base di un programma Dichiarazione dei dati in un programma Sommario Panoramica Elementi di Base di un Programma Struttura Direttive Elementi Sintattici di Base Commenti

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: Convenzioni di Stile versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 6 Metodologia di Sviluppo - b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 7 Dettagli e Approfondimenti versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

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.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Concetti Avanzati Tecniche di Test e Correzione versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati La Matrice versione. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Qualità del Codice: Convenzioni di Stile versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurae in Linguaggio C++ Strutture di Dati La Lista parte b versione 2.4 Questo avoro è concesso in uso secondo i termini di una icenza Creative Commons (vedi utima pagina) G. Mecca

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

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Controllo >> Sommario Sommario Ricapitolazione Alcune

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 2 La Lista G. Mecca M. Samela Università della Basilicata Strutture di Dati: Lista >> Sommario Sommario Introduzione Definizione di

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web JavaScript Concetti Fondamentali versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti Sintassi e Semantica Parte b: Peculiarità di Java versione 1.2 Questo lavoro è concesso in uso secondo i termini di una licenza

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - a Programmare con il Polimorfismo versione 1.2 Questo lavoro è concesso in uso secondo i termini di

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - d Regole Sintattiche e Semantiche versione 1.2 Questo lavoro è concesso in uso secondo i termini di

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 1 Architettura del Calcolatore versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Uso dei Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

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

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: C# Parte a versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 3 (b) Metodologia di Sviluppo versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipo Stringa G. Mecca M. Samela Università della Basilicata Tipo Stringa >> Sommario Sommario Generalità del Tipo Stringa in C++ Operazioni sulle Stringhe Lettura

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Introduzione versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Conclusioni versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: C# versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 5 Metodologia di Sviluppo - a versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: C# versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Incapsulamento versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Il primo programma C++

Il primo programma C++ Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Aspetti Metodologici versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Strati Applicativi versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Procedurale

Programmazione Procedurale Programmazione Procedurale Concetti Introduttivi Strumenti di Sviluppo versione 3.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Incapsulamento versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Strumenti di Sviluppo: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Strato di Persistenza versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

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

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

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Linguaggi di Programmazione Sintassi

Dettagli

Introduzione al C++ Parte 2

Introduzione al C++ Parte 2 Introduzione al C++ Parte 2 Sommario Le differenze fra C e C++ il qualificatore const i namespace gli stream Evitare modifiche accidentali Il qualificatore const indica che la variabile non può più essere

Dettagli

Modularizzazione del software

Modularizzazione del software Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica

Dettagli

C++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW

C++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW C++ funzioni Alberto Ferrari http://en.cppreference.com FUNZIONI le funzioni caratterizzate da nome, parametri (numero, ordine e tipo) e tipo di ritorno le funzioni hanno un prototipo il prototipo non

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Presentazione del Corso Anno Accademico 2003-2004 http://www.db.unibas.it/users/mecca/corsi/progoggettii versione 1.0 Questo lavoro è concesso in

Dettagli

Il linguaggio C Strutture

Il linguaggio C Strutture Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Copyright Mirko Viroli Copyright 2017, 2018 Moreno

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Richiamo di una Proprietà Se la proprietà è privata, è visibile solo dai metodi della classe, se pubblica invece anche dai metodi al di fuori

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

Istruzioni Condizionali

Istruzioni Condizionali Istruzioni Condizionali Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione

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

Le funzioni: la dichiarazione

Le funzioni: la dichiarazione Funzioni I Parte Indice Le funzioni: dichiarazione, definizione e chiamata Le regole di visibilità (scope) Il passaggio degli argomenti per valore e riferimento La funzione main() Le funzioni: la dichiarazione

Dettagli

C funzioni à scope di variabili

C funzioni à scope di variabili C funzioni à scope di variabili Per questo motivo il parametro di una function può avere lo stesso nome del parametro effettivo del processo chiamante. Possiamo definire anche delle variabili globali e

Dettagli

Le funzioni: dichiarazione, definizione e chiamata Il passaggio degli argomenti per valore e riferimento La funzione main() Le regole di visibilità

Le funzioni: dichiarazione, definizione e chiamata Il passaggio degli argomenti per valore e riferimento La funzione main() Le regole di visibilità Funzioni I Parte Indice Le funzioni: dichiarazione, definizione e chiamata Il passaggio degli argomenti per valore e riferimento La funzione main() Le regole di visibilità Le funzioni: la dichiarazione

Dettagli