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: char c, tipo; cout << "Inserisci un carattere: "; cin >> c; tipo = controlla_carattere(c); switch (tipo) case c : cout << "E una cifra! \n"; break; case m : cout << "E una lettera minuscola! \n"; break; case M : cout << "E una lettera maiuscola! \n"; break; case a : cout << "E... qualcosa d altro! \n"; break; scrivere la definizione della funzione controlla carattere: char controlla_carattere (char c); tale che, preso in input un carattere c, restituisca: il carattere m se c è un carattere minuscolo, il carattere M se c è un carattere maiuscolo, il carattere c se c è una cifra ed il carattere a se c è qualcosa d altro. Si utilizzino le seguenti funzioni della libreria ctype.h: int isalpha (int c); int islower (int c); int isupper (int c); int isdigit (int c); che restituiscono un intero diverso da zero rispettivamente se c e un carattere alfabetico, una cifra, un carattere minuscolo o un carattere maiuscolo. 2

3 1 Dato il seguente main: char c; int tipo; cout << "Inserisci un carattere: "; cin >> c; tipo = tipo_carattere(c); switch (tipo) case 1: cout << "E una cifra! \n"; break; case 2: cout << "E una lettera minuscola! \n"; break; case 3: cout << "E una lettera maiuscola! \n"; break; case 0: cout << "E... qualcosa d altro! \n"; break; scrivere la definizione della funzione tipo carattere: int tipo_carattere (char c); tale che, preso in input un carattere c, restituisca uno dei seguenti interi: 1 se c è una cifra, 2 se c è un carattere maiuscolo, 3 se c è un carattere minuscolo e 0 se c è qualcosa d altro. Si utilizzino le seguenti funzioni della libreria ctype.h: int isdigit (int c); int isalpha (int c); int isupper (int c); int islower (int c); che restituiscono un intero diverso da zero rispettivamente se c e un carattere alfabetico, una cifra, un carattere minuscolo o un carattere maiuscolo. 3

4 1 Dato il seguente main: char c, tipo; cout << "Inserisci un carattere: "; cin >> c; tipo = controlla_carattere(c); switch (tipo) case p : cout << "E un carattere speciale! \n"; break; case a : cout << "E un carattere alfabetico! \n"; break; case c : cout << "E una cifra! \n"; break; case o : cout << "E un carattere di controllo! \n"; break; scrivere la definizione della funzione controlla carattere: char controlla_carattere (char c); tale che, preso in input un carattere c, restituisca: il carattere p se c è un carattere speciale, il carattere a se c è un carattere alfabetico, il carattere c se c è una cifra ed il carattere o se c è un carattere di controllo. Si utilizzino le seguenti funzioni della libreria ctype.h: int ispunct (int c); int isalpha (int c); int isdigit (int c); int iscntrl (int c); che restituiscono un intero diverso da zero rispettivamente se c e un carattere speciale, un carattere alfabetico, una cifra ed un carattere di controllo. 4

5 1 Dato il seguente main: char c, tipo; cout << "Inserisci un carattere: "; cin >> c; tipo = controllo_numerico(c); switch (tipo) case l : cout << "E un carattere alfabetico! \n"; break; case p : cout << "E un numero pari! \n"; break; case d : cout << "E un numero dispari! \n"; break; case a : cout << "E... qualcosa d altro! \n"; break; scrivere la definizione della funzione controllo numerico: char controllo_numerico (char c); tale che, preso in input un carattere c, restituisca: il carattere l se c è una carattere alfabetico, il carattere p se c è una cifra pari, il carattere d se c è una cifra dispari ed il carattere a se c è qualcosa d altro. Si utilizzino le seguenti funzioni della libreria ctype.h: int isalpha (int c); int isdigit (int c); che restituiscono un intero diverso da zero rispettivamente se c e un carattere alfabetico o una cifra. 5

6 2 Mediante la formula di Taylor si può dimostrare che: x 2 = ( 1) i x 2i se x < 1 i=0 è quindi possibile avere una approssimazione di 1 1+x 2 considerando un certo numero di termini di questa sommatoria. Data una certa tolleranza ε ( epsilon ) è possibile valutare la bontà di un approssimazione tramite la seguente formula: Dato il seguente main: double x, eps; f n (x) f n 1 (x) f n (x) < ε dove f n(x) = n ( 1) i x 2i do cout << "Inserisci il valore x in cui vuoi calcolare 1/(1+x^2): \n"; cin >> x; if (fabs(x) >= 1) cout << "Errore! Ripeti l inserimento. \n"; while (fabs(x) >= 1); cout << "Inserisci la tolleranza eps: \n"; cin >> eps; i=1 cout << "L approssimazione di 1/(1+x^2) e : " << logaritmo_taylor (x, eps) << endl; scrivere la definizione della funzione logaritmo taylor: double logaritmo_taylor (double x, double eps); in grado di calcolare e ritornare, usando la sommatoria sopra descritta, un approssimazione di 1 1+x 2, calcolato in x (con x <1), con una data tolleranza eps. 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 Mediante la formula di Taylor si può dimostrare che: ln (1 + x) = + i=1 ( 1) i 1 xi i se x < 1 è quindi possibile avere una approssimazione di ln (1 + x) considerando un certo numero di termini di questa sommatoria. Data una certa tolleranza ε ( epsilon ) è possibile valutare la bontà di un approssimazione tramite la seguente formula: Dato il seguente main: double x, eps; f n (x) f n 1 (x) f n (x) < ε dove f n(x) = n ( 1) i=1 i 1 xi do cout << "Inserisci il valore x in cui vuoi calcolare ln(1+x): \n"; cin >> x; if (fabs(x) >= 1) cout << "Errore! Ripeti l inserimento. \n"; while (fabs(x) >= 1); cout << "Inserisci la tolleranza eps: \n"; cin >> eps; i cout << "L approssimazione di ln(1+x) e : " << logaritmo_taylor (x, eps) << endl; scrivere la definizione della funzione logaritmo taylor: double logaritmo_taylor (double x, double eps); in grado di calcolare e ritornare, usando la sommatoria sopra descritta, un approssimazione di ln (1 + x), calcolato in x (con x <1), con una data tolleranza eps. 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 Mediante la formula di Taylor si può dimostrare che: ln (1 x) = + i=1 ( 1) xi i se x < 1 è quindi possibile avere una approssimazione di ln (1 x) considerando un certo numero di termini di questa sommatoria. Data una certa tolleranza ε ( epsilon ) è possibile valutare la bontà di un approssimazione tramite la seguente formula: Dato il seguente main: double x, eps; f n (x) f n 1 (x) f n (x) < ε dove f n(x) = n i=1 ( 1) xi i do cout << "Inserisci il valore x in cui vuoi calcolare ln(1-x): \n"; cin >> x; if (fabs(x) >= 1) cout << "Errore! Ripeti l inserimento. \n"; while (fabs(x) >= 1); cout << "Inserisci la tolleranza eps: \n"; cin >> eps; cout << "L approssimazione di ln(1-x) e : " << logaritmo_taylor (x, eps) << endl; scrivere la definizione della funzione logaritmo taylor: double logaritmo_taylor (double x, double eps); in grado di calcolare e ritornare, usando la sommatoria sopra descritta, un approssimazione di ln (1 x), calcolato in x (con x <1), con una data tolleranza eps. 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 Mediante la formula di Taylor si può dimostrare che: ln ( ) 1 + x + = 2 x2i+1 se x < 1 1 x 2i + 1 i=0 ( ) è quindi possibile avere una approssimazione di ln 1+x 1 x considerando un certo numero di termini di questa sommatoria. Data una certa tolleranza ε ( epsilon ) è possibile valutare la bontà di un approssimazione tramite la seguente formula: Dato il seguente main: double x, eps; f n (x) f n 1 (x) f n (x) < ε dove f n(x) = n i=0 2 x2i+1 2i + 1 do cout << "Inserisci il valore x in cui vuoi calcolare ln((1+x)/(1-x)): \n"; cin >> x; if (fabs(x) >= 1) cout << "Errore! Ripeti l inserimento. \n"; while (fabs(x) >= 1); cout << "Inserisci la tolleranza eps: \n"; cin >> eps; cout << "L approssimazione di ln((1+x)/(1-x)) e : " << logaritmo_taylor (x, eps) << endl; scrivere la definizione della funzione logaritmo taylor: double logaritmo_taylor (double x, double eps); in grado ( di ) calcolare e ritornare, usando la sommatoria sopra descritta, un approssimazione di ln, calcolato in x (con x <1), con una data tolleranza eps. 1+x 1 x 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 La norma-l1 di un punto nel piano cartesiano, le cui coordinate sono individuate da due numeri reali x ed y, viene calcolata con la seguente formula: x + y. Dato il seguente main: double x, y; int ret; cout << "Inserisci i due numeri reali da normalizzare: \n"; cout << " x = "; cin >> x; cout << " y = "; cin >> y; ret = normalizza (x, y); if (ret!= 0) cout << " x normalizzato = " << x << endl; cout << " y normalizzato = " << y << endl; else cout << "Sono entrambi nulli!! \n"; e la funzione norma per il calcolo della norma-l1 di un punto: double norma (double x, double y); scrivere la definizione della funzione normalizza che, presi in input due numeri reali x e y, che rappresentano le coordinate di un punto nel piano cartesiano, normalizzi tale punto. Questa operazione viene effettuata dividendo ciascuna coordinata per la norma-l1. La funzione da definire deve restituire 0 se i due numeri da normalizzare sono entrambi 0, e deve restituire 1 in tutti gli altri casi. 10

11 3 La norma-l2 di un punto nel piano cartesiano, le cui coordinate sono individuate da due numeri reali x ed y, viene calcolata con la seguente formula: x 2 + y 2. Dato il seguente main: double x, y; int ret; cout << "Inserisci i due numeri reali da normalizzare: \n"; cout << " x = "; cin >> x; cout << " y = "; cin >> y; ret = normalizza (x, y); if (ret!= 0) cout << " x normalizzato = " << x << endl; cout << " y normalizzato = " << y << endl; else cout << "Sono entrambi nulli!! \n"; e la funzione norma per il calcolo della norma-l2 di un punto: double norma (double x, double y); scrivere la definizione della funzione normalizza che, presi in input due numeri reali x e y, che rappresentano le coordinate di un punto nel piano cartesiano, normalizzi tale punto. Questa operazione viene effettuata dividendo ciascuna coordinata per la norma-l2. La funzione da definire deve restituire 0 se i due numeri da normalizzare sono entrambi 0, e deve restituire 1 in tutti gli altri casi. 11

12 3 La norma-l3 di un punto nel piano cartesiano, le cui coordinate sono individuate da due numeri reali x ed y, viene calcolata con la seguente formula: 3 x 3 + y 3. Dato il seguente main: double x, y; int ret; cout << "Inserisci i due numeri reali da normalizzare: \n"; cout << " x = "; cin >> x; cout << " y = "; cin >> y; ret = normalizza (x, y); if (ret!= 0) cout << " x normalizzato = " << x << endl; cout << " y normalizzato = " << y << endl; else cout << "Sono entrambi nulli!! \n"; e la funzione norma per il calcolo della norma-l3 di un punto: double norma (double x, double y); scrivere la definizione della funzione normalizza che, presi in input due numeri reali x e y, che rappresentano le coordinate di un punto nel piano cartesiano, normalizzi tale punto. Questa operazione viene effettuata dividendo ciascuna coordinata per la norma-l3. La funzione da definire deve restituire 0 se i due numeri da normalizzare sono entrambi 0, e deve restituire 1 in tutti gli altri casi. 12

13 3 La norma-l di un punto nel piano cartesiano, le cui coordinate sono individuate da due numeri reali x ed y, corrisponde al valore massimo calcolato tra x ed y. Dato il seguente main: double x, y; int ret; cout << "Inserisci i due numeri reali da normalizzare: \n"; cout << " x = "; cin >> x; cout << " y = "; cin >> y; ret = normalizza (x, y); if (ret!= 0) cout << " x normalizzato = " << x << endl; cout << " y normalizzato = " << y << endl; else cout << "Sono entrambi nulli!! \n"; e la funzione norma per il calcolo della norma-l di un punto: double norma (double x, double y); scrivere la definizione della funzione normalizza che, presi in input due numeri reali x e y, che rappresentano le coordinate di un punto nel piano cartesiano, normalizzi tale punto. Questa operazione viene effettuata dividendo ciascuna coordinata per la norma-l. La funzione da definire deve restituire 0 se i due numeri da normalizzare sono entrambi 0, e deve restituire 1 in tutti gli altri casi. 13

14 4 Dato il seguente main: void main() const int MAX_DIM = 100; int vett_1[max_dim], vett_2[max_dim], unione[2*max_dim]; int dim_1, dim_2, dim_u; cout << "Inserisci il numero degli elementi del primo array: "; cin >> dim_1; cout << "Inserisci tali elementi (in ordine crescente): " << endl; leggi_array (vett_1, dim_1); cout << "Inserisci il numero degli elementi del secondo array: "; cin >> dim_2; cout << "Inserisci tali elementi (in ordine crescente): " << endl; leggi_array (vett_2, dim_2); dim_u = dim_1 + dim_2; if (dim_u > MAX_DIM) cout << "Non riesco a fondere i due vettori!!" << endl; else merge (vett_1, dim_1, vett_2, dim_2, unione, dim_u); cout << "Elementi dell array unione: " << endl; stampa_array (unione, dim_u); scrivere la definizione delle seguenti funzioni: la funzione leggi array void leggi_array (int vett[], int dim); che legge da standard input e memorizza in un array un dato numero di interi che supponiamo ordinati in modo crescente; la funzione merge void merge (int vett_1[], int dim_1, int vett_2[], int dim_2, int unione[], int dim_u); che fonde il contenuto di vett 1 e vett 2 generando il vettore ordinato unione. Siano dati ad esempio i seguente vettori, vett 1 e vett 2: La funzione merge deve generare il vettore unione riportato di seguito: la funzione stampa array void stampa_array (int vett[], 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 vett_1[max_dim], vett_2[max_dim], unione[2*max_dim]; int dim_1, dim_2, dim_u; cout << "Inserisci il numero degli elementi del primo array: "; cin >> dim_1; cout << "Inserisci tali elementi (in ordine decrescente): " << endl; leggi_array (vett_1, dim_1); cout << "Inserisci il numero degli elementi del secondo array: "; cin >> dim_2; cout << "Inserisci tali elementi (in ordine decrescente): " << endl; leggi_array (vett_2, dim_2); dim_u = dim_1 + dim_2; if (dim_u > MAX_DIM) cout << "Non riesco a fondere i due vettori!!" << endl; else merge (vett_1, dim_1, vett_2, dim_2, unione, dim_u); cout << "Elementi dell array unione: " << endl; stampa_array (unione, dim_u); scrivere la definizione delle seguenti funzioni: la funzione leggi array void leggi_array (int vett[], int dim); che legge da standard input e memorizza in un array un dato numero di interi che supponiamo ordinati in modo decrescente; la funzione merge void merge (int vett_1[], int dim_1, int vett_2[], int dim_2, int unione[], int dim_u); che fonde il contenuto di vett 1 e vett 2 generando il vettore ordinato unione. Siano dati ad esempio i seguente vettori, vett 1 e vett 2: La funzione merge deve generare il vettore unione riportato di seguito: la funzione stampa array void stampa_array (int vett[], 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 vett_1[max_dim], vett_2[max_dim], unione[2*max_dim]; int dim_1, dim_2, dim_u; cout << "Inserisci il numero degli elementi del primo array: "; cin >> dim_1; cout << "Inserisci tali elementi (in ordine decrescente): " << endl; leggi_array (vett_1, dim_1); cout << "Inserisci il numero degli elementi del secondo array: "; cin >> dim_2; cout << "Inserisci tali elementi (in ordine decrescente): " << endl; leggi_array (vett_2, dim_2); dim_u = dim_1 + dim_2; if (dim_u > MAX_DIM) cout << "Non riesco a fondere i due vettori!!" << endl; else merge (vett_1, dim_1, vett_2, dim_2, unione, dim_u); cout << "Elementi dell array unione: " << endl; stampa_array (unione, dim_u); scrivere la definizione delle seguenti funzioni: la funzione leggi array void leggi_array (char vett[], int dim); che legge da standard input e memorizza in un array un dato numero di caratteri che supponiamo ordinati in modo crescente; la funzione merge void merge (char vett_1[], int dim_1, char vett_2[], int dim_2, char unione[], int dim_u); che fonde il contenuto di vett 1 e vett 2 generando il vettore ordinato unione. Siano dati ad esempio i seguente vettori, vett 1 e vett 2: a b e r x y c e m u La funzione merge deve generare il vettore unione riportato di seguito: la funzione stampa array a b c e e m r u x y void stampa_array (char vett[], 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; int vett_1[max_dim], vett_2[max_dim], unione[2*max_dim]; int dim_1, dim_2, dim_u; cout << "Inserisci il numero degli elementi del primo array: "; cin >> dim_1; cout << "Inserisci tali elementi (in ordine decrescente): " << endl; leggi_array (vett_1, dim_1); cout << "Inserisci il numero degli elementi del secondo array: "; cin >> dim_2; cout << "Inserisci tali elementi (in ordine decrescente): " << endl; leggi_array (vett_2, dim_2); dim_u = dim_1 + dim_2; if (dim_u > MAX_DIM) cout << "Non riesco a fondere i due vettori!!" << endl; else merge (vett_1, dim_1, vett_2, dim_2, unione, dim_u); cout << "Elementi dell array unione: " << endl; stampa_array (unione, dim_u); scrivere la definizione delle seguenti funzioni: la funzione leggi array void leggi_array (char vett[], int dim); che legge da standard input e memorizza in un array un dato numero di caratteri che supponiamo ordinati in modo decrescente; la funzione merge void merge (char vett_1[], int dim_1, char vett_2[], int dim_2, char unione[], int dim_u); che fonde il contenuto di vett 1 e vett 2 generando il vettore ordinato unione. Siano dati ad esempio i seguente vettori, vett 1 e vett 2: z m e c a v n i b La funzione merge deve generare il vettore unione riportato di seguito: la funzione stampa array z v n m i e c b a void stampa_array (char vett[], 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] L area di un cerchio inscritto in un quadrato di lato 2 è uguale a π. Secondo il metodo Montecarlo è possibile calcolare in modo approssimato tale area generando, in modo casuale, un grosso numero N di punti interni al quadrato e contando il numero n di punti interni al cerchio inscritto. L approssimazione di π sarà data da n N 4. Dato il seguente main: int num_lanci; cout << "Dammi il numero di lanci da effettuare: "; cin >> num_lanci; srand(time(null)); cout << "L approssimazione di pi-greco ottenuta e : " << approx_pi (num_lanci) << endl; scrivere la definizione della funzione approx pi: double approx_pi (int num_lanci); che, preso in input un numero intero che rappresenta il numero totale di lanci da effettuare, sia in grado di calcolare e restituire un approssimazione di π. 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, e le funzioni della libreria math.h: double sqrt (double x); double pow (double x, double y); che restituiscono rispettivamente la radice quadrata di x e il valore di x elevato alla y. 18

Esame di Programmazione I e Informatica Generale I

Esame di Programmazione I e Informatica Generale I 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

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

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

Corso sul linguaggio C Modulo Tipi di dato

Corso sul linguaggio C Modulo Tipi di dato Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di

Dettagli

Prima prova di esonero 2 novembre 2015

Prima prova di esonero 2 novembre 2015 Università degli Studi Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Corso di Informatica 1 (IN110) Prof. Marco Liverani a.a. 2015/2016 Prima prova di esonero 2 novembre 2015

Dettagli

Funzioni di libreria. KP pp , , , 589, DD pp , , ,

Funzioni di libreria. KP pp , , , 589, DD pp , , , Funzioni di libreria KP pp.112-115, 471-474, 573-575, 589, 598-601 DD pp.144-153, 307-313, 563-565, 588-591 Funzioni matematiche (1) KP p. 112,573 Il linguaggio C non contiene funzioni matematiche predefinite.

Dettagli

Settimana n.8. Contenuti. Obiettivi Caratteri Vettori di caratteri Stringhe

Settimana n.8. Contenuti. Obiettivi Caratteri Vettori di caratteri Stringhe Settimana n.8 Obiettivi Caratteri Vettori di caratteri Stringhe Contenuti Funzioni Il tipo char Input/output di caratteri Operazioni su variabili char Funzioni Stringhe come vettori

Dettagli

Funzioni matematiche (1) KP p. 112,573. Corso di Fondamenti di Programmazione canale E-O. Funzioni matematiche (2) Funzioni matematiche (3)

Funzioni matematiche (1) KP p. 112,573. Corso di Fondamenti di Programmazione canale E-O. Funzioni matematiche (2) Funzioni matematiche (3) Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Funzioni di Libreria KP, pp. 112-115, 471-474, 573-575, 589, 598-601 DD, pp. 144-153, 307-313, 563-565, 588-591 Funzioni matematiche

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

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

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

Laboratorio 1. 15/16 marzo 2018

Laboratorio 1. 15/16 marzo 2018 Laboratorio 1. 15/16 marzo 2018 Attivitá Professionalizzante A.A. 2017/18 Premessa Quando avete finito gli esercizi, inviatemeli in un unico file compresso chiamato lab1 CognomeNome (zip, rar,...), all

Dettagli

INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE

INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE Scrivere in stampatello COGNOME, NOME e MATRICOLA su ogni foglio consegnato N.B.: In tutti gli esercizi viene valutata anche

Dettagli

Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 8 Esercitazione: 11 gennaio 2006 Esercizi su strutture dinamiche

Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 8 Esercitazione: 11 gennaio 2006 Esercizi su strutture dinamiche Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 8 Esercitazione: 11 gennaio 2006 Esercizi su strutture dinamiche Esercizio 1 Liste: calcolo del numero di elementi ripetuti

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

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

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

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi)

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi) Esercitazione Oggi dovremo di nuovo usare funzioni sui reali. Ma il C non ha operatori nativi del linguggio per queste operazioni, come la radice quadrata, l'elevamento a potenza o l'arrotondamento. Per

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

if else Fondamenti di Informatica (Modulo B) !""#$ % ( #if else ) " *+ #switch if (Condizione) Istruzione

if else Fondamenti di Informatica (Modulo B) !#$ % ( #if else )  *+ #switch if (Condizione) Istruzione #$ % '' # ( #if else ) *+ #switch 50 if else * if * # if (Condizione) Istruzione Condizione bool Istruzione ( Condizione true + Istruzione ( Condizione false + Istruzione +, -+.// x.//# if (x == 100) if

Dettagli

RIGA COLONNA MATRICOLA

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

Dettagli

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning Obiettivi di questa esercitazione Fondamenti di Informatica T-1 Parte 2 Laboratorio 01 1. Input e output in linguaggio i C 2. Espressioni 3. Programmazione strutturata 1 (if, switch, do while) 1 2 Warning

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

Istruzioni semplici e strutturate

Istruzioni semplici e strutturate Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

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

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

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

Esercizi C su array e matrici

Esercizi C su array e matrici Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]

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

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

Esercizi in Python. Docente: Domenico Daniele Bloisi

Esercizi in Python. Docente: Domenico Daniele Bloisi Esercizi in Python Docente: Domenico Daniele Bloisi http://profs.scienze.univr.it/~bloisi/asl/asl.html Esercizio 1 Utilizzare il linguaggio di programmazione Python per stampare a video la scritta "prima

Dettagli

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo Nuovi tipi di dato e costrutto condizionale Alessandra Giordani agiordani@disi.unitn.it Lunedì 26 marzo 2012 http://disi.unitn.it/~agiordani/ Tipi di dato fondamentali int e il tipo di dato che consente

Dettagli

Lab 12 Stringhe e strutture"

Lab 12 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 12 Stringhe e strutture" Lab12 1

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

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

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

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

Prova Scritta del 20/09/10

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

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia Informatica A (per gestionali) A.A. 2004/2005 Esercizi C e diagrammi a blocchi Preparazione prima prova intermedia Indice 1 Array... 3 1.1 Filtraggio...3 1.2 Trasformazione...3 2 Struct e array... 5 2.1

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

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

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

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

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

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

Informatica B Esercitazione 4 (Soluzioni)

Informatica B Esercitazione 4 (Soluzioni) Informatica B Esercitazione 4 (Soluzioni) 11 ottobre 018 Cicli 4.1 Si scriva un programma C che stampa i numeri da 1 a 100. Per i multipli di tre, stampare "Fizz" invece del numero. Per i multipli di cinque,

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

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

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

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

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

Fondamenti di Informatica 1 - Compito A

Fondamenti di Informatica 1 - Compito A Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 18 Giugno 2007 Esercizio (16 punti) Un programma in linguaggio C deve accedere ad un database di studenti, memorizzato in un file binario studenti.bin.

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

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami. Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case

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

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

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

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

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali

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

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

Laboratorio 1. 20/21 febbraio 2019

Laboratorio 1. 20/21 febbraio 2019 Laboratorio 1. 20/21 febbraio 2019 Attivitá Professionalizzante A.A. 2018/19 Premessa Si lavora a coppie, sui PC del laboratorio. Al termine degli esercizi, ogni copia scrive un breve report e me lo invia

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.VI.2015 VINCENZO MARRA Indice Esercizio 1 1 Definizione dei tipi P e T, e calcolo dell area.

Dettagli

Nota: Si consideri il valore di pi greco.

Nota: Si consideri il valore di pi greco. ESERCIZIO 1 (Costrutti condizionali + Casting delle variabili) Realizzare un programma che, dato in ingresso un angolo specificato in gradi come un numero intero, fornisca la relativa conversione in radianti.

Dettagli

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 20 Luglio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi

Dettagli

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1 CALCOLO NUMERICO Prof. Di Capua Giuseppe Appunti di Informatica - Prof. Di Capua 1 INTRODUZIONE Quando algoritmi algebrici non determinano la soluzione di un problema o il loro «costo» è molto alto, allora

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

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

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

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

Fondamenti di Informatica T1. Lab 04 Array. Lab06 1

Fondamenti di Informatica T1. Lab 04 Array. Lab06 1 Fondamenti di Informatica T1 Lab 04 Array Lab06 1 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0. Tale sequenza può eventualmente contenere

Dettagli

Stringhe in C. Emilio Di Giacomo

Stringhe in C. Emilio Di Giacomo Stringhe in C Emilio Di Giacomo Stringhe Una stringa è una sequenza finita di caratteri Le stringhe sono un tipo di dati talmente importante e utile che fanno parte di quasi tutti i linguaggi di programmazione

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: media di numeri reali (uso funzioni e struct)

Esercizio 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

Dettagli

Gli array. impone al programma, in fase di esecuzione, di riservare dello spazio in memoria per 10 variabili di tipo int

Gli array. impone al programma, in fase di esecuzione, di riservare dello spazio in memoria per 10 variabili di tipo int Gli array Gli array rappresentano una modalità molto compatta per accedere ad un gruppo di variabili; tale gruppo è identificato dal nome dell'array; i tipi delle variabili appartenenti al gruppo devono

Dettagli

NB: sono richieste almeno 4 risposte esatte per la correzione delle domande aperte

NB: sono richieste almeno 4 risposte esatte per la correzione delle domande aperte 7 Lug 17 MATRICOLA COGNOME NOME PUNTEGGI PER LE VARIE DOMANDE: Domande aperte: A: 6, B: 9, C: 9 Scelta multipla: 1.5 punti per ogni risposta esatta DURANTE IL COMPITO E AMMESSO SOLO L USO DI STRUMENTI

Dettagli

Matematica - SMID : Programmazione 20 Febbraio 2007 FOGLIO RISPOSTE

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

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

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

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

Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011 Gruppo Cognome Riontino Nome Raffaele Cognome Nome TRACCIA 2 ARGOMENTO: LISTE TEMPO: 4h 1. Utilizzando Typedef definire un nuovo tipo di dato

Dettagli

Fondamenti di Informatica Ing. Biomedica

Fondamenti di Informatica Ing. Biomedica Fondamenti di Informatica Ing. Biomedica Esercitazione n.10 Strutture Antonio Arena antonio.arena@ing.unipi.it Ripresa esercizio per casa Fondamenti di Informatica - Esercitazione n.10 2 Scrivere una funzione

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

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

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

Dettagli

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

File. Unità 8. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli Esercitazioni del Corso di Fondamenti di Informatica ARRAY Prof. Giuseppe Manco A cura di Ing. Andrea Tagarelli ESERCIZIO 1 public static int[] elaboravettore (int[] v) che verifica che gli elementi di

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

PROVA SCRITTA 23 MARZO 2010

PROVA SCRITTA 23 MARZO 2010 PROVA SCRITTA 23 MARZO 2010 In un file binario, MY_FILE.DAT, si memorizzano per ciascuno studente universitario: nome e cognome (stringhe, 20 char), matricola (intero), codice del corso di laurea (stringa

Dettagli

ciclo di vita della soluzione (informatica) di un problema

ciclo di vita della soluzione (informatica) di un problema Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti

Dettagli

Stringhe: vettori di caratteri con terminatore

Stringhe: 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

Dettagli

Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013

Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013 Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013 Matricola:...................... Cognome:...................... Nome:...................... Informatica

Dettagli