24/2/2015 Pastebin.com - Printed Paste ID:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "24/2/2015 Pastebin.com - Printed Paste ID:"

Transcript

1 1. /* main.cpp */ 2. /* 3. I file di abstract_vocabolario vengono inclusi all'interno del main, un concetto 4. concettualmente sbagliato, visto che saranno ereditati da Vocabolario e VocabolarioII 5. Ma "si è costretti" a farlo perchè altrimenti dovrei includere i file in entrambi i vocabolari 6. includendo gli stessi file 2 volte, cosa che il compilatore vede come un errore di "redifinizione", 7. al limite è possibile includere i file solo in un vocabolario, cosa che può però apparire poco chiara. 8. */ 9. #include "abstract_vocabolario.h" 10. #include "abstract_vocabolario.cpp" // Includo i due Vocabolari 13. #include "Vocabolario.h" 14. #include "Vocabolario.cpp" 15. #include "VocabolarioII.h" 16. #include "VocabolarioII.cpp" // E le altre librerie di funzioni che uso all'interno del main 19. #include <iostream> 20. #include <fstream> using namespace std; int main() { // Variabile per chiedere all'utente quale vocabolario istanziare 27. short scelta_vocabolario; 28. // Variabili booleane utilizzare per uscire/entrare nei cicli innestati 29. bool quit,sbagliato=false; /* 32. Per utilizzare entrambi i vocabolari potremmo istanziarli entrambi e poi usare solo l'istanza 33. che l'utente sceglie, ma siccome dobbiamo utilizzarne soltanto uno perchè non utilizzare 34. sempre la stessa variabile per l'istanza? #1: Partiamo istanziando il primo Vocabolario attraverso un puntatore, se l'utente sceglie il secondo 37. cancelliamo l'istanza e reistanziamo il puntatore al secondo Vocabolario. 38. */ Vocabolario * istanza_vocabolario = new Vocabolario; // Variabili e istanze che serviranno per caricare i nomi nel Vocabolario 43. string nome_caricato; 44. string flag_carica; // Istanza che apre il file archivio_nomi.txt #2: 47. ifstream myfile ("archivio_nomi.txt"); 1/5

2 48. //////////////////////////////////////////////////////////////////// // Chiedo all'utente quale Vocabolario vuole utilizzare cout<<"quale vocabolario vuoi utilizzare (1 o 2)?"<<endl; 53. cin>>scelta_vocabolario; // Se l'utente sceglie il vocabolario 1, non devo far nulla visto che il mio Vocabolario 56. // è già istanziato // Se sceglie il 2 > #1: 59. if(scelta_vocabolario == 2) { // #1: 62. delete istanza_vocabolario; 63. VocabolarioII * istanza_vocabolario = new VocabolarioII; // Se la scelta non è corretta dò errore e esco 66. } else if(scelta_vocabolario!= 1) { 67. cout<<"errore: Scelta non valida!"<<endl; 68. exit(0); 69. } 70. // "\n" rimane nel buffer quindi 71. // Pulisco lo "stdin" equivalente a fflush(stdin) di stdio.h del C 72. cin.ignore(); // E chiedo all'utente se vuole precaricare un archivio di nomi 75. cout<<"vuoi caricare il vocabolario da archivio_nomi.txt? (si/no)"<<endl; 76. cin>>flag_carica; // "\n" rimane nel buffer quindi 79. // Pulisco lo "stdin" equivalente a fflush(stdin) di stdio.h del C 80. cin.ignore(); 81. // Se l'utente vuole precaricare l'archivio 82. if(flag_carica == "si") { // Controllo se il file è aperto (precedentemente aperto qui #2: ) 85. if (myfile.is_open()) 86. { 87. // Copio quindi ogni riga di myfile all'interno di nome_caricato (fino alla fine del file) 88. while (getline(myfile,nome_caricato)) 89. { 90. // Per ogni nome lo inserisco nel Vocabolario istanziato 91. istanza_vocabolario >Inserisci(nome_caricato); 92. } 93. // Chiudo il file 94. myfile.close(); 95. } 2/5

3 96. // Se non sono riuscito ad aprire il file, stampo un messaggio d'errore 97. else cout << "Impossibile aprire il file"; 98. } 99. // Variabile che uso per scegliere nel menù 100. string scelta,flag; 101. // Variabile in cui prendo le word date in input dall'utente 102. string nome; 103. // While teoricamente infinito che esce con la scelta 4 attraverso un exit(0) #3: 104. while(1) { // variabile d'appoggio per entrare e uscire nei cicli interni 107. quit=false; cout<<"\n\n"; 110. cout<<" =========================================================== "<<endl; 111. cout<<" ===== ===== "<<endl; 112. cout<<" ==== VOCABOLARIO "<<scelta_vocabolario<<" ==== "<<endl; 113. cout<<" === === "<<endl; 114. cout<<" == Giuseppe Imperioso == "<<endl; 115. cout<<" = = "<<endl; 116. cout<<" = Comandi disponibili: = "<<endl; 117. cout<<" = 1) Inserisci = "<<endl; 118. cout<<" = 2) Cancella = "<<endl; 119. cout<<" = 3) Ricerca = "<<endl; 120. cout<<" = 4) Esci = "<<endl; 121. cout<<" = = "<<endl; 122. cout<<" =========================================================== "<<endl; // Questo flag viene portato a true quando l'utente da una scelta sbagliata #4: 125. // e stampa un messaggio d'errore 126. if(sbagliato == true) { 127. cout<<"\nscelta non valida!, riprova\n"; 128. sbagliato = false; 129. } cout<<"\n Scrivi semplicemente il nome della funzione del vocabolario \nche vuoi utilizzare, o il numero corrispondente a essa"<<endl; 132. cout<<"\n >"; 133. cin>>scelta; // "\n" rimane nel buffer quindi 136. // Pulisco lo "stdin" equivalente a fflush(stdin) di stdio.h del C 137. cin.ignore(); // Se l'utente vuole inserire una word 140. if(scelta == "Inserisci" scelta == "1" scelta == "inserisci") { // Finchè flag è diverso da "no" 3/5

4 143. while(quit==false) { 144. // Chiedo di inserire in input la word dall'utente 145. cout<<"inserisci il nome che vuoi inserire (tutto minuscolo):"<<endl; 146. getline(cin,nome); // Se il metodo ritorna true 149. if(istanza_vocabolario >Inserisci(nome)) { 150. cout<<nome<<" è stato inserito correttamente."<<endl; 151. } else { // Altrimenti stampo errore 152. cout<<"errore, esite gia: "<<nome<<endl; 153. } 154. // Chiedo se vuole continuare a eseguire lo stesso metodo 155. cout<<"vuoi inserirne un'altro? (si,no)"<<endl; 156. getline(cin,flag); 157. // Se "no" esco dal while e ritorno nel primo while (Quello infinito, che stampa il menù) 158. if(flag == "no") { 159. quit=true; 160. } 161. } 162. } 163. // Se l'utente vuole cancellare una word 164. else if(scelta == "Cancella" scelta == "2" scelta == "cancella") { 165. // Finchè flag è diverso da "no" 166. while(quit==false){ 167. // Chiedo di inserire in input la word dall'utente 168. cout<<"inserisci il nome che vuoi cancellare (tutto minuscolo):"<<endl; 169. getline(cin,nome); 170. // Se il metodo ritorna true 171. if(istanza_vocabolario >Cancella(nome)) { 172. cout<<nome<<" è stato cancellato correttamente."<<endl; 173. } else {// Altrimenti stampo errore 174. cout<<"errore, il vocabolo non risulta archiviato"<<endl; 175. } 176. // Chiedo se vuole continuare a eseguire lo stesso metodo 177. cout<<"vuoi cancellarne un'altro? (si,no)"<<endl; 178. getline(cin,flag); 179. // Se "no" esco dal while e ritorno nel primo while (Quello infinito, che stampa il menù) 180. if(flag == "no") { 181. quit=true; 182. } 183. } 184. } 185. // Se l'utente vuole ricercare una word 186. else if(scelta == "Ricerca" scelta == "3" scelta == "ricerca") { 187. // Finchè flag è diverso da "no" 188. while(quit==false) { 189. // Chiedo di inserire in input la word dall'utente 190. cout<<"inserisci il nome che vuoi ricercare (tutto minuscolo):"<<endl; 4/5

5 191. getline(cin,nome); 192. // Eseguo il metodo di Ricerca sulla word inserita 193. istanza_vocabolario >Ricerca(nome); 194. // Chiedo se vuole continuare a eseguire lo stesso metodo 195. cout<<"vuoi ricercarne un'altro? (si,no)"<<endl; 196. getline(cin,flag); 197. // Se "no" esco dal while e ritorno nel primo while (Quello infinito, che stampa il menù) 198. if(flag == "no") { 199. quit=true; 200. } 201. } 202. } 203. else if(scelta == "Esci" scelta == "4" scelta == "esci") { 204. // #3: 205. exit(0); 206. } else { /* Se la scelta dell'utente non corrisponde a nessuna fra le scelte possibili 207. L'utente ha dato una scelta sbagliata, per adesso abilito un flag che dopo, alla prossima iterazione 208. mi stamperà un messaggio d'errore */ 209. // #4: 210. sbagliato = true; 211. } 212. } return 0; }; 5/5

Corso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche

Corso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da ambo le parti. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo

Dettagli

INFORMATICA File di testo in C Roberta Gerboni

INFORMATICA File di testo in C Roberta Gerboni 2018 - Roberta Gerboni File di testo in C++ Il linguaggio C++ mette a disposizione le seguenti classi per operare sui file (è necessario includere nel programma l header ), consentendo tipo di

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Liste semplici (semplicemente linkate) Una lista semplice e costituita da nodi Laboratorio di Informatica 7. Strutture complesse di dati in C++ Ogni nodo e una struttura che contiene : Dati Un riferimento

Dettagli

Concetto di stream. c i a o \0. c i a o \0. c i a o \0

Concetto di stream. c i a o \0. c i a o \0. c i a o \0 Concetto di stream Uno stream è un flusso di byte che permette al programma di comunicare con l esterno (es. con periferiche di input/output) c i a o \0 c i a o \0 c i a o \0 Stream di uscita standard

Dettagli

struct costobiglietto { //struttura per prezzo float prezzo; float tasse; float prezzototale; };

struct costobiglietto { //struttura per prezzo float prezzo; float tasse; float prezzototale; }; /* Programma 12cppEse1.cpp Autore : Riontino Raffaele 4 informatici ITIS Molinari - Milano corso serale 2/11/2010 Testo : Si vuole realizzare un tipo struct, utilizzato per informazioni su biglietti per

Dettagli

Prova Scritta del 20/09/10

Prova Scritta del 20/09/10 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da solo da un lato se si vogliono avere le fotocopie del compito. In testa a ciascun

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

Università 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 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

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero

Ho 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

Dettagli

N algoritmo Traccia in breve 1 (Click)

N algoritmo Traccia in breve 1 (Click) N algoritmo Traccia in breve 1 (Click) 2 (Click) 3 (click) 4 (click) 5 (Click) 6 (Click) 7 (click) 8 (Click) 9 (Click) 10 (Click) 11 (Click) 12 (Click) Creare e visualizzare un file di testo di nome testo.txt

Dettagli

Prova Scritta del 20/09/10

Prova Scritta del 20/09/10 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da solo da un lato se si vogliono avere le fotocopie del compito. In testa a ciascun

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 #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

Dettagli

Tipi strutturati - struct

Tipi 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

Dettagli

Gestire le situazioni di errore

Gestire le situazioni di errore Gestire le situazioni di errore #include using namespace std; Classe VettoreDiInteri const int MAX = 10; class VettoreInteri { int v[max]; public: ; Gestire le situazioni di errore Ottenere

Dettagli

#include <iostream> #include <cstring> #include <fstream> using namespace std; struct elem{ char parola[31]; elem *pun; };

#include <iostream> #include <cstring> #include <fstream> using namespace std; struct elem{ char parola[31]; elem *pun; }; #include #include #include using namespace std; struct elem{ char parola[31]; elem *pun; ; struct Dizionario{ elem *testa; ; void inizializzadizionario(dizionario &D){ D.testa

Dettagli

Aggiornamento : 21/11/2010 semplificate le funzioni per il calcolo delle medie.

Aggiornamento : 21/11/2010 semplificate le funzioni per il calcolo delle medie. /* Programma : cpp_medie_statistiche1.1.cpp Autore : Riontino Raffaele 4 informatici corso serale ITIS Molinari - Milano 8/11/2010 Funzionalità : programma che calcola le medie statistiche semplici e ponderate.

Dettagli

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

Dettagli

Laboratorio di Programmazione e Calcolo

Laboratorio di Programmazione e Calcolo UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI FISICA E. AMALDI Laboratorio di Programmazione e Calcolo 6 crediti a cura di Severino Bussino Anno Accademico 2018-19 0) Struttura del Corso 1) Trattamento

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Strutture dati complesse Esempi di strutture dati complesse analizzate in questa lezione: Fondamenti di Informatica 21. Strutture di dati complesse in C++ Array di puntatori Pila (Stack) Coda (queue) Liste

Dettagli

UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA

UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA Laboratorio di Programmazione e Calcolo A.A. 2018-19 Test Finale Roma, 17 gennaio 2019 1) Le variabili A, B e C sono dichiarate int.

Dettagli

Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni

Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni INTRODUZIONE A C++ Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice, cioè più istruzioni Istruzione - Esempi Significato int a; float f; double d; char c; int x=0; variabile =

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Standard Input e Standard Output

Standard Input e Standard Output Istruzioni di I/O Standard Input e Standard Output Il C++ utilizza i concetti di standard input e standard output rispettivamente come astrazione di un canale per l ingresso e per l uscita dei dati In

Dettagli

Passaggio di parametri per valore

Passaggio di parametri per valore Passaggio di parametri per valore #include using namespace std; int main() { int z, x = 1; z = ; cout

Dettagli

1.1 of :05:39

1.1 of :05:39 /home/mgm/mydropbox/dropbox/peano/libri Peano/INFO3/es78/main.cpp 1 #include "mylib.h" 2 3 int main() { 4 unsigned short code[dim]; 5 bool book; 6 7 // carico il codice a barre 8 LoadCode(code); 9 // calcolo

Dettagli

Classe Squadra. #include <iostream> using namespace std;

Classe 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

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

Le strutture di controllo in C++

Le strutture di controllo in C++ Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli

Dettagli

Informatica/ 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 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

Dettagli

Laboratorio 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 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

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while) Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi 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

Dettagli

UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA

UNIVERSITA 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

Dettagli

4. Accesso diretto per gli archivi con record a lunghezza costante

4. Accesso diretto per gli archivi con record a lunghezza costante 4. Accesso diretto per gli archivi con record a lunghezza costante Nell accesso diretto (in inglese, random) al file binario, le operazioni di lettura o scrittura devono essere precedute dall operazione

Dettagli

Ricerca binaria (o dicotomica) di un elemento in un vettore

Ricerca 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

Dettagli

Java SE 7. Strutture di programmazione (2)

Java SE 7. Strutture di programmazione (2) Java SE 7 Strutture di programmazione (2) diegozabot@yahoo.it ursula.castaldo@gmail.com Casting (1) E' l'operazione che realizza la conversione di tipo tra oggetti e tra tipi primitivi. E' un'operazione

Dettagli

IEIM Esercitazione II Elementi di programmazione C. Alessandro A. Nacci -

IEIM Esercitazione II Elementi di programmazione C. Alessandro A. Nacci - IEIM 2017-2018 Esercitazione II Elementi di programmazione C Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 4 Dati un numero, stampare il primo numero successivo pari

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio 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

Dettagli

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Istruzioni di Ciclo. Unità 4. 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

ciclo di vita della soluzione (informatica) di un problema

ciclo 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

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ PRIMA LEZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ PRIMA LEZIONE INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ PRIMA LEZIONE ALGORITMO SEQUENZA FINITA DI OPERAZIONI ISTRUZIONE OPERAZIONE ESEGUIBILE DALLA MACCHINA LINGUAGGIO INSIEME DI SIMBOLI E REGOLE CHE PERMETTONO DI COMUNICARE

Dettagli

Dal C al C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi

Dal C al C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi Dal C al C++ Corso di Linguaggi di Programmazione ad Oggetti 1 a cura di Giancarlo Cherchi 1 Commenti Non aumentano la dimensione del programma eseguibile ma si rivelano utili per riassumere il comportamento

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

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 7 Iterazioni nei programmi:definite e indefinite Tre costrutti: While Do...While For Esempi Istruzioni di iterazione Le istruzioni iterative permettono di ripetere

Dettagli

Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione stream o l input/output del C++ è basato sugli stream o gli stream sono

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo

Dettagli

Programmazione I Prova scritta - 10 gennaio h20min

Programmazione I Prova scritta - 10 gennaio h20min Programmazione I Prova scritta - 10 gennaio 2019-1h20min NOTA: Nei programmi si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main, inoltre si sottintenda la presenza delle

Dettagli

COMANDI ITERATIVI. Ivan Lanese

COMANDI ITERATIVI. Ivan Lanese COMANDI ITERATIVI Ivan Lanese Argomenti Comando while Comando do while Comando for Comando while: reminder while (condizione) comando; Semantica: la condizione viene testata: se è vera, viene eseguito

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

Dettagli

ESERCIZIO 1. AZ111 milano 12:34 23 AZ222 buenos-aires 12: BA333 toronto 4:15 20 KM444 madrid 10:12 100

ESERCIZIO 1. AZ111 milano 12:34 23 AZ222 buenos-aires 12: BA333 toronto 4:15 20 KM444 madrid 10:12 100 ESERCIZIO 1 Scrivete un programma per la gestione delle informazioni relative ai voli giornalieri in partenza da un certo aeroporto. Il programma deve leggere da file le informazioni relative ai voli,

Dettagli

/* Classe : Officina. Autore : Riontino Raffaele 4*informatici corso serale ITIS Molinari - Milano 29/05/2011

/* Classe : Officina. Autore : Riontino Raffaele 4*informatici corso serale ITIS Molinari - Milano 29/05/2011 /* Classe : Officina */ Autore : Riontino Raffaele 4*informatici corso serale ITIS Molinari - Milano 29/05/2011 Funzionalità : classe che gestisce un officina #include #include #include

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti 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++ Operatori Conversione di tipo Istruzioni di controllo Esercizi 16/04/2012 2 Operatori sui bit Il

Dettagli

CL 3 - Es_01.cpp. #include <iostream> using namespace std;

CL 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

Dettagli

Esercizio 1" input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2

Esercizio 1 input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2 Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 03 Istruzioni" Lab03 1 Esercizio

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

Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018

Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018 Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018 Esercizi sull allocazione dinamica della memoria in C Il codice di questi esercizi é contenuto nella cartella parte1 1. Implementare una lista

Dettagli

Fondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++

Fondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++ Fondamenti di Informatica 2008 corso prof. A. Picariello Operazioni sui FILE in C++ Librerie di I/O per la gestione dei FILE Il C++ consente di utilizzare le librerie standard di I/O del C mette anche

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1

Dettagli

Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment. Codice corso: 21012

Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment. Codice corso: 21012 Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Pagina 1 di 7 Dev-C++ - Installazione Con sistema operativo Windows, potete

Dettagli

IL COSTRUTTO ITERAZIONE 2

IL COSTRUTTO ITERAZIONE 2 IL COSTRUTTO ITERAZIONE 2 Il costrutto iterativo e la potenza di calcolo Il costrutto iterativo (detto anche ciclo) viene utilizzato quando un istruzione (o un gruppo di istruzioni) deve essere eseguita

Dettagli

import java.io.*; Pag. 1 di 15

import java.io.*; Pag. 1 di 15 8 studenti di 5 classi quinte hanno partecipato alle olimpiadi della matematica. Stampare l elenco degli studenti in ordine decrescente di punteggio ottenuto e la rispettiva classe di appartenenza. Realizzare

Dettagli

Gestione dinamica di una lista

Gestione dinamica di una lista Gestione dinamica di una lista La lista lineare è una struttura astratta di dati a lunghezza variabile in cui l'inserimento di un nuovo elemento e l'estrazione di un elemento può essere effettuata in una

Dettagli

La gestione di file in C++

La gestione di file in C++ Prof.ssa Sara Michelangeli La gestione di file in C++ I file sono strutture dati che consentono di conservare permanentemente, su memoria di massa, i nostri dati. Imparare ad usare i file è quindi INDISPENSABILE

Dettagli

Introduzione C++ Compilatori Librerie Usare oggetti

Introduzione C++ Compilatori Librerie Usare oggetti Introduzione C++ Compilatori Librerie Usare oggetti Introduzione a C, C++ e Java 1977 C 1986 C++ a better C con estensioni agli oggetti oggi uno standard industriale 1994 Java C ++ -- C++ C Java programmazione

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! 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

Dettagli

Gestione dinamica di una coda

Gestione dinamica di una coda Gestione dinamica di una coda Una coda o queue è una lista lineare a lunghezza variabile in cui l'inserimento di nuovi elementi (push) viene effettuato ad un estremo (fondo o rear) e l'estrazione degli

Dettagli

Esercitazione 2. Variabili e Tipi Input e Output Assegnamenti Il comando if-else

Esercitazione 2. Variabili e Tipi Input e Output Assegnamenti Il comando if-else Esercitazione 2 Variabili e Tipi Input e Output Assegnamenti Il comando if-else Espressioni aritmetiche /* Scrivere un programma che calcola l area e la circonferenza di un cerchio di raggio 20 cm */ #include

Dettagli

Informatica B Esercitazione 2

Informatica B Esercitazione 2 Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Dipartimento di Elettronica e Informazione Informatica B Esercitazione 2 Cicli ed iterazioni Andrea Galbiati

Dettagli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Struttura di un linguaggio

Struttura di un linguaggio Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Algoritmo di ordinamento per sostituzione. Esempio : dato l array :

Algoritmo 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

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

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 scanf: STRINGA DI FORMATO

Dettagli

Esercizio. Vogliamo scrivere delle funzioni che ci permettano di estrarre delle informazioni statistiche da un vettore (array) di dati:

Esercizio. Vogliamo scrivere delle funzioni che ci permettano di estrarre delle informazioni statistiche da un vettore (array) di dati: Esercizio Vogliamo scrivere delle funzioni che ci permettano di estrarre delle informazioni statistiche da un vettore (array) di dati: Media e deviazione standard Mediana Vogliamo poi provare l utilizzo

Dettagli

Compilazione e Makefile

Compilazione e Makefile Compilazione e Makefile Indice Il preprocessore Le istruzioni per il preprocessore Le MACRO L ambiente linux: alcuni comandi Editor ed il compilatore g++ I makefile Il comando make I flag Il preprocessore

Dettagli

Introduzione al C++ (continua)

Introduzione al C++ (continua) Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 18.III.2015 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo

Dettagli

Introduzione C++ Il compilatore. La compilazione in g++ Introduzione a C, C++ e Java. C++ C Java 1977 C 1986 C++ Compilatori Librerie Usare oggetti

Introduzione C++ Il compilatore. La compilazione in g++ Introduzione a C, C++ e Java. C++ C Java 1977 C 1986 C++ Compilatori Librerie Usare oggetti Introduzione a C, C++ e Java Introduzione C++ Compilatori Librerie Usare oggetti 1977 C 1986 C++ a better C con estensioni agli oggetti oggi uno standard industriale 1994 Java C ++ -- C++ C Java programmazione

Dettagli

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Istruzioni di controllo

Istruzioni di controllo Istruzioni di controllo Le istruzioni in C Assegnazione Sequenza I/O Test Cicli Controllo = che cosa è la prossima cosa da fare La prossima cosa da fare è quella che segue La prossima cosa da fare dipende

Dettagli

INTRODUZIONE AL C++ CLASSIFICAZIONE

INTRODUZIONE 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;

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Operatore? Tipo di dato: struct La ricorsione Funzioni ricorsive Esercizi proposti 26/04/2012 2 Operatore? L'operatore? può essere

Dettagli

Matematica - SMID : Programmazione Luglio 2007 FOGLIO RISPOSTE

Matematica - 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...

Dettagli

Allocazione dinamica memoria

Allocazione dinamica memoria Allocazione dinamica memoria Marco Casazza 11/12/2017 1 Esercizio 1 1 /* 2 Creare una lista bidirezionale di interi, ovvero una lista 3 che permette lo scorrimento in entrambe le direzioni ( dal primo

Dettagli

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Informatica 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)

Dettagli

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica Corso di Fondamenti di Informatica Puntatori e Allocazione Dinamica I puntatori (Richiamo) Il C++ prevede puntatori a dati di qualsiasi natura, semplici o strutturati e puntatori a funzione. In particolare

Dettagli

File. Unità 8. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

File. Unità 8. 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

Prova Scritta del 17/01/11

Prova Scritta del 17/01/11 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da solo da un lato se si vogliono avere le fotocopie del compito. In testa a ciascun

Dettagli

Indice. costrutti decisionali I cicli

Indice. costrutti decisionali I cicli Sintassi II Parte Indice Durante l'esecuzione di un codice, un programma può ripetere segmenti di codice, o di prendere decisioni e biforcarsi. A tal fine, il C fornisce istruzioni per il controllo di

Dettagli

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base Istituto Tecnico Industriale M. M. Milano Polistena Classe III D a.s. 2015/2016 C++ Guida Base Prof. Rocco Ciurleo - ITIS M. M. Milano Polistena - 3 D a.s. 2015/2016 1 Le Origini Il Linguaggio C++ è il

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2018 2019 20.III.2019 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo

Dettagli

Indice. I costrutti decisionali I cicli

Indice. I costrutti decisionali I cicli Sintassi II Parte Indice I costrutti decisionali I cicli Il costrutto if/else Il costrutto if consente di svolgere una o più operazioni se una particolare condizione (enunciata con un espressione booleana)

Dettagli

import java.io.*; public class EU4_23 { private double prezzoacquisto; private double percentualeguadagno;

import java.io.*; public class EU4_23 { private double prezzoacquisto; private double percentualeguadagno; Un dettagliante acquista un prodotto a 200 euro. Considerando che, per avere un sufficiente guadagno e recuperare le proprie spese, deve aumentare il costo del 70%, determinare il prezzo a cui dovrebbe

Dettagli

Corso di Fondamenti di Informatica (M-Z)

Corso di Fondamenti di Informatica (M-Z) Corso di Fondamenti di Informatica (M-Z) Avvertenze Consegnare solo fogli formato A4. Scrivere su un solo lato (no fronte retro) In ordine di preferenza usare inchiostro nero, matita, inchiostro blu. In

Dettagli