Laboratorio di Algoritmi e Strutture Dati. Esercizi
|
|
- Damiano Turco
- 5 anni fa
- Visualizzazioni
Transcript
1 Laboratorio di Algoritmi e Strutture Dati Esercizi Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro 1
2 LAB_WORK 2
3 Realizzazione ed uso di librerie statiche, astrazione funzionale, astrazione dati, strutture e classi Breve guida al Dev-C++: Creazione di un progetto, Creazione e linking di librerie, Il processo di compilazione, Debugging Creazione ed uso di librerie statiche Realizzazione di una struttura dati e relative funzioni per la sua manipolazione (Rettangolo - Time) Realizzazione in C++ della struttura dati matrice (interi/reali allocazione statica/dinamica) 3
4 Classe Rettangolo Definire Classe Rettangolo: Attributi: lunghezza ed ampiezza (ognuno dei quali per default vale 1) Funzioni membro: area, perimetro, set e get per settare/ visualizzare lunghezza ed ampiezza e per verificare che i valori di lunghezza ed ampiezza siano numeri a virgola mobile compresi fra 0.0 e
5 Definizione di Classe e suo utilizzo, es.: classe Rettangolo Class Rettangolo { private: double Base; double Altezza; public: void NuovoRettangolo (double ValoreBase, double ValoreAltezza); double Area(void); double Perimetro(void); ; Rettangolo.h #include "Rettangolo.h" void Rettangolo::NuovoRettangolo(double ValoreBase, double ValoreAltezza){ Base=ValoreBase; Altezza=ValoreAltezza; double Rettangolo::Area(void){ return (Base*Altezza) double Rettangolo::Perimetro(void){ return (2.0*Base + 2.0*Altezza) Rettangolo.cpp 5
6 Definizione di Classe e suo utilizzo, es.: classe Rettangolo int main () { Rettangolo R1; double ValoreBase, ValoreAltezza; cout << "Base: "; cin >> ValoreBase; cout << "Altezza: "; cin >> ValoreAltezza; R1.NuovoRettangolo(ValoreBase,ValoreAltezza); cout << "L area è: " << R1.Area() << '\n'; cout << "Il perimetro è: " << R1.Perimetro() << '\n'; return 0; TestRettangolo.cpp Nell implementazione delle classi si usa l operatore di risoluzione di visibilità (scope resolution) costituito dai due punti doppi "::" per individuare le operazioni proprie della classe e distinguere eventuali funzioni con lo stesso nome di altre classi. 6
7 Classe Time2 // Time abstract data type definition class Time { public: Time( int = 0, int = 0, int = 0 ); // default constructor // set functions void settime( int, int, int ); // set hour, minute, second void sethour( int ); // set hour (after validation) void setminute( int ); // set minute (after validation) void setsecond( int ); // set second (after validation) // get functions int gethour(); // return hour int getminute(); // return minute int getsecond(); // return second void printuniversal(); // output time in universal-time format void printstandard(); // output time in standard-time format private: int hour; // 0-23 (24-hour clock format) int minute; // 0-59 int second; // 0-59 ; // end class Time Time.h 7
8 Classe Time2 #include <iostream> #include <iomanip> #include "Time.h" // include definition of class Time from Time.h using namespace std; // Costruttore Time::Time( int hr, int min, int sec ) { settime( hr, min, sec ); // validate and set time void Time::setTime( int h, int m, int s ){ sethour( h ); // set private field hour setminute( m ); // set private field minute setsecond( s ); // set private field second void Time::setHour( int h ){ hour = ( h >= 0 && h < 24 )? h : 0; // validate hour void Time::setMinute( int m ){ minute = ( m >= 0 && m < 60 )? m : 0; // validate minute void Time::setSecond( int s ){ second = ( s >= 0 && s < 60 )? s : 0; // validate second... Time.cpp 8
9 Classe Time2... int Time::getHour(){ return hour; int Time::getMinute(){ return minute; int Time::getSecond(){ return second; void Time::printUniversal(){ cout << setfill( '0' ) << setw( 2 ) << gethour() << ":" << setw( 2 ) << getminute() << ":" << setw( 2 ) << getsecond(); void Time::printStandard(){ cout << ( ( gethour() == 0 gethour() == 12 )? 12 : gethour() % 12 ) << ":" << setfill( '0' ) << setw( 2 ) << getminute() << ":" << setw( 2 ) << getsecond() << ( hour < 12? " AM" : " PM" ); Time.cpp 9
10 Classe Time2 #include <iostream> #include "Time.h" // include definition of class Time from Time.h using namespace std; int main(){ Time t1; // all arguments defaulted Time t2( 2 ); // hour specified; minute and second defaulted Time t3( 21, 34 ); // hour and minute specified; second defaulted Time t4( 12, 25, 42 ); // hour, minute and second specified Time t5( 27, 74, 99 ); // all bad values specified cout << "Constructed with:\n\nt1: all arguments defaulted\n "; t1.printuniversal(); // 00:00:00 cout << "\n "; t1.printstandard(); // 12:00:00 AM cout << "\n\nt2: hour specified; minute and second defaulted\n "; t2.printuniversal(); // 02:00:00 cout << "\n "; t2.printstandard(); // 2:00:00 AM cout << "\n\nt3: hour and minute specified; second defaulted\n "; t3.printuniversal(); // 21:34:00 cout << "\n "; t3.printstandard(); // 9:34:00 PM cout << "\n\nt4: hour, minute and second specified\n "; t4.printuniversal(); // 12:25:42 cout << "\n "; t4.printstandard(); // 12:25:42 PM cout << "\n\nt5: all invalid values specified\n "; t5.printuniversal(); // 00:00:00 cout << "\n "; t5.printstandard(); // 12:00:00 AM cout << endl; TimeTest.cpp 10
11 Classe Time2 Evoluzione Classe Time2: Estensione con funzione membro tick che incrementa l'orario di un oggetto Time di una unità al secondo. L'oggetto Time deve sempre restare in uno stato consistente Scrivere un programma di test che verifichi la funzione in un ciclo visualizzando l'orario in formato standard. Verificare il corretto funzionamento per: Incremento al minuto successivo Incremento all'ora successiva Incremento al giorno successivo (da 11:59:59 PM a 12:00:00 AM) 11
12 void incrementminutes(time &tt, const int count) { cout << "Incrementing minute " << count << " times:\nstart time: "; tt.printstandard(); for ( int i = 0; i < count; i++ ) { tt.setminute( ( tt.getminute() + 1 ) % 60); if ( tt.getminute() == 0 ) tt.sethour( ( tt.gethour() + 1 ) % 24); cout << "\nminute + 1: "; tt.printstandard(); cout << endl; 12
13 void incrementminutes( Time &, const int ); int main() { // Test funzione incremento Time t; t.settime( 11, 58, 0 ); incrementminutes( t, 3 ); return 0; 13
14 Classe Matrice Specifica sintattica Tipi: matrice, intero, tipoelem Operatori: CreaMatrice() matrice LeggiMatrice(intero, intero) tipoelem ScriviMatrice(intero, intero, tipoelem) matrice Somma(matrice) matrice // somma m1 ad m2, m1 è la matrice su cui il metodo è invocato Prodotto(matrice) matrice // moltiplica m1 x m2, m1 è la matrice su cui il metodo è invocato 14
15 Classe Matrice class Matrice { public: // Costruttore Distruttore Matrice(indice, indice); ~Matrice(); indice getnrighe(); indice getncolonne(); tipoelem leggimatrice(indice,indice); void scrivimatrice(indice,indice,tipoelem); Matrice somma(matrice); Matrice prodotto(matrice); private: indice righe; indice colonne; ; 15
16 HOME_WORK 16
17 Evoluzione classe Rettangolo: Versione che rappresenta il rettangolo mediante le coordinate cartesiane (x,y) dei quattro angoli Costruttore: chiama set che accetta 4 coppie di coordinate e verifica che ognuna di esse ricada nel primo quadrante (x e y >0) e che tutti I valori delle coppie non siano maggiori di 20.0 Set verifica anche se le coordinate specificate individuano effettivamente un rettangolo Altre funzioni membro: calcolo lunghezza (la più grande fra le due dimensioni), ampiezza, area, perimetro Funzione square: determina se il rettangolo è un quadrato 17
18 Definizione nuovi metodi per la classe Matrice: AquisisciMatrice prodottoscalare(double scalare) che moltiplica ogni elemento della matrice con uno scalare trasposta(), che restituisce la trasposta di una matrice 18
Laboratorio di Algoritmi e Strutture Dati. Esercizi
Laboratorio di Algoritmi e Strutture Dati Esercizi Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro 1 Revisione Esercizi lezione precedente 2 Classe
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Introduzione alla OOP Dal C al C++ C++ Orientato agli Oggetti Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari
DettagliLezione 4. Costruttori
Lezione 4 Costruttori e distruttori Costruttori Quando si crea un oggetto di una classe è possibile inizializzarne i membri tramite il costruttore di classe Il costruttore è una funzione membro che ha
DettagliIndice. Il qualificatore const Le funzioni friend Il puntatore this Gli operatori new e delete I membri static La composizione di classi
Le Classi II Parte Indice Il qualificatore const Le funzioni friend Il puntatore this Gli operatori new e delete I membri static La composizione di classi Le classi ed il qualificatore const Il qualificatore
DettagliLaboratorio di Algoritmi e Strutture Dati. Esercizi
Laboratorio di Algoritmi e Strutture Dati Esercizi Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro 1 Operatori Indispensabili Ogni Classe che
DettagliEsercitazioni sulle classi
Esercitazioni sulle classi Armando Stellato stellato@info.uniroma2.it 1 Classi Possiamo vederle, da un punto di vista sintattico, come una estensione delle strutture, ma sono caratterizzate da notevoli
DettagliI membri e le restrizioni di accesso
I membri e le restrizioni di accesso Sommario I membri Le restrizioni di accesso Separazione interfaccia da implementazione Accedere ai membri di una classe La visibilità dall'esterno dei dati e delle
DettagliSommario. Le strutture Le classi
Le Classi in C++ Sommario Le strutture Le classi Introduzione Iniziamo a parlare di strutture dati di tipo struct cioè di aggregati di dati Muoveremo poi dalla analisi dei limiti di queste strutture per
DettagliFile: /home/peppino/area_lavori/ese enti/oggetti/timbro_classe.cpp Pagina 1 di 5
File: /home/peppino/area_lavori/ese enti/oggetti/timbro_classe.cpp Pagina 1 di 5 * esempi_c++/sorgenti/timbro_classe.cpp * * Una classe semplice per apprendere la programmazione * ad oggetti ( OOP ). *
DettagliOOP in C++ ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi
OOP in C++ Classi e Oggetti Una classe èuntipochehavariabili ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi Una variabile ab di un tipo
DettagliLa programmazione ad oggetti (OOP)
Oggetti e Classi (CAP 10) Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Novembre 2011 La programmazione ad oggetti (OOP) È un approccio concettuale alla programmazione (indipendente
DettagliIl paradigma OO e le Classi
Oggetti e Classi (CAP 10) Alberto Garfagnini Università degli studi di Padova 1 Dicembre 2009 Il paradigma OO e le Classi La programmazione ad Oggetti () è una filosofia di programmazione che si basa sui
DettagliFondamenti di Informatica Ing. Biomedica
Fondamenti di Informatica Ing. Biomedica Esercitazione n.8 Matrici Antonio Arena antonio.arena@ing.unipi.it Fondamenti di Informatica - Esercitazione n.8 2 Matrici In C++ viene trattata come array multi-dimesionale.
DettagliFile: /home/peppino/area_lavori/ese orgenti/oggetti/ohm_classe.cpp Pagina 1 di 5
File: /home/peppino/area_lavori/ese orgenti/oggetti/ohm_classe.cpp Pagina 1 di 5 * esempi_c++/sorgenti/ohm_classe.cpp * * Una classe semplice per applicare la legge di OHM * * @autore Giuseppe Talarico
DettagliLaboratorio di Algoritmi e Strutture Dati
Realizzazione di Liste (II) Laboratorio di Algoritmi e Strutture Dati Domenico Redavid redavid@di.uniba.it Materiale di base gentilmente concesso dal dott. Nicola Di Mauro Ricercatore presso l'univ. di
DettagliFondamenti di Informatica Ing. Biomedica
Fondamenti di Informatica Ing. Biomedica Esercitazione n.10 Strutture Antonio Arena antonio.arena@ing.unipi.it Ripresa esercizio per casa Fondamenti di Informatica - Esercitazione n.10 2 Scrivere una funzione
DettagliHo raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero
Stato di uno stream Uno stream possiede uno stato, che può essere corretto o errato. Quando lo stream è in stato di errore, non posso utilizzarlo. In lettura: Apertura di un file che non esiste X Ho raggiunto
DettagliLa scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco
Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 10 Novembre 2011 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice
DettagliLa scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco
Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Ottobre 2013 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice Esercizi
DettagliProgrammazione modulare
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
DettagliAlgoritmo di ordinamento per sostituzione. Esempio : dato l array :
Algoritmo di ordinamento per sostituzione Per ottenere un ordinamento crescente con l algoritmo di ordinamento per Sostituzione si confronta l elemento nella prima posizione con gli elementi nelle posizioni
DettagliInformatica e Laboratorio di Programmazione C++ Object Oriented Programming Alberto Ferrari
Informatica e Laboratorio di Programmazione C++ Object Oriented Programming Alberto Ferrari oggetti o in C++ la definizione della classe è separata dalla implementazione dei metodi o definizione fornita
DettagliLezione 2. Richiami su : Puntatori, Array e Strutture.
Lezione 2 Richiami su : Puntatori, Array e Strutture http://www.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali/intro2.pdf Fernando Palombo Array Un insieme di n variabili dello stesso
DettagliClasse Squadra. #include <iostream> using namespace std;
Classe Squadra Si vuole scrivere un programma che gestisce la classifica di un campionato tra squadre di calcio, ognuna identificata dal proprio nome. Il programma deve essere in grado di assegnare un
DettagliLaboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome
Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011 Gruppo Cognome Riontino Nome Raffaele Cognome Nome TRACCIA 2 ARGOMENTO: LISTE TEMPO: 4h 1. Utilizzando Typedef definire un nuovo tipo di dato
DettagliStrutture come parametri di funzioni
Strutture come parametri di funzioni int main() { struct PolReg { int numlati; float lunghezzalato; PolReg p1; p1.numlati = 3; p1.lunghezzalato = 10.0; float perimetro = p1.numlati * p1.lunghezzalato;
DettagliIntroduzione 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
DettagliC++ 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
DettagliESERCIZI 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
DettagliLaboratorio di Algoritmi e Strutture Dati. Alberi Binari
Laboratorio di Algoritmi e Strutture Dati Alberi Binari Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro Materiale di base gentilmente concesso
DettagliLaboratorio di Algoritmi e Strutture Dati. Pile
Laboratorio di Algoritmi e Strutture Dati Pile Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro Materiale di base gentilmente concesso dal dott.
DettagliPer implementare l Algoritmo si devono usare 2 coppie di indici :
Ordinamento di una per sostituzione Ordinamento di una per sostituzione Per ottenere un ordinamento crescente di una per Sostituzione, l algoritmo è identico a quello per l ordinamento di un vettore. Si
Dettagli/* ordinamento dei lati dal maggiore al minore e "riconoscimento" del grado di "regolarità" del triangolo */ void ordinalati()
Una possibile soluzione, molto più esauriente rispetto alle richieste stesse del problema è la seguente (è stata ragionevolmente controllata, ma se qualcuno trovasse dei difetti di funzionamento è pregato
DettagliFondamenti di Informatica
Passaggio di parametri in C++ Il passaggio dei parametri tra funzione chiamante e funzione chiamata in C++ avviene secondo due modalità: Fondamenti di Informatica 16. Funzioni in C++ (parte 2) per valore
DettagliINTRODUZIONE 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
DettagliUNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA
UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA Laboratorio di Programmazione e Calcolo Cognome:... A.A. 2017-18 Nome:... Test Finale con Soluzioni Matricola:... Roma, 18 gennaio 2018
DettagliCorso di Fondamenti di Informatica Tipi strutturati: Stringhe
Corso di Fondamenti di Informatica Tipi strutturati: Stringhe Anno Accademico Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri
DettagliIntroduzione al C++ Corso di C++ INFN LNS 13 Dicembre Corrado Santoro
Introduzione al C++ Corso di C++ INFN LNS 13 Dicembre 2010 Corrado Santoro Concetto di Oggetto Proposto del 1966 nell'ambito dell'ai per rappresentare l' universo del discorso (ambiente di riferimento
DettagliInformatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento
DettagliLe 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
DettagliLe 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
DettagliFondamenti di Informatica Ing. Biomedica
Fondamenti di Informatica Ing. Biomedica Esercitazione n.9 Stringhe & Algoritmi di ordinamento Antonio Arena antonio.arena@ing.unipi.it Stringhe Fondamenti di Informatica - Esercitazione n.9 2 In C++ non
DettagliCapitolo 10 - Strutture
1 Capitolo 10 - Strutture Strutture In molte situazioni, una variabile non è sufficiente per descrivere un oggetto. Ad esempio, una posizione sul piano cartesiano è identificata da due coordinate, e la
DettagliCorso di Programmazione a oggetti
Corso di Programmazione a oggetti Overloading delle funzioni e parametri di default a.a. 2014/2015 Francesco Fontanella Overloading delle funzioni In C++, è possibile dare a funzioni diverse lo stesso
DettagliUniversità 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
DettagliFondamenti di Informatica
Programmazione modulare (top-down) Fondamenti di Informatica 15. Funzioni in C++ (parte 1) Problemi complessi Conviene suddividere il programma in sottoprogrammi piu semplici mediante la metodologia di
Dettaglieccezioni Alberto Ferrari Alberto Ferrari Programmazione di applicazioni SW
eccezioni Alberto Ferrari eccezioni o C++ fornisce strumenti per gestire situazioni eccezionali o terminologia o sollevare un eccezione (to throw an exception) = segnalare una situazione eccezionale o
DettagliRicerca binaria (o dicotomica) di un elemento in un vettore
Ricerca binaria (o dicotomica) di un elemento in un La ricerca binaria o dicotomica è utilizzata per ricercare i dati in un ORDNATO. L algoritmo di ricerca binaria, dopo ogni confronto, scarta metà degli
DettagliCL 3 - Es_01.cpp. #include <iostream> using namespace std;
Problema: Individua gli errori, sintattici, lessicali e logici, presenti nel seguente programma affinché risolva il problema: "Visualizzare il prodotto di due valori interi inseriti da tastiera ". (Riscrivere
DettagliProgrammazione orientata agli oggetti. Ivan Lanese
Programmazione orientata agli oggetti Ivan Lanese Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Scrivere grosse applicazioni La gran parte delle applicazioni sono GROSSE Windows
Dettagliciclo di vita della soluzione (informatica) di un problema
Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione X Tatiana Zolo tatiana.zolo@libero.it 1 Proprietà fondamentale dei linguaggi object-oriented. Classe A classe base (o superclasse) classe da cui si eredita Classe
DettagliLaboratorio di Algoritmi e Strutture Dati
Realizzazione di Liste Laboratorio di Algoritmi e Strutture Dati Domenico Redavid redavid@di.uniba.it Materiale di base gentilmente concesso dal dott. Nicola Di Mauro Ricercatore presso l'univ. di Bari
DettagliLe funzioni in C++ Fondamenti di Informatica. R. Basili. a.a
Le funzioni in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Uso delle funzioni Un esempio Dichiarazione e Definizione Uso dei parametri Passaggio per valore Passaggio per
DettagliLa programmazione Object Oriented e le sue applicazioni in Fisica.
La programmazione Object Oriented e le sue applicazioni in Fisica. Gabriella Cataldi, INFN Lecce Daniele Martello, dip. Fisica & INFN Lecce definizione di variabili Un metodo per automatizzare il processo
DettagliLezione 3. Introduzione alla Programmazione Orientata agli Oggetti.
Lezione 3 Introduzione alla Programmazione Orientata agli Oggetti http://www.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali/ Palombo Fernando Programmazione Orientata agli Ogge/ (OOP)
DettagliProgrammazione orientata agli oggetti. Ivan Lanese e Cosimo Laneve
Programmazione orientata agli oggetti Ivan Lanese e Cosimo Laneve Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Programmazione orientata agli oggetti È un paradigma di programmazione
DettagliEsercizi di programmazione in linguaggio C++ Classi
Esercizi di programmazione in linguaggio C++ Classi Nota: memorizzare i programmi in cartelle separate. Ogni cartella deve contenere, oltre al codice sorgente e al file eseguibile, gli eventuali file di
DettagliInformatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento b) dereferenziazione e
DettagliInformatica 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)
DettagliEreditarietà. Esercizio Specifica
Ereditarietà Si richiede di progettare un sistema software che simula il comportamento di un numero dato di orologi. Gli orologi possono essere normali o più specializzati: a lancette o sveglie. Ogni orologio
DettagliCapitolo 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
DettagliDefinizione di classi
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
DettagliFondamenti 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)
DettagliInf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& &
Programmazione+1+ + Mario&Pavone& & Dipar/mento+di+Matema/ca+ed+Informa/ca+ Università+degli+Studi+di+Catania+ mpavone@dmi.unict.it+ hap://www.dmi.unict.it/mpavone/+ Codifica dell algoritmo Linguaggio
DettagliCommenti. I commenti vengono ignorati dal compilatore, ovvero non vengono tradotti in codice eseguibile. /* righe multiple seconda riga */
Introduzione al C++ Sommario Le differenze fra C e C++ commenti parametri per funzioni funzioni inline overloading di funzione input/output nuovi header punto di dichiarazione delle variabili locali allocazione/deallocazione
DettagliQualsiasi 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
DettagliAlgoritmo di ordinamento per scambio (a bolle o bubble sort)
Algoritmo di ordinamento per scambio (a bolle o bubble sort) Per ottenere un ordinamento crescente con l algoritmo di ordinamento per scambio (bubble sort) si prenno in considerazione i primi due elementi
DettagliUn 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
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Introduzione alla sintassi C++ Array a una dimensione Array a due dimensioni Array multidimensionali Funzioni standard della libreria
DettagliInformatica! Appunti dal laboratorio 1!
Informatica Appunti dal laboratorio 1 Sistema Operativo Windows Vista, Windows 7, Mac OS X, Linux, Debian, Red Hat, etc etc Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti
DettagliClasse: vettore di interi
Classe: ettore di interi #include using namespace std; int main() { Oggetto VettoreInteri contenente 10 elementi di tipo intero VettoreInteri ett;... return 0; Se olessimo un ettore di 20 elementi?
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VIII Tatiana Zolo tatiana.zolo@libero.it 1 PROGRAMMAZIONE A OGGETTI Quando si programma a oggetti si scompone il problema in sottogruppi di parti collegate che tengono
DettagliClassi ed Oggetti. Fondamenti di Informatica A-K
Classi ed Oggetti Fondamenti di Informatica A-K Esercitazione 5 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti,
DettagliAlgoritmi e Strutture Dati. Lezione 1
Algoritmi e Strutture Dati Lezione 1 www.iet.unipi.it/a.virdis Antonio Virdis antonio.virdis@unipi.it 1 Ma io so già programmare! Fondamenti I Sia dato un array contenente delle frasi. Scrivere un programma
DettagliMatematica - SMID : Programmazione Luglio 2007 FOGLIO RISPOSTE
Matematica - SMID : Programmazione Luglio 2007 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...
DettagliTipi strutturati - struct
Fondamenti di Programmazione A Appunti per le lezioni Gianfranco Rossi Tipi strutturati - struct Struttura dati (concreta) struct: sequenza di n elementi (n 0), rispettivamente di tipo t1,,tn (non necessariamente
DettagliINPUT: 2 parametri. double atan2( double y, double x) OUTPUT: risultato del calcolo. Le funzioni. Implementazioni di funzioni dell utente
Le funzioni in C++ (CAP 6) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 14/15 Le funzioni Sono i mattoni fondamentali per la costruzione dei programmi in C++ (e C) Il prototipo
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Visibilità e tempo di vita delle variabili
Corso di Fondamenti di Informatica Visibilità e tempo di vita delle variabili Anno Accademico Francesco Tortorella Il concetto di visibilità Un programma C++ può assumere una struttura complessa grazie
DettagliInformatica (A-K) 12. Linguaggio C -3
Introduzione alle funzioni in C Informatica (A-K) 12. Linguaggio C -3 int main() int i,n, fattoriale=1; printf( Inserire Numero: ); scanf( %d, &n); for (i =2; i
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Il tipo puntatore; l allocazione dinamica della memoria Claudio De Stefano - Corso di Fondamenti di Informatica 1 puntatori una variabile di tipo puntatore al tipo x
DettagliFunzioni. Unità 1. 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//=============================== class String { // VARIABILI DI ISTANZA char * base; int length;
#include using namespace std; String STRING 1 //=============================== class String { // VARIABILI DI ISTANZA char * base; int length; //METODI // metodi interni di servizio-------------------------------
DettagliEsercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
DettagliAncora sulle Classi in C++ e Java. this
Ancora sulle Classi in C++ e Java this Classe: riepilogo gestione memoria ogg1: oggetto di invocazione del metodo ogg: parametro fornito al metodo!"# ogg1 ogg2 ogg metodoa metodob varv varw varx varv varw
DettagliArray. Unità 7. 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
DettagliIl puntatore alla classe base e le funzioni virtuali
Polimorfismo Indice Le funzioni virtuali e il puntatore alla classe base Le funzioni virtuali pure Classi astratte: interfaccia Commenti sugli strumenti del C++ e l OOD Il puntatore alla classe base e
Dettaglia.a Codice corso: 21012
ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti
DettagliLaboratorio di Algoritmi e Strutture Dati. Dizionari
Laboratorio di Algoritmi e Strutture Dati Dizionari Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro Materiale di base gentilmente concesso dal
DettagliSommario. Esempio. Esempio: Canzone.h #ifndef CANZONE_H #define CANZONE_H. Esempio: Canzone.cpp
Sommario Classi e oggetti, un esempio: Oggetti in memoria stack e in memoria heap Oggetti e funzioni Oggetti ed array Il puntatore implicito this Costruttore: Lista di inizializzazione dei membri Tipo
DettagliString. String: Esercizio 1
1 String class String { private: // VARIABILI DI ISTANZA char * base; int length;... 2 String: Esercizio 1 Scrivere e testare i metodi di base: a. i costruttori String(), String(char * s), b. il distruttore.
DettagliSoluzione. Verifica Scritta Quartu S.E. L.S. - Brotzu Opzione Scienze Applicate
Verifica Scritta Quartu S.E. L.S. - Brotzu Opzione Scienze Applicate Docente: Prof. A.Saba Materia: Informatica Tempo a disposizione: 1 h Fila A Valutazione: Classe: Data: Nome: Cognome: Scrivere il programma
DettagliIstruzioni 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
DettagliINTRODUZIONE AL C++ CLASSIFICAZIONE
INTRODUZIONE AL C++ 1 CLASSIFICAZIONE LINGUAGGI CHE OPERANO SU DATI OMOGENEI: FORTRAN77, LINGUAGGIO C, LINGUAGGIO C++, PASCAL: operano solo su DATI OMOGENEI (integer, float, double), senza classi e puntatori;
DettagliLezione 8: Stringhe ed array multidimensionali
Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si
Dettagli#include<iostream > #include<cstdlib> #include<iomanip> // per setfill(...),setw(...),setprecision(...)
Esercizio 1 Può un neonato vivere per 1 miliardo di secondi? Scrivere un programma C++ in grado di visualizzare il numero di anni compiuti da un neonato dopo 1 miliardo di secondi, facendo uso di variabili
DettagliVittoria de Nitto Personè. Esercizi proposti per il corso Fondamenti di informatica
Vittoria de Nitto Personè Esercizi proposti per il corso Fondamenti di informatica Facoltà di Ingegneria - Università degli studi di Roma Tor Vergata Esercizi a. tipi predefiniti, assegnamento Esercizio
DettagliOverloading degli operatori
Overloading degli operatori Indice L overloading degli operatori Restrizioni sull overloading degli operatori L overloading degli operatori: le funzioni membro L overloading degli operatori: le funzioni
DettagliUniversità di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando
Università di Roma Tor Vergata L6-1 iterazione: struttura di controllo per ripetere più volte uno stesso comando comandi iterativi C++: while, do-while, for while: sintassi while (espressione) comando;
Dettagli