1: /* Nome del programma: numero_giorni_01.cpp - Data: 03/04/2010 2: Realizzato da: Gaetano Della Cerra - III Informatica Serale I.T.I.S.
|
|
- Rebecca Valenti
- 5 anni fa
- Visualizzazioni
Transcript
1 1: /* Nome del programma: numero_giorni_01.cpp - Data: 03/04/2010 2: Realizzato da: Gaetano Della Cerra - III Informatica Serale I.T.I.S. Molinari 3: Il programma calcola il numero di giorni che intercorrono tra due date. 4: Viene effettuato un controllo di coerenza sul numero di giorni rispetto al me- 5: se e all'anno (bisestile o meno). */ 6: 7: #include <iostream> 8: #include <conio.h> 9: #include <string.h> 10: #include <windows.h> 11: 12: #define dim3 3 13: #define dim5 5 14: #define dim : #define dim : 17: void intestazione_main(); 18: void ins_data ( struct date &data, int n_data ); 19: int ins_stringa ( char stringa[], char nome[], int num, int n_data, struct date &data ); 20: int controllo_stringa_numerica ( char stringa[], char nome[], int lun, struct date &data ); 21: int anno_bisestile ( int anno ); 22: void scambia_date ( struct date &data1, struct date &data2 ); 23: int calcola_giorni ( struct date &data1, struct date &data2 ); 24: void mostra_data ( struct date &data, int n_data ); 25: void colortext ( int color ); 26: char scelta_main ( char scelta ); 27: 28: using namespace std; 29: 30: struct date { 31: int giorno; 32: int mese; 33: int anno; 34: }; 35: 36: const int BIANCO = 0, BLU = 2; 37: int giorni_mese [] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; 38: 39: main() 40: { 41: date data1, data2; 42: char continua; 43: 44: system("color 1F"); 45: 46: do 47: { 48: ins_data ( data1, 1 ); 49: ins_data ( data2, 2 ); 50: 51: mostra_data ( data1, 1 ); 52: mostra_data ( data2, 2 ); 53: 54: scambia_date ( data1, data2 ); 55: 56: cout << "\n\n Tra le 2 date intercorrono "; 57: cout << calcola_giorni( data1, data2 ); 58: cout << " giorni."; 59: 60: cout << "\n\n Confermi uscita? ("; 61: colortext ( BLU ); 62: cout << "s"; 63: colortext ( BIANCO ); 64: cout << "=si): "; 65: continua = scelta_main ( continua ); 66: } while ( (continua!= 's') && (continua!= 'S') ); 67: } 68: 69: void intestazione_main() // Intestazione schermata 70: { 71: char o = 248; 72: system( "CLS" ); 73: cout << "\n CALCOLO NUMERO GIORNI (vers. 1.0)\t3" << o << " A Informatica Serale"; 74: cout << "\n\n\t\t\t\t\t Gaetano Della Cerra";
2 75: } 76: 77: void ins_data ( struct date &data, int n_data ) 78: { 79: char giorno [ dim25 ], mese [ dim25 ], anno [ dim25 ]; 80: 81: data.giorno = ins_stringa ( giorno, "GIORNO", 2, n_data, data ); 82: data.mese = ins_stringa ( giorno, "MESE", 2, n_data, data ); 83: data.anno = ins_stringa ( giorno, "ANNO", 4, n_data, data ); 84: } 85: 86: int ins_stringa ( char stringa[], char nome[], int lun, int n_data, struct date &data ) 87: { 88: int restituisci_numero = 0; 89: char o = 248; 90: intestazione_main(); 91: cout << "\n\n Inserisci la " << n_data << o << " data: "; 92: 93: do 94: { 95: intestazione_main(); 96: cout << "\n\n INSERISCI LA " << n_data << o << " DATA:"; 97: if ( nome == "ANNO" ) cout << "\n\n Inserire l' "; 98: else cout << "\n\n Inserire il "; 99: colortext ( BLU ); 100: cout << nome; 101: 102: colortext ( BIANCO ); 103: cout << " ( max " << lun << " caratteri numerici): \n\n"; 104: colortext ( BLU ); 105: cout << " --> "; 106: fflush ( stdin ); 107: cin.get ( stringa, dim20 ); 108: fflush ( stdin ); 109: colortext ( BIANCO ); 110: 111: } while ( controllo_stringa_numerica ( stringa, nome, lun, data ) ); 112: 113: restituisci_numero = atoi ( stringa ); 114: return restituisci_numero; 115: } 116: 117: int controllo_stringa_numerica ( char stringa[], char nome[], int lun, struct date &data ) 118: { 119: register int i; 120: int lun_stringa = 0, controllo_num = 0; 121: 122: for ( i = 0 ; i < dim5 ; i ++ ) 123: { 124: if ( stringa [ i ]!= '\0' ) 125: { 126: lun_stringa ++; 127: } 128: else break; 129: } 130: 131: if ( lun_stringa > lun lun_stringa < lun ) 132: { 133: colortext ( BLU ); 134: cout << "\n\n * * ERRORE: "; 135: colortext ( BIANCO ); 136: if ( lun_stringa > lun ) cout << "superata lunghezza massima di "; 137: else cout << "lunghezza inferiore a "; 138: colortext ( BLU ); 139: cout << lun << " CARATTERI.\n\n"; 140: colortext ( BIANCO ); 141: cout << " Ripetere l'inserimento.\n\n\n"; 142: system("pause"); 143: return 1; 144: } 145: 146: for ( i = 0 ; i < lun_stringa ; i++ ) 147: { 148: if ( ( stringa[i] < 48 ) ( stringa[i] > 57 ) )
3 149: { 150: colortext ( BLU ); 151: cout << "\n\n Errore: "; 152: colortext ( BIANCO ); 153: cout << "inseriti caratteri non numerici.\n\n"; 154: cout << " Ripetere l'inserimento\n\n\n\n\n\n"; 155: system("pause"); 156: return 1; 157: } 158: } 159: 160: controllo_num = atoi ( stringa ); 161: 162: if (! strcmp ( nome, "GIORNO") ) 163: { 164: if ( controllo_num < 1 controllo_num > 31 ) 165: { 166: colortext ( BLU ); 167: cout << "\n\n Errore: "; 168: colortext ( BIANCO ); 169: cout << "inserito un valore numerico non compatibile.\n\n"; 170: cout << " ( Valori ammessi: da 1 a 31 ).\n\n"; 171: cout << " Ripetere l'inserimento\n\n\n\n\n\n"; 172: system("pause"); 173: return 1; 174: } 175: } 176: 177: if (! strcmp ( nome, "MESE") ) 178: { 179: if ( controllo_num < 1 controllo_num > 12 ) 180: { 181: colortext ( BLU ); 182: cout << "\n\n Errore: "; 183: colortext ( BIANCO ); 184: cout << "inserito un valore numerico non compatibile.\n\n"; 185: cout << " ( Valori ammessi: da 1 a 12 ).\n\n"; 186: cout << " Ripetere l'inserimento\n\n\n\n\n\n"; 187: system("pause"); 188: return 1; 189: } 190: 191: if ( controllo_num == 2) 192: { 193: if ( data.giorno > giorni_mese [ controllo_num - 1 ] + 1 ) 194: { 195: colortext ( BLU ); 196: cout << "\n\n Errore: "; 197: colortext ( BIANCO ); 198: cout << "inserito un valore numerico per il giorno non compatibile col mese.\n\n"; 199: cout << " ( Valori ammessi: da 1 a "; 200: if ( controllo_num == 2 ) cout << giorni_mese [ controllo_num -1 ] << "/29 ).\n\n"; 201: else cout << giorni_mese [ controllo_num -1 ] << " ).\n\n"; 202: cout << " Ripetere l'inserimento\n\n\n\n\n\n"; 203: system("pause"); 204: return 1; 205: } 206: } 207: else 208: { 209: if ( data.giorno > giorni_mese [ controllo_num - 1 ] ) 210: { 211: colortext ( BLU ); 212: cout << "\n\n Errore: "; 213: colortext ( BIANCO ); 214: cout << "inserito un valore numerico per il giorno non compatibile col mese.\n\n"; 215: cout << " ( Valori ammessi: da 1 a "; 216: if ( controllo_num == 2 ) cout << giorni_mese [ controllo_num -1 ] << "/29 ).\n\n"; 217: else cout << giorni_mese [ controllo_num -1 ] << " ).\n\n"; 218: cout << " Ripetere l'inserimento\n\n\n\n\n\n"; 219: system("pause"); 220: return 1; 221: } 222: }
4 223: } 224: 225: if (! strcmp ( nome, "ANNO") ) 226: { 227: if (! anno_bisestile ( controllo_num ) && data.mese == 2 ) 228: { 229: if ( data.giorno > giorni_mese [ data.mese - 1 ] ) 230: { 231: colortext ( BLU ); 232: cout << "\n\n Errore: "; 233: colortext ( BIANCO ); 234: cout << "anno non bisestile: valore del giorno non compatibile col mese.\n\n"; 235: cout << " Ripetere l'inserimento\n\n\n\n\n\n"; 236: system("pause"); 237: return 1; 238: } 239: } 240: } 241: 242: return 0; 243: } 244: 245: int anno_bisestile ( int anno ) 246: { 247: if (!(anno % 100 ) &&!( anno % 400 ) (!( anno % 4 ) && ( anno % 100 ) ) ) 248: { 249: return 1; 250: } 251: else return 0; 252: } 253: void scambia_date ( struct date &data1, struct date &data2 ) 254: { 255: date data_temp; 256: 257: if ( data1.anno > data2.anno ( data1.mese > data2.mese && data1.anno == data2.anno ) ) 258: { 259: data_temp = data1; 260: data1 = data2; 261: data2 = data_temp; 262: } 263: } 264: 265: int calcola_giorni ( struct date &data1, struct date &data2 ) 266: { 267: register int i=0, conto_giorni = 0, mese_corrente = 0, anno_corrente = 0; 268: int bisestile = 0, mese_finale = 0, anno_finale = 0; 269: 270: anno_corrente = data1.anno; 271: mese_corrente = data1.mese; 272: anno_finale = data2.anno; 273: mese_finale = data2.mese; 274: 275: if ( data1.anno == data2.anno && data1.mese == data2.mese ) 276: { 277: conto_giorni = data2.giorno - data1.giorno + 1; 278: return conto_giorni; 279: } 280: 281: conto_giorni = ( giorni_mese [ mese_corrente - 1 ] - data1.giorno ) + 1; // Somma i giorni del 1 mese 282: mese_corrente ++; 283: bisestile = anno_bisestile ( anno_corrente ); 284: if ( data1.mese == 2 && bisestile ) conto_giorni += 1; // Aggiunge 1 giorno se il mese è febbraio 285: // e se l'anno è bisestile. 286: conto_giorni += data2.giorno; 287: mese_finale --; 288: if (! mese_finale ) 289: { 290: mese_finale = 12; 291: anno_finale --; 292: } 293: 294: if ( mese_corrente == data2.mese && data1.anno == data2.anno ) return conto_giorni; 295: 296: while ( anno_corrente < anno_finale )
5 297: { 298: bisestile = anno_bisestile ( anno_corrente ); 299: for ( i = mese_corrente ; i < 13 ; i ++ ) 300: { 301: conto_giorni += giorni_mese [ i - 1 ]; 302: if ( i == 2 && bisestile ) conto_giorni += 1; 303: } 304: anno_corrente ++; 305: mese_corrente = 1; 306: } 307: 308: while ( anno_corrente == anno_finale && mese_corrente <= mese_finale ) 309: { 310: bisestile = anno_bisestile ( anno_corrente ); 311: for ( i = mese_corrente ; i <= mese_finale ; i ++, mese_corrente ++ ) 312: { 313: conto_giorni += giorni_mese [ i - 1 ]; 314: if ( i == 2 && bisestile ) conto_giorni += 1; 315: } 316: } 317: return conto_giorni; 318: } 319: 320: void mostra_data ( struct date &data, int n_data ) 321: { 322: char o = 248; 323: cout << "\n\n " << n_data << o << " data: "; 324: cout << data.giorno << "/" << data.mese << "/" << data.anno; 325: } 326: 327: void colortext ( int color ) 328: { 329: if ( color == BLU ) 330: { 331: SetConsoleTextAttribute ( GetStdHandle ( STD_OUTPUT_HANDLE ), FOREGROUND_BLUE 332: FOREGROUND_GREEN FOREGROUND_INTENSITY BACKGROUND_BLUE ); 333: } 334: 335: if ( color == BIANCO ) 336: { 337: SetConsoleTextAttribute ( GetStdHandle ( STD_OUTPUT_HANDLE ), FOREGROUND_BLUE 338: FOREGROUND_GREEN FOREGROUND_RED FOREGROUND_INTENSITY BACKGROUND_BLUE ); 339: } 340: } 341: 342: char scelta_main ( char scelta ) // Gestione della scelta dell'operazione da effettuare 343: { 344: while (! _kbhit() ) sleep ( 50 ); // Ciclo che attende la pressione di un tasto 345: scelta = getch(); 346: fflush ( stdin ); 347: scelta = tolower ( scelta ); 348: return scelta; 349: } 350:
1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S.
1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S. Molinari 4: Il programma gestisce gli articoli di un negozio
Dettaglistruct 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
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
DettagliAggiornamento : 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.
DettagliProva 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
DettagliStrutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.
Operatori di incremento e decremento ++ e -- Esempi y=x++ il contenuto della variabile x viene inizialmente usata per l assegnazione y, e solo dopo incrementata y=--x il contenuto della variabile x viene
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
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
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
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
DettagliUn programma per la gestione delle prenotazioni di un agriturismo può essere realizzato a partire dalle seguenti costanti e dai seguenti tipi:
Un programma per la gestione delle prenotazioni di un agriturismo può essere realizzato a partire dalle seguenti costanti e dai seguenti tipi: #define MAXS 100; #define MAXP 50; #define MAXC 30; int giorno;
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018
Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.
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
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 ). *
DettagliLaboratorio 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
DettagliEsercizi. Stringhe. Stringhe Ricerca binaria
Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)
DettagliCorso 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
DettagliCorso 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
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
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
DettagliGestire 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
DettagliStringhe. Concetti chiave
Concetti chiave Stringhe Variabili strutturate: array di caratteri Carattere di fine stringa Copiare, concatenare, confrontare e convertire stringhe Funzioni standard strcpy, strcat, strcat, strcmp, atoi,
Dettagli1.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
Dettaglivoid funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
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
DettagliFondamenti 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
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliProva 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
DettagliStruttura di un programma C++
Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout
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
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
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017
DettagliMatematica - SMID : Programmazione 20 Febbraio 2007 FOGLIO RISPOSTE
Matematica - SMID : Programmazione 20 Febbraio 2007 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano
DettagliEsercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);
Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di
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
DettagliPuntatori e array. Violetta Lonati
Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array
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.
DettagliFondamenti di Informatica 1 - Compito A
Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 9 Gennaio 2007 Esercizio (16 punti) Un programma in linguaggio C deve rilevare se un punto del piano, le cui coordinate sono lette da tastiera,
DettagliL organizzazione dei programmi
L organizzazione dei programmi Lo sviluppo top-down L.S. Touschek - A.S. 2015/2016 - I fondamenti del Linguaggio C F. Cardarelli Lo sviluppo top-down I problemi complessi Blocco 1 Istruzione 1 Istruzione
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
DettagliStruttura 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
DettagliNel 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 =
DettagliLaboratorio di Informatica
Strutture di dati Laboratorio di Informatica 5. Strutture / Array di oggetti / Pila&Coda in C++ Una struttura è un insieme finito di variabili (dette campi) non necessariamente dello stesso tipo, ognuna
DettagliProva Scritta del 19/07/10
Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da un solo lato. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo
DettagliPr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè
Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n 1 Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n P1. trovare il maggiore fra i primi 2 numeri; P2. trovare il maggiore fra il terzo
DettagliStringhe: vettori di caratteri con terminatore
Stringhe: vettori di caratteri con terminatore L applicazione più comune degli array ad una dimensione è la creazione di stringhe 1. Nel linguaggio C++ tradizionale una stringa viene definita come un array
DettagliComplementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -
Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin
DettagliRecord in C: il costruttore struct.
Record in C: il costruttore struct. Le variabili di tipo record e i nuovi tipi record si dichiarano in C tramite il costruttore di tipo struct:. ::= ;
DettagliComplementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -
Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin
DettagliConcetto 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
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
DettagliESERCIZIO 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,
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
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
DettagliProva 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
DettagliMatematica - SMID : Programmazione Gennaio 2009 FOGLIO RISPOSTE
Matematica - SMID : Programmazione Gennaio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...
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
DettagliEsercitazioni Informatica Novembre Gruppo A 24 Novembre Gruppo B. Esercizi
Esercitazioni Informatica 1 17 Novembre Gruppo A 24 Novembre Gruppo B Esercizi 1 - Scrivere un programma che acquisita una frase permetta a scelta dell'utente di 1. Stamparla 2. Stamparla invertita 3.
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
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 25 Marzo 2005 Esercizio 1 (2 punti) Convertire in formato binario, ed esadecimale il numero 372. Mostrare il procedimento usato per ottenere il risultato.
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;
DettagliEsercizio 1: media di numeri reali (uso funzioni e struct)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le
DettagliESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza vers.0 in lavorazione Docente SAFFI FABIO Contenuti Implementazione delle operazioni di base mediante main in un unico file sorgente... 2 Struttura
DettagliLIA. LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L
LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L Corso di laurea in Ingegneria Chimica - Anno Accademico 2007-2008 Funzioni Esercizio 3.3 Si scriva un programma in linguaggio
DettagliIstruzioni 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
DettagliLinguaggio C - Stringhe
ISTITUTO SECONDARIO DI ISTRUZIONE SUPERIORE "Guido Tassinari" di POZZUOLI Informatica Prof. A.S. 2011/2012 Linguaggio C - Stringhe 27/04/2012 Array di caratteri Una stringa è: Un array di caratteri Termina
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
DettagliArray. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali
MASTER Information Technology Excellence Road (I.T.E.R.) Array Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di dato stutturati In C si possono
DettagliCorso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni. Prova Scritta 19 aprile 2007
Corso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni Avvertenze Consegnare solo fogli formato A4. Scrivere su un solo lato (no fronte retro) In ordine di preferenza usare inchiostro nero,
DettagliEsercitazione di Reti degli elaboratori
Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione
DettagliIL 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
DettagliLe 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
DettagliLab 09 Gestione file di testo
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 09 Gestione file di testo Lab15 1
DettagliINFORMATICA 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
DettagliEsercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind
DettagliIndice. 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)
DettagliPROVA PRATICA DI FONDAMENTI DI INFORMATICA L-A Prof. MICHELA MILANO 25 NOVEMBRE 2004 COMPITO A
PROVA PRATICA DI FONDAMENTI DI INFORMATICA L-A Prof. MICHELA MILANO 25 NOVEMBRE 2004 COMPITO A Si scriva un programma C che permetta di inserire i dati relativi a correntisti di una banca (si supponga
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
DettagliTutorato Programmazione 1 Modulo 2
Tutorato Programmazione 1 Modulo 2 Matrici e Stringhe Do#. Michele Ciampi Esercizi svol5 con standard C99 Matrici Prendere in input una matrice NxN (controllare che N
DettagliStrutture di Controllo Iterative: Istruzioni While e Do
Linguaggio C Strutture di Controllo Iterative: Istruzioni While e Do 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione
Dettaglicout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;
Funzioni int n, ris; cout n; ris = n*2; cout
DettagliBloodshed 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 8 Dev-C++ - Installazione Con sistema operativo Windows, potete
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
DettagliInformatica e elementi di informatica medica. Laboratori del 26 e del 29 Marzo 2010
Informatica e elementi di informatica medica Laboratori del 26 e del 29 Marzo 2010 Calcolo dell età dell utente 1 Esercizio 1: Calcolo dell età dell utente Scrivere un programma in linguaggio C che chieda
Dettaglivoid concatenastringhe (char st1[], char st2[], char stout[]) { int n=0,s=0; // dichiarazione variabili con inizializzazioni
// funzione che concatena due stringhe void concatenastringhe (char st1[], char st2[], char stout[]) int n=0,s=0; // dichiarazione variabili con inizializzazioni while (st1[n] = '\0') stout[n++] = st1[n];
DettagliInput / Output, Espressioni Condizionali e Cicli
LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Laboratorio di informatica LA Corso di laurea in Ingegneria Informatica - Anno Accademico 2007-2008 Input / Output, Espressioni Condizionali e
DettagliEsercizi C sui tipi definiti dall utente
Politecnico di Milano Esercizi C sui tipi definiti dall utente Typedef,, tipi enumerativi e strutturati Sinonimi: typedef int Intero; Intero a; int b; Definire un nuovo tipo typedef char Stringa[10]; Stringa
DettagliRelativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato.
Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 2 febbraio 2016 Esercizio 1 (16 punti) Un file di testo contiene
DettagliCompito di Fondamenti di Informatica
Compito di Fondamenti di Informatica In un magazzino viene utilizzato un archivio informatico, nel quale vengono memorizzate le informazioni relative ai prodotti contenuti nel magazzino e che ne permette
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliFattorizzazione e curve ellittiche polinomi di II, II e IV grado
Fattorizzazione e curve ellittiche polinomi di II, II e IV grado Di Cristiano Armellini (cristiano.armellini@alice.it) Torniamo ancora una volta al problema della fattorizzazione p=ab e descriviamo un
DettagliEsercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da
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
DettagliEsercizio 1. Esercizio 1 - Soluzione
Esercizio 1 Realizzare un programma che, aperto un file di testo di nome Prova.txt in modalità scrittura, provveda a leggere da input delle parole separate da spazi (stringhe di al più 63 caratteri) e
Dettagli