Matematica - SMID : Programmazione Giugno 2007 FOGLIO RISPOSTE

Documenti analoghi
Matematica - SMID : Programmazione 20 Febbraio 2007 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Gennaio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Luglio 2007 FOGLIO RISPOSTE

Matematica - SMID : Programmazione 16 Febbraio 2004

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione 22 Gennaio 2004 Testo e Risposte

Esame di Programmazione 18 Febbraio 2003 TESTO E RISPOSTE

Scritto di Algoritmi e s.d. (1o anno) 27 Settembre 2005 RISPOSTE

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

Scritto di Algoritmi e s.d. (1o anno) 5 Luglio 2005

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

Fondamenti di Informatica Ing. Biomedica

Prova Scritta del 20/09/10

L AMBIENTE CODE BLOCKS E L IO

1a Prova parziale di Programmazione 29 Novembre 2002 TESTO E RISPOSTE

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

Prova Scritta del 20/09/10

L AMBIENTE CODE BLOCKS E L IO

ciclo di vita della soluzione (informatica) di un problema

Tipi strutturati - struct

Programmazione I (Classe 1)

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Esempi e esercitazioni sulle matrici e strutture

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1)

Fondamenti di Informatica Ing. Biomedica

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe

Elementi di Informatica A. A. 2016/2017

a.a Codice corso: 21012

Introduzione al C++ Parte 2

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde

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

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

Esercizio 1 (17 punti)

INTRODUZIONE ALLA PROGRAMMAZIONE

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica)

ESPRESSIONI. Ivan Lanese

dott. Sabrina Senatore

Programmazione di base

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

Esercizio 1 (15 punti)

Dati due punti sul piano calcolare la loro distanza

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Struttura di un linguaggio

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

Per implementare l Algoritmo si devono usare 2 coppie di indici :

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

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

Programmazione I (Classe 1)

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

Ricerca sequenziale di un elemento in un vettore

Array multidimensionali e stringhe

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè

Per fare riferimento ad un elemento, specificare il nomedel vettore. numerodi posizione(indice)

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Elementi di Informatica e Programmazione Allievi Ingegneria Informatica, Elettronica e delle Telecomunicazioni, Automazione Industriale

LABORATORIO di INFORMATICA

Esercitazione 6. Array

Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome

Fondamenti di Informatica 2

AGGIORNAMENTI RECENTI IN C++ Programmazione ad Oggetti Corso di Laurea in Informatica Università della Calabria

Puntatori e array. Violetta Lonati

Programmazione modulare

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Algoritmo di ordinamento per scambio (a bolle o bubble sort)

File: /home/peppino/area_lavori/ese orgenti/oggetti/ohm_classe.cpp Pagina 1 di 5

IL COSTRUTTO SEQUENZA

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Programmazione di base

Laboratorio di Informatica I

Sistemi Operativi (M. Cesati)

Programmazione I - Laboratorio

Esercizi. Stringhe. Stringhe Ricerca binaria

Prova Scritta del 19/07/10

Le stringhe. Le stringhe

Lezione 6: Array e puntatori

File: /home/peppino/area_lavori/ese enti/oggetti/timbro_classe.cpp Pagina 1 di 5

Fondamenti di Programmazione

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

Programmazione I (Classe 1)

Corso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione

Dispensa 18 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN INGEGNERIA E SCIENZE INFORMATICHE CESENA. Laboratori

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

Soluzione. Verifica Scritta Quartu S.E. L.S. - Brotzu Opzione Scienze Applicate

Gestire le situazioni di errore

Programmazione I (Classe 1)

a.a Codice corso: 21012, HOMEWORKS

Stringhe e allocazione dinamica della memoria

Gli array. slides credit M. Poneti

Standard Input e Standard Output

Transcript:

Matematica - SMID : Programmazione Giugno 2007 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte... non dovete "scrivere" gli "a capo", ma solo passare alla riga successiva Esercizio 2 su foglio protocollo (ordinatamente!) 1

Matematica - SMID : Programmazione Giugno 2007 Esercizio 1 Comprensione codice Versione C++ (punti 9 in prima approssimazione) Consideriamo il seguente codice C++ (che non è un buon esempio di codice C++) #include <iostream> using namespace std; const int DIM = 16 ; int iii = 7 ; void pp( ) ; void qq (int &, int) ; void vv(char s [], int); int main( ) { int a = 5; int b = 3; char str[dim+1]; iii=13; pp( ); cout << "main 1: " << iii << "\n" ; qq(a, b) ; cout << "main 2: " << a << " " << b << "\n" ; vv(str, 8); cout << "main 3: " << str << "\n" ; return(0); void pp() { iii= iii%2 ; cout <<"pp: " << iii << "\n" ; void qq( int &x, int y) { y = x + y; x = y + x; cout << "qq: " << x << " " << y << "\n" ; void vv( char s[], int last ) { int k; for (k=0; k<last; k++) s[k] = 'a'+k+1; s[k]= '\0'; Sul foglio risposte scrivere l'output del programma; tutto l'output, però non state a contare gli spazi bianchi... 2

Esercizio 1 Comprensione codice Versione C (punti 9 in prima approssimazione) Consideriamo il seguente codice C (che non è un buon esempio di codice C!) #include <stdio.h> #define DIM 16 int iii = 7 ; void pp( ) ; void qq (int *, int) ; void vv(char s [], int); int main() { int a = 5; int b = 3; char str[dim+1]; iii=13; pp( ); printf ("main 1: %d \n", iii ) ; qq(&a, b) ; printf ("main 2: %d %d \n", a, b) ; vv(str, 8); printf ("main 3: %s \n", str) ; return(0); void pp() { iii= iii%2 ; printf ("pp: %d \n", iii) ; void qq( int *x, int y) { y = *x + y; *x = y + *x; printf ("qq: %d %d \n", *x, y ) ; void vv( char s[], int last ) { int k; for (k=0; k<last; k++) s[k] = 'a'+k+1; s[k]= '\0'; Sul foglio risposte scrivere l'output del programma; tutto l'output, però non state a contare gli spazi bianchi... 3

Esercizio 2 Progetto di algoritmo (punti 21 in prima approssimazione) Si tratta di progettare un algoritmo che controlla un calendario esami. L'enfasi è sul progetto piu' che sui dettagli; perciò si consiglia di usare pseudo-codice. Lo schema (del funzionamento) dell'algoritmo è il seguente: 1) Inizializzazione... 2) Legge, da un file di nome ESAMI, un calendario: tante righe contenenti dove: corso, anno, giorno, mese corso identifica il corso; ci sono K corsi (con K costante nota) anno : 1o, 2o, 3o della laurea triennale, 1o e 2o della specialistica mese: giugno o luglio (solamente) giorno identifica il giorno del mese da 1 a 30 (a luglio saltiamo il 31, inoltre vanno bene anche i sabati e le domeniche). 3) Controlla che il calendario sia corretto: 3.1) ogni corso deve avere esattamente 2 appelli, con un intervallo di almeno 15 giorni; 3.2) in un giorno non ci possono essere due esami relativi al medesimo anno. Se va tutto bene, si scrive un semplice messaggio. Se ci sono errori, bisogna segnalarli, con un messaggio opportuno, ma non troppo specifico; ad esempio: corso 4 : mancano appelli corso 5 : appelli troppo vicini giorno x : piu' esami dello stesso anno Il controllo deve "arrivare fino in fondo", anche in presenza di errori (in altre parole: trovato un errore, lo si segnala, e poi si continua a controllare); ignorare il fatto che la presenza di un errore può "falsare" i controlli successivi. Note. Al punto 2: supponiamo che ogni riga sia corretta, è l'insieme delle righe che può essere incompleto o incoerente. I punti 2 e 3 sono concettualmente distinti, ma non necessariamente separati nell'algoritmo. Specifiche sull'algoritmo: L'algoritmo deve seguire (grosso modo) la struttura delineata sopra. 4

Non si devono usare "variabili globali": passaggi di dati tra "main" ed eventuali procedure e funzioni devono avvenire tramite parametri e il risultato delle funzioni. Per tutto quello che non è precisato nel testo, siete liberi di decidere voi, ma dovete dichiarare le scelte fatte. Domande a) Precisare come sono codificati dati nel file. b) Precisare le idee essenziali dell'agoritmo e le strutture dati principali usate. Se non trovo la risposta ad a) e b) non correggo il resto. c) Scrivere, usando lo pseudo-codice utilizzato nelle dispense (oppure il C, ma non ve lo consiglio), l'algoritmo completo, commentando, quando necessario. Non perdere tempo a dettagliare: apertura file, formato nelle istruzioni di input / output,... ed altri aspetti di poco conto. Precisare bene, al contrario: la struttura, il ruolo delle variabili principali, i parametri delle procedure / funzioni..., a meno di non aver spiegato a vsufficienza al punto b). 5