Esame di Programmazione I e Informatica Generale I

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esame di Programmazione I e Informatica Generale I"

Transcript

1 Esame di Programmazione I e Informatica Generale I 20 novembre 2002 Prof. Sebastiani Codice:... Nome Cognome Matricola La directory esame contiene 5 sotto-directory: uno, due, tre, quattro e cinque. Le soluzioni vanno scritte negli spazi e nei modi indicati esercizio per esercizio. NOTA: il codice dato non può essere modificato. Modalità d Esame Durante la prova gli studenti sono vincolati a seguire le regole seguenti: Non è consentito l uso di alcun libro di testo o fotocopia. In caso lo studente necessitasse di carta (?), gli/le verranno forniti fogli di carta bianca su richiesta, che dovranno essere riconsegnati a fine prova. È consentito l uso di una penna. Non è consentito l uso di alcuno strumento calcolatore. È vietato lo scambio di qualsiasi informazione, orale o scritta. È vietato guardare nel terminale del vicino. È vietato l uso di telefoni cellulari o di qualsiasi strumento elettronico. È vietato allontanarsi dall aula durante la prova, anche se si ha già consegnato. (Ogni necessità fisiologica va espletata PRIMA dell inizio della prova.) È vietato qualunque accesso, in lettura o scrittura, a file esterni alla directory di lavoro assegnata a ciascun studente. Le uniche operazioni consentite sono l apertura, l editing, la copia, la rimozione e la compilazione di file all interno della propria directory di lavoro. Sono ovviamente vietati l uso di , ftp, ssh, telnet ed ogni strumento che consenta di accedere a file esterni alla directory di lavoro. Le operazioni di copia, rimozione e spostamento di file devono essere circoscritte alla directory di lavoro. Ogni altra attività non espressamente citata qui sopra o autorizzata dal docente è vietata. Ogni violazione delle regole di cui sopra comporterà automaticamente l annullamento della prova e il divieto di accesso ad un certo numero di appelli successivi, a seconda della gravità e della recidività della violazione. NOTA IMPORTANTE: DURANTE LA PROVA PER OGNI STUDENTE VERRÀ ATTIVATO UN TRACCIATORE SOFTWARE CHE REGISTRERÀ TUTTE LE OPERAZIONI ESEGUITE (ANCHE ALL INTERNO DELL EDITOR!!). L ANNULLAMENTO DELLA PRO- VA DI UNO STUDENTE POTRÀ AVVENIRE ANCHE IN UN SECONDO MOMENTO, SE L ANALISI DELLE TRACCE SOFTWARE RIVELASSERO IRREGOLARITÀ. 1

2 1 Dato il seguente main: void main () double x; cout << " x = "; cin >> x; cout << " f(x) = " << f(x) << endl; scrivere la definizione della funzione f: double f (double x); tale che, preso in input un valore reale x, restituisca il valore della seguente funzione matematica, calcolata in x: cos x se x 0 f(x) = x se 0 < x 1 ln x se x > 1 Si utilizzino le seguenti funzioni della libreria math.h: double cos (double x); double log (double x); double sqrt (double x); che restituiscono rispettivamente il coseno, il logaritmo e la radice quadrata di un numero reale x passato come parametro. 2

3 1 Dato il seguente main: void main () double x; cout << " x = "; cin >> x; cout << " f(x) = " << f(x) << endl; scrivere la definizione della funzione f: double f (double x); tale che, preso in input un valore reale x, restituisca il valore della seguente funzione matematica, calcolata in x: sin x se x 10 f(x) = ln x se 10 < x 100 x se x > 100 Si utilizzino le seguenti funzioni della libreria math.h: double sin (double x); double log (double x); double sqrt (double x); che restituiscono rispettivamente il seno, il logaritmo e la radice quadrata di un numero reale x passato come parametro. 3

4 1 Dato il seguente main: void main () double x; cout << " x = "; cin >> x; cout << " f(x) = " << f(x) << endl; scrivere la definizione della funzione f: double f (double x); tale che, preso in input un valore reale x, restituisca il valore della seguente funzione matematica, calcolata in x: 1 se x < 8 f(x) = cos x se 8 x < 8 x se x 8 Si utilizzino le seguenti funzioni della libreria math.h: double cos (double x); double sqrt (double x); che restituiscono rispettivamente il coseno e la radice quadrata di un numero reale x passato come parametro. 4

5 1 Dato il seguente main: void main () double x; cout << " x = "; cin >> x; cout << " f(x) = " << f(x) << endl; scrivere la definizione della funzione f: double f (double x); tale che, preso in input un valore reale x, restituisca il valore della seguente funzione matematica, calcolata in x: sin x se x < 5 f(x) = 0 se 5 x < 5 cos x se x 5 Si utilizzino le seguenti funzioni della libreria math.h: double cos (double x); double sin (double x); che restituiscono rispettivamente il coseno ed il seno di un numero reale x passato come parametro. 5

6 2 Il metodo di Newton è un metodo iterativo che permette di ottenere, tramite la formula riportata qui sotto, un approssimazione sempre più precisa della radice quadrata di un numero reale x. Partendo da un opportuna approssimazione iniziale (approx 0 = x), la formula è la seguente: x approx i 1 approx i = approx i dove per approx i si intende l approssimazione della radice di x all i-esimo passo. Il metodo termina nel momento in cui (approx i ) 2 x < x ε per una data tolleranza ε ( epsilon ). Dato il seguente main: void main () double x,eps,risultato; do cout << "Inserisci il valore per cui approssimare la radice: \n"; cin >> x; if (x < 0) cout << "Errore! Ripeti l inserimento. \n"; while (x < 0); cout << "Inserisci la tolleranza desiderata: \n"; cin >> eps; if (x == 0) risultato = 0.0; else risultato = radice_newton(x,eps); cout << "Il valore approssimato della radice di x e pari a: " << risultato << endl; scrivere la definizione della funzione radice newton: double radice_newton (double x, double eps); in grado di calcolare e ritornare la radice quadrata di x con una data tolleranza eps, usando il metodo di approssimazione di Newton. Si utilizzino le seguenti funzioni della libreria math.h: double fabs (double x); double pow (double x, double y); che restituiscono rispettivamente il valore assoluto di un numero reale x e il valore di x elevato alla y. 6

7 2 Il metodo di Newton è un metodo iterativo che permette di ottenere, tramite la formula riportata qui sotto, un approssimazione sempre più precisa della radice cubica di un numero reale x. Partendo da un opportuna approssimazione iniziale (approx 0 = x), la formula è la seguente: approx i = 2 3 approx x i 1 + 3(approx i 1 ) 2 dove per approx i si intende l approssimazione della radice cubica di x all i-esimo passo. Il metodo termina nel momento in cui per una data tolleranza ε ( epsilon ). Dato il seguente main: void main () double x,eps,risultato; (approx i ) 3 x < x ε do cout << "Inserisci il valore per cui approssimare la radice: \n"; cin >> x; if (x < 0) cout << "Errore! Ripeti l inserimento. \n"; while (x < 0); cout << "Inserisci la tolleranza desiderata: \n"; cin >> eps; if (x == 0) risultato = 0.0; else risultato = radice_cubica_newton(x,eps); cout << "Il valore approssimato della radice cubica di x e pari a: " << risultato << endl; scrivere la definizione della funzione radice cubica newton: double radice_cubica_newton (double x, double eps); in grado di calcolare e ritornare la radice cubica di x con una data tolleranza eps, usando il metodo di approssimazione di Newton. Si utilizzino le seguenti funzioni della libreria math.h: double fabs (double x); double pow (double x, double y); che restituiscono rispettivamente il valore assoluto di un numero reale x e il valore di x elevato alla y. 7

8 2 Il metodo di Newton è un metodo iterativo che permette di ottenere, tramite la formula riportata qui sotto, un approssimazione sempre più precisa della radice quarta di un numero reale x. Partendo da un opportuna approssimazione iniziale (approx 0 = x), la formula è la seguente: approx i = 3 4 approx x i 1 + 4(approx i 1 ) 3 dove per approx i si intende l approssimazione della radice quarta di x all i-esimo passo. Il metodo termina nel momento in cui per una data tolleranza ε ( epsilon ). Dato il seguente main: void main () double x,eps,risultato; (approx i ) 4 x < x ε do cout << "Inserisci il valore per cui approssimare la radice: \n"; cin >> x; if (x < 0) cout << "Errore! Ripeti l inserimento. \n"; while (x < 0); cout << "Inserisci la tolleranza desiderata: \n"; cin >> eps; if (x == 0) risultato = 0.0; else risultato = radice_quarta_newton(x,eps); cout << "Il valore approssimato della radice quarta di x e pari a: " << risultato << endl; scrivere la definizione della funzione radice quarta newton: double radice_quarta_newton (double x, double eps); in grado di calcolare e ritornare la radice quarta di x con una data tolleranza eps, usando il metodo di approssimazione di Newton. Si utilizzino le seguenti funzioni della libreria math.h: double fabs (double x); double pow (double x, double y); che restituiscono rispettivamente il valore assoluto di un numero reale x e il valore di x elevato alla y. 8

9 2 Il metodo di Newton è un metodo iterativo che permette di ottenere, tramite la formula riportata qui sotto, un approssimazione sempre più precisa della radice quinta di un numero reale x. Partendo da un opportuna approssimazione iniziale (approx 0 = x), la formula è la seguente: approx i = 4 5 approx x i 1 + 5(approx i 1 ) 4 dove per approx i si intende l approssimazione della radice quinta di x all i-esimo passo. Il metodo termina nel momento in cui per una data tolleranza ε ( epsilon ). Dato il seguente main: void main () double x,eps,risultato; (approx i ) 5 x < x ε do cout << "Inserisci il valore per cui approssimare la radice: \n"; cin >> x; if (x < 0) cout << "Errore! Ripeti l inserimento. \n"; while (x < 0); cout << "Inserisci la tolleranza desiderata: \n"; cin >> eps; if (x == 0) risultato = 0.0; else risultato = radice_quinta_newton(x,eps); cout << "Il valore approssimato della radice quinta di x e pari a: " << risultato << endl; scrivere la definizione della funzione radice quinta newton: double radice_quinta_newton (double x, double eps); in grado di calcolare e ritornare la radice quinta di x con una data tolleranza eps, usando il metodo di approssimazione di Newton. Si utilizzino le seguenti funzioni della libreria math.h: double fabs (double x); double pow (double x, double y); che restituiscono rispettivamente il valore assoluto di un numero reale x e il valore di x elevato alla y. 9

10 3 Dato il seguente main: void main() int app, a, b; cout << "Inserisci il numeratore: "; cin >> a; cout << "Inserisci il denominatore: "; cin >> b; app = semplifica (a, b); if (app==-1) cout<<"attenzione: frazione indeterminata."<<endl; else cout << "In numeratore semplificato corrisponde a " << a << endl; cout << "In denominatore semplificato corrisponde a " << b << endl; e la funzione MCD per il calcolo del massimo comun divisore tra due numeri interi: int MCD (int a, int b); scrivere la definizione della funzione semplifica che, presi in input due interi a e b, rispettivamente il numeratore e denominatore di una frazione, sia in grado di semplificare tale frazione. Questa operazione viene effettuata dividendo i due numeri per il loro massimo comun divisore. La funzione da definire deve restituire 1 se la frazione è inammissibile, cioè se il denominatore è uguale a 0, mentre deve restituire 0 in tutti gli altri casi. In particolare si vuole che il denominatore sia sempre positivo e quindi, ad esempio, devono 1 essere effettuate le seguenti trasformazioni: 9 = 1 9 e 1 9 =

11 3 Dato il seguente main: void main() int app, a, b; cout << "Inserisci il numeratore: "; cin >> a; cout << "Inserisci il denominatore: "; cin >> b; app = semplifica (a, b); if (app==-1) cout<<"attenzione: frazione indeterminata."<<endl; else cout << "In numeratore semplificato corrisponde a " << a << endl; cout << "In denominatore semplificato corrisponde a " << b << endl; e la funzione MCD per il calcolo del massimo comun divisore tra due numeri interi: int MCD (int a, int b); scrivere la definizione della funzione semplifica che, presi in input due interi a e b, rispettivamente il numeratore e denominatore di una frazione, sia in grado di semplificare tale frazione. Questa operazione viene effettuata dividendo i due numeri per il loro massimo comun divisore. La funzione da definire deve restituire 1 se la frazione è inammissibile, cioè se il denominatore è uguale a 0, mentre deve restituire 0 in tutti gli altri casi. In particolare si vuole che il numeratore sia sempre positivo e quindi, ad esempio, devono 1 essere effettuate le seguenti trasformazioni: 9 = 1 9 e 1 9 =

12 3 Dato il seguente main: void main() int app, a, b; cout << "Inserisci il primo elemento: "; cin >> a; cout << "Inserisci il secondo elemento: "; cin >> b; cout << "(" << a <<")+("<< b <<") e equivalmente a "; app = raccogli (a, b); if (app==0) cout << "\nattenzione: entrambi gli elementi sono 0!" << endl; else cout << app <<"(("<< a <<")+("<< b <<"))"<< endl; e la funzione MCD per il calcolo del massimo comun divisore tra due numeri interi: int MCD (int a, int b); scrivere la definizione della funzione raccogli che, presi in input due interi a e b, sia in grado di raccogliere il loro fattore comune. Questa operazione viene effettuata dividendo i due numeri per il loro massimo comun divisore. La funzione da definire deve restituire 0 se i due numeri sono entrambi nulli, mentre deve restituire il loro massimo comun divisore in tutti gli altri casi. 12

13 3 Dato il seguente main: void main() int app, a, b; cout << "Inserisci il primo elemento: "; cin >> a; cout << "Inserisci il secondo elemento: "; cin >> b; cout << "(" << a <<")-("<< b <<") e equivalmente a "; app = raccogli (a, b); if (app==0) cout << "\nattenzione: entrambi gli elementi sono 0!" << endl; else cout << app <<"(("<< a <<")-("<< b <<"))"<< endl; e la funzione MCD per il calcolo del massimo comun divisore tra due numeri interi: int MCD (int a, int b); scrivere la definizione della funzione raccogli che, presi in input due interi a e b, sia in grado di raccogliere il loro fattore comune. Questa operazione viene effettuata dividendo i due numeri per il loro massimo comun divisore. La funzione da definire deve restituire 0 se i due numeri sono entrambi nulli, mentre deve restituire il loro massimo comun divisore in tutti gli altri casi. 13

14 4 Dato il seguente main: void main() const int MAX_DIM = 100; char testo[max_dim], parola[max_dim]; int dim, dim_parola, posizione; cout << "Quanti caratteri vuoi inserire nel vettore testo? "; cin >> dim; cout << "Inserimento caratteri del vettore testo: "<<endl; leggi_array (testo, dim); cout << "Quanti caratteri vuoi inserire nel vettore parola? "; cin >> dim_parola; cout << "Inserimento caratteri del vettore parola: "<<endl; leggi_array (parola, dim_parola); posizione = cerca_occorrenza (testo, dim, parola, dim_parola); if (posizione==-1) cout << "La parola inserita non si trova nel vettore testo:" << endl; stampa_array (testo, dim); else cout << "La parola inserita si trova alla posizione " << posizione; cout << " rispetto al vettore testo:" << endl; stampa_array (testo, dim); scrivere la definizione delle seguenti funzioni: la funzione leggi array void leggi_array (char vettore[],int dim); che legge da standard input e memorizza un dato numero dim di caratteri in un array; la funzione cerca occorrenza int cerca_occorrenza (char testo[],int dim, char parola[],int dim_parola); che cerca all interno di testo la posizione della prima occorrenza di parola, restituisce tale posizione, nel caso in cui un occorrenza venga trovata, e restituisce 1 in caso contrario. La ricerca dev essere effettuata scorrendo il vettore a partire dal suo primo elemento. Non e consentito l uso di funzioni di libreria per la manipolazione di stringhe! Sia dato ad esempio il seguente vettore testo: ed il seguente vettore parola: r c p i a r 3 ) t p p i a La funzione cerca occorrenza deve restituire in questo caso l intero 2; la funzione stampa array void stampa_array (char vettore[],int dim); che scrive su standard output il contenuto di un array. 14

15 4 Dato il seguente main: void main() const int MAX_DIM = 100; int testo[max_dim], parola[max_dim]; int dim, dim_parola, posizione; cout << "Quanti interi vuoi inserire nel vettore testo? "; cin >> dim; cout << "Inserimento interi del vettore testo: "<<endl; leggi_array (testo, dim); cout << "Quanti interi vuoi inserire nel vettore parola? "; cin >> dim_parola; cout << "Inserimento interi del vettore parola: "<<endl; leggi_array (parola, dim_parola); posizione = trova_sequenza (testo, dim, parola, dim_parola); if (posizione==-1) cout << "La sequenza di interi inserita non si trova nel vettore testo:\n"; stampa_array (testo, dim); else cout << "La sequenza di interi inserita si trova alla posizione " << posizione << " rispetto al vettore testo:" << endl; stampa_array (testo, dim); scrivere la definizione delle seguenti funzioni: la funzione leggi array void leggi_array (int vettore[],int dim); che legge da standard input e memorizza un dato numero dim di caratteri in un array; la funzione trova sequenza int trova_sequenza (int testo[],int dim, int parola[],int dim_parola); che cerca all interno di testo la posizione della prima occorrenza della sequenza di interi in parola, restituisce tale posizione, nel caso in cui un occorrenza venga trovata, e restituisce 1 in caso contrario. La ricerca dev essere effettuata scorrendo il vettore a partire dal suo primo elemento. Sia dato ad esempio il seguente vettore testo: ed il seguente vettore parola: La funzione trova sequenza deve restituire in questo caso l intero 4; la funzione stampa array void stampa_array (int vettore[],int dim); che scrive su standard output il contenuto di un array. 15

16 4 Dato il seguente main: void main() const int MAX_DIM = 100; char riga[max_dim], parola[max_dim]; int dim_riga, dim_parola, posizione; cout << "Quanti caratteri vuoi inserire nel vettore riga? "; cin >> dim_riga; cout << "Inserimento caratteri del vettore riga: "<<endl; leggi_array (riga, dim_riga); cout << "Quanti caratteri vuoi inserire nel vettore parola? "; cin >> dim_parola; cout << "Inserimento caratteri del vettore parola: "<<endl; leggi_array (parola, dim_parola); posizione = trova_parola (riga, dim_riga, parola, dim_parola); if (posizione==-1) cout << "La parola inserita non si trova nel vettore riga:" << endl; stampa_array (riga, dim_riga); else cout << "La parola inserita si trova alla posizione " << posizione; cout << " rispetto al vettore riga:" << endl; stampa_array (riga, dim_riga); scrivere la definizione delle seguenti funzioni: la funzione leggi array void leggi_array (char vettore[],int dim); che legge da standard input e memorizza un dato numero dim di caratteri in un array; la funzione trova parola int trova_parola (char riga[],int dim_riga, char parola[],int dim_parola); che cerca all interno di riga la posizione della prima occorrenza di parola, restituisce tale posizione, nel caso in cui un occorrenza venga trovata, e restituisce 1 in caso contrario. La ricerca dev essere effettuata scorrendo il vettore riga a partire dal suo primo elemento. Non e consentito l uso di funzioni di libreria per la manipolazione di stringhe! Sia dato ad esempio il seguente vettore riga: ed il seguente vettore parola: i o l a v o r o q u i a v o La funzione cerca occorrenza deve restituire in questo caso l intero 3; la funzione stampa array void stampa_array (char vettore[],int dim); che scrive su standard output il contenuto di un array. 16

17 4 Dato il seguente main: void main() const int MAX_DIM = 100; float vett_1[max_dim], vett_2[max_dim]; int dim_vett_1, dim_vett_2, posizione; cout << "Quanti numeri vuoi inserire nel vettore 1? "; cin >> dim_vett_1; cout << "Inserimento numeri del vettore 1: "<<endl; leggi_array (vett_1, dim_vett_1); cout << "Quanti numeri vuoi inserire nel vettore 2? "; cin >> dim_vett_2; cout << "Inserimento numeri del vettore 2: "<<endl; leggi_array (vett_2, dim_vett_2); posizione = cerca_numeri (vett_1, dim_vett_1, vett_2, dim_vett_2); if (posizione==-1) cout << "La sequenza di numeri in vettore 2 non si trova nel vettore 1:\n"; stampa_array (vett_1, dim_vett_1); else cout << "La sequenza di numeri in vettore 2 si trova alla posizione " << posizione << " rispetto al vettore 1:" << endl; stampa_array (vett_1, dim_vett_1); scrivere la definizione delle seguenti funzioni: la funzione leggi array void leggi_array (float vettore[],int dim); che legge da standard input e memorizza un dato numero dim di caratteri in un array; la funzione cerca numeri int cerca_numeri (float vett_1[],int dim_vett_1, float vett_2[],int dim_vett_2); che cerca all interno di vett 1 la posizione della prima occorrenza di vett 2, restituisce tale posizione, nel caso in cui un occorrenza venga trovata, e restituisce 1 in caso contrario. La ricerca dev essere effettuata scorrendo il vettore a partire dal suo primo elemento. Non e consentito l uso di funzioni di libreria per la manipolazione di stringhe! Sia dato ad esempio il seguente vettore vett 1: ed il seguente vettore vett 2: La funzione cerca numeri deve restituire in questo caso l intero 2; la funzione stampa array void stampa_array (float vettore[],int dim); che scrive su standard output il contenuto di un array. 17

18 5 [Esercizio facoltativo: risolvere unicamente se si è già risposto correttamente ai quattro precedenti] Nel gioco trentino della morra, ogni sessione avviene nel seguente modo. Ciascun giocatore: contemporaneamente mostra con la mano un numero intero compreso tra 0 e 5 ( mano ) e urla un numero compreso tra il valore della propria mano e tale valore più 5 ( proposta ), se la somma della mano propria e di quella dell avversario è uguale alla propria proposta, guadagna un punto. Il gioco termina quando (almeno) uno dei giocatori raggiunge un numero di punti prefissato. Dato il seguente main: void main () const int numero_mani = 5; int punti_miei=0, punti_pc=0; srand(time(null)); do gestione_sessione_gioco (punti_miei,punti_pc); while (punti_pc < numero_mani && punti_miei < numero_mani); scrivere la definizione della funzione gestione sessione gioco: void gestione_sessione_gioco (int & punti_miei,int & punti_pc); che simuli una sessione di una partita di morra tra l utente ed il computer. In particolare ad ogni sessione, il programma deve: (a) richiedere all utente e leggere da tastiera il valore della mano e della proposta dell utente (badando che il range dei valori sia corretto). (b) generare in modo casuale il valore della mano e della proposta del computer (badando che il range dei valori sia corretto) (c) confrontare i valori, ed eventualmente incrementare i punteggi dell utente e del giocatore di conseguenza (d) stampare tutti i valori, e riportare i punteggi correnti Il programma termina quando un giocatore raggiunge il punteggio di 5. Si consiglia di utilizzare funzioni ausiliarie come ad esempio la funzione della libreria stdlib.h: int rand (void); che ritorna un numero intero casuale compreso tra 0 e RAND MAX. 18

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,

Dettagli

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

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Programmazione Procedurale in Linguaggio C++

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

Dettagli

Esercizi. La funzione swapint() primo tentativo

Esercizi. La funzione swapint() primo tentativo Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include

Dettagli

Esercizio 1 Conta degli elementi distinti (file esercizio1.c e leggi.h/leggi.c - 15 punti)

Esercizio 1 Conta degli elementi distinti (file esercizio1.c e leggi.h/leggi.c - 15 punti) Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di USB stick

Dettagli

LEZIONE 1 LE BASI DEL LINGUAGGIO C

LEZIONE 1 LE BASI DEL LINGUAGGIO C LEZIONE 1 LE BASI DEL LINGUAGGIO C Simone Marchesini Roberto Pagliarini Dipartimento di Informatica Università di Verona COS È? Il C è un linguaggio di programmazione che permette di salvare i valori in

Dettagli

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie

Dettagli

Parte 1: tipi primitivi e istruzioni C

Parte 1: tipi primitivi e istruzioni C Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array Lab06 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 06 Array" Lab06 1 Esercizio 1" n Creare un programma che legga da input un numero non noto a priori di interi

Dettagli

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO PROGRAMMA Aspetti fondamentali della programmazione con riferimento ad un linguaggio di programmazione: astrazione

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

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 4 Dott. Michele Zanella Ing. Gian Enrico Conti

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 4 Dott. Michele Zanella Ing. Gian Enrico Conti INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 4 Dott. Michele Zanella Ing. Gian Enrico Conti Puntatori I puntatori sono delle variabili che contengono l

Dettagli

ESERCIZIO 1 ESERCIZIO 2

ESERCIZIO 1 ESERCIZIO 2 ESERCIZIO 1 Scrivere una funzione che data una stringa A calcoli la sua lunghezza. int lunghezza(char A[]); Scrivere una funzione che date due stringhe A e B copi il contenuto di A in B e restituisca il

Dettagli

Linguaggio C: le funzioni

Linguaggio C: le funzioni Linguaggio C: le funzioni prof. Lorenzo Porcelli e mail: genna18@iol.it sito: http://users.iol.it/genna18 Introduzione attraverso un esempio Problema: Conoscendo le misure di n rettangoli, determinare

Dettagli

Lab 04 Programmazione Strutturata"

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate

Dettagli

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

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

Esercizi. Filtraggio

Esercizi. Filtraggio Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)

Dettagli

Opinione calcolamedia( ) Opinione inverti( )

Opinione calcolamedia( ) Opinione inverti( ) Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di memorie

Dettagli

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate

Dettagli

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:

Dettagli

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe

Corso 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

Dettagli

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa. 3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea

Dettagli

Lab 08 Stringhe e strutture

Lab 08 Stringhe e strutture Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 08 Stringhe e strutture Lab8 1 Esercizio 1 n Scrivere una funzione che data una stringa A calcoli la sua lunghezza.

Dettagli

STRUCT - ESERCIZIO 1

STRUCT - ESERCIZIO 1 STRUCT - ESERCIZIO 1 Si vuole realizzare un programma di utilità matematica per gestire i numeri complessi. In particolare: 3. Progettare una opportuna struttura per la loro rappresentazione (in coordinate

Dettagli

Introduzione all uso delle funzioni in C++

Introduzione all uso delle funzioni in C++ Introduzione all uso delle funzioni in C++ Roberto Basili University of Rome Tor Vergata, Department of Computer Science, Systems and Production, 00133 Roma (Italy), basili@info.uniroma2.it January 24,

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 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

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 24/04/08 Nota Questi lucidi sono tratti

Dettagli

ESERCIZIO: SHIFT ARRAY (1)

ESERCIZIO: SHIFT ARRAY (1) ARRAY E STRINGHE ARRAY ESERCIZIO: SHIFT ARRAY (1) Utilizzando le funzioni scrivere un programma che: genera una sequenza di N = 20 numeri interi e li memorizza in un array ( riempi_array( )) visualizza

Dettagli

Programmazione Procedurale in Linguaggio C++

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

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 05 Array. Lab06 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 05 Array. Lab06 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 05 Array Lab06 1 Esercizio 1 n Creare un programma che legga da input un numero non noto a priori di interi (al

Dettagli

Prof. Massimiliano Giacomin 21 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

Prof. Massimiliano Giacomin 21 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli INFORMATICA E PROGRAMMAZIONE Prof. Massimiliano Giacomin 21 dicembre 2017 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli 1. Si consideri il seguente codice per

Dettagli

Lab 16 Gestione file binari"

Lab 16 Gestione file binari Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 16 Gestione file binari" Lab16 1 Esercizio 1" n Un registratore di cassa registra su di un file binario alcuni

Dettagli

Lab 08 Stringhe e strutture

Lab 08 Stringhe e strutture 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 08 Stringhe e strutture Lab12 1 Esercizio

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 1 settembre 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 1 settembre 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 1 settembre 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi,

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 Esercizio 1 Si acquisisca da tastiera una sequenza (a priori illimitata) di caratteri terminata da '\n'. Per poter acquisire ed elaborare anche eventuali caratteri di spaziatura, è necessario utilizzare

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018 2019 Programmazione Lezione 8 Esercizi in C Docente: Michele Ferrari - michele.ferrari@unife.it Informazioni Docente di supporto

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018

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

Dettagli

Prima prova di esonero 5 novembre 2007

Prima prova di esonero 5 novembre 2007 Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Corso di Informatica 1 (IN1) Prof. Marco Liverani a.a. 2007/2008 Prima prova di esonero 5 novembre 2007 Esercizio n. 1 (max 10

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array 2 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0.

Dettagli

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica A.A. 2016/17 Fondamenti di Informatica S i m u l a z i o n e S e co n d a P rova Inte rco rs o P ro f. C h r i st i a n E s p o s i to C o rs o d i L a u re a i n I n g e g n e r i a M e c ca n i ca e G e st i o n

Dettagli

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE 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

Dettagli

Lab 12 Allocazione dinamica della memoria

Lab 12 Allocazione dinamica della memoria Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 12 Allocazione dinamica della memoria Lab17 1 Esercizio 0 Un file di testo di nome bambini.txt, contiene informazioni

Dettagli

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904]

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904] Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale Informatica B [079904] Prof. P. Plebani Allievi Ingegneria Civile e Ambientale II prova in itinere (04 Febbraio 2009) Cognome

Dettagli

Fondamenti di Informatica 1 - Compito A

Fondamenti 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,

Dettagli

Lab 16 Gestione file binari"

Lab 16 Gestione file binari 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 16 Gestione file binari" Lab16 1

Dettagli

Elementi di C++ di base

Elementi di C++ di base Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste

Dettagli

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Dettagli

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

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

Dettagli

1 (7) 2 (6) 3 (6) 4 (7) 5 (6)

1 (7) 2 (6) 3 (6) 4 (7) 5 (6) CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B, C Anno Accademico 2014-2015 Proff. Danilo ARDAGNA, Antonio MIELE Seconda Prova in Itinere 29.6.2015 Cognome Nome Matricola Firma

Dettagli

Lab 17 Allocazione dinamica della memoria

Lab 17 Allocazione dinamica della memoria Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 17 Allocazione dinamica della memoria Lab17 1 Esercizio 1 È dato

Dettagli

PROGRAMMAZIONE: La selezione

PROGRAMMAZIONE: La selezione PROGRAMMAZIONE: La selezione 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 altra, riga per

Dettagli

Es. 1. interi, li stampi a video ponendo prima i numeri pari e poi i numeri dispari. Es. 1. int readlength(file *f, int *even, int *odd)

Es. 1. interi, li stampi a video ponendo prima i numeri pari e poi i numeri dispari. Es. 1. int readlength(file *f, int *even, int *odd) Es. 1 È dato un file binario, di nome valori.dat, contenente una sequenza di int; non è noto a priori quanti interi siano presenti nel file. I valori sono disposti in ordine casuale. Si realizzi un programma

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

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Iterazione Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 22 ITERAZIONE Iterazione: Strumento che consente

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione 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

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

Lab 13 Strutture e programmi su più file "

Lab 13 Strutture e programmi su più file Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 13 Strutture e programmi su più file " Lab13 1 n Sia data la struttura Esercizio 1" struct time { int hour, minute,

Dettagli

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio RICORSIONE, PUNTATORI E ARRAY Quarto Laboratorio 16 DICEMBRE 2011 SCADENZA TERZA ESERCITAZIONE FUNZIONI RICORSIVE ESERCIZIO Scrivere una funzione ricorsiva che, assegnati due interi N1 ed N2, restituisca

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

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità

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

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo! Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino

Dettagli

Programmazione di base

Programmazione di base Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

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

ESERCIZI 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

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array.

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array. Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array. Indice 1 Funzioni: passaggio di parametri per indirizzo; puntatori...3

Dettagli

L'Allocazione Dinamica della Memoria nel linguaggio C

L'Allocazione Dinamica della Memoria nel linguaggio C L'Allocazione Dinamica della Memoria nel linguaggio C Prof. Rio Chierego riochierego@libero.it http://www.riochierego.it/informatica.htm Sommario Questo documento tratta l'allocazione dinamica della memoria

Dettagli

Esercizio 1 (15 punti)

Esercizio 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

Dettagli

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 1 settembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi e

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

Lab 09 Strutture e programmi su più file

Lab 09 Strutture e programmi su più file Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 09 Strutture e programmi su più file Lab13 1 Alcune Informazioni Utili Funzioni per manipolare stringhe (in string.h)!

Dettagli

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione. Alcuni Soluzioni ESERCIZIO 1 Data una sequenza di interi di dimensione dim, determinare se esistono esattamente cont occorrenze del valore val, utilizzando per questo una variabile booleana check. Stato

Dettagli

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Fondamenti di Informatica III appello 6 settembre 2012 Matricola Cognome Nome Istruzioni Durata prova: 1 ora 30 minuti

Dettagli

Funzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x)

Funzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x) Funzioni di libreria Richiedono tutte #include x x a x fabs(x) sqrt(x) pow(x,a) x e ln(x) exp(x) log(x) log 10 ( x ) log10(x) sen(x) cos(x) tg(x) arcsen(x) arccos(x) arctg(x) senh(x) cosh(x) tgh(x)

Dettagli

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010 Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.

Dettagli

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

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione Sequenze di cifre Esercizio 1 - cicli Realizzare un programma che prende in input una sequenza di cifre (tra 1 e 9) e calcola la somma massima fra le sotto- sequenze di cifre non decrescente Il programma

Dettagli

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 1 settembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi e

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

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

6SC Informatica 9/12/2015

6SC Informatica 9/12/2015 6SC-C-007-2015-12-09 (S) Studente: THE TEACHER CLASSE MATERIA DATA OGGETTO VALUTAZIONE 6SC Informatica 9/12/2015 Preparazione alla verifica di venerdì 18/12 (soluzioni) N.A. Scrivere, in linguaggio C++,

Dettagli

Elementi di Programmazione in C++

Elementi di Programmazione in C++ Chapter 1 Elementi di Programmazione in C++ 1.1 C++: Elementi di Base cat example05.design Comportamento: Il programma dovrebbe invitare l utente a immettere il raggio di un cerchio

Dettagli

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara LICEO SCIENTIFICO STATALE "FILIPPO LUSSANA" V i a A n g e l o Ma j, 1 2 4 1 2 1 B E R G AMO 035 237502 Fax: 035 236331 Sito e contatti: www.liceolussana.com Codice fiscale: 80026450165 PROGRAMMA SVOLTO

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Università degli Studi di Brescia Elementi di Informatica e Programmazione VBA Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 29/11/2015 Dipartimento di Ingegneria Meccanica e Industriale Dipartimento

Dettagli

Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche

Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche Fondamenti di Informatica T-1 modulo 2 Laboratorio 04: stringhe 1 Stringhe In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche terminatore

Dettagli

Esercizio 1 Domanda di teoria (13 punti)

Esercizio 1 Domanda di teoria (13 punti) Parte 1 Tempo a disposizione: 40 min., Totale punti: 16 Materiale di ausilio utilizzabile durante l appello: Parte 1: Non è possibile consultare alcun materiale, né accedere al calcolatore. Parte 2: Tutto

Dettagli