Vittoria de Nitto Personè. Esercizi proposti per il corso Fondamenti di informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Vittoria de Nitto Personè. Esercizi proposti per il corso Fondamenti di informatica"

Transcript

1 Vittoria de Nitto Personè Esercizi proposti per il corso Fondamenti di informatica Facoltà di Ingegneria - Università degli studi di Roma Tor Vergata

2 Esercizi a. tipi predefiniti, assegnamento Esercizio a.1 Cosa è un tipo di dato? Esercizio a.2 Che differenza c'è tra i tipi fondamentali e i tipi derivati di un linguaggio di programmazione? Esercizio a.3 Quali sono i tipi fondamentali del C ++? Descrivere le loro caratteristiche. Esercizio a.4 Quale è lo scopo delle dichiarazioni? Elencare almeno 2 motivazioni. Esercizio a.5 Quale è la differenza tra una "variabile" e una "costante"? Esercizio a.6 Scrivere un semplice programma che utilizzi variabili e costanti. Scriverne una versione con 2 errori sintattici e 2 errori semantici. Verificare in quale fase gli errori vengono individuati e controllare i messaggi di errore. Esercizio a.7 Descrivere la semantica del comando assegnamento. Scrivere un semplice programma in cui si violino le due regole semantiche dell'assegnamento. Esercizio a.8 Spiegare perchè è possibile utilizzare una stessa variabile a sinistra e a destra dell'assegnamento. Spiegare il diverso ruolo che il nome della variabile svolge nelle due "posizioni". b. input/output, ambiente e stato Esercizio b.1 Cosa è l' "ambiente" di un programma? E lo "stato" di un programma? Elencare almeno 2 differenze tra ambiente e stato. Esercizio b.2 Scrivere un programma per visualizzare sullo schermo del terminale il vostro nome all'interno di un rettangolo come segue: Vittoria

3 Esercizio b.3 Scrivere un programma che calcoli una espressione aritmetica a partire da dati in ingresso (interi o reali) e stampi il risultato. Curare l'interfaccia del programma: l'esecuzione del programma deve essere esplicativa per l'utente. Farne una versione con un errore di inconsistenza tra tipi. Esercizio b.4 Determinare l'output prodotto dal seguente programma: #include <iostream> using namespace std; main () { int a=1000, b, c; b=2*a; for (int i=0; i<5; i=i+1) c=i; cout <<a <<b <<c; { const int b=2; a=b+c; cout <<a <<b <<c; } cout <<a <<b <<c; } c. espressioni logiche, controllo del flusso Esercizio c.1 Completate la seguente tabella dei valori vero e falso, inserendo i valori logici delle espressioni booleane per tutte le combinazioni degli input booleani p, q e r. p q r (p && q)!r!(p && (q!r)) falso falso falso falso falso vero falso vero falso altre 5 combinazioni Esercizio c.2 Spiegate la differenza tra i seguenti frammenti di codice: s=0; if (x>0) s++; if (y>0) s++; s=0; if (x>0) s++; else if (y>0) s++; 3

4 Esercizio c.3 Scrivete un programma per ricevere dall'utente un input che descrive una carta da gioco, mediante le abbreviazioni seguenti: A Asso 2 10 Punteggi delle carte J Jack D Donna R Re Q Quadri C Cuori P Picche F Fiori Il programma deve stampare la descrizione completa della carta, come in questo esempio: Inserisci la sigla della carta: DP Donna di picche Esercizio c.4 Un anno con 366 giorni è detto anno bisestile. Un anno è bisestile se è divisibile per 4 (per es. il 1980), salvo nei casi in cui è divisibile per 100 (per es. il 1900). Tuttavia, è un anno bisestile se è divisibile per 400 (per es. il 2000). Però, non esistono eccezioni prima dell'adozione del calendario gregoriano, avvenuta il 15 Ottobre 1582 (per es. il 1500 non è stato bisestile). Scrivete un programma che chieda all'utente di inserire un anno, e che calcoli se l'anno è bisestile. Esercizio c.5 Quante ripetizioni eseguono i cicli seguenti, se i non viene modificato nel corpo del ciclo? For (i = 1; i <= 10; i++) For (i = 0; i < 10; i++) For (i = 10; i > 0; i--) For (i = -10; i <= 10; i++) For (i = 10; i >= 0; i++) For (i = -10; i <= 10; i = i+2) For (i = -10; i <= 10; i = i+3) Esercizio c.6 Riscrivete il codice seguente, sostituendo il ciclo for con un ciclo while. int s=0; for (int i=1; i <= 10; i++) s=s+i; Esercizio c.7 Determinare l output prodotto dal seguente frammento di programma 4

5 if (x>y && y!=z) { for (int i=0; i<5; i=i+1) x=x+y; cout <<x;} else { for (int i=8; i>0; i=i-1) z=z-i; cout <<z;} per i seguenti 2 insiemi di valori delle variabili: 1) x=4, y=6, z=5; 2) x=3, y=2, z=3. Esercizio c.8 Determinare l output prodotto dal seguente frammento di programma if ((N>M N<=P) &&! (M>P)) {N=N*M; cout <<N;} else {N=M-P; cout <<N;} per i seguenti 2 insiemi di valori delle variabili: 1) N= 10, M=3, P= 5; 2) N=-7, M=0, P=99. Esercizio c.9 Determinare il numero di iterazioni effettuate dal seguente ciclo while (x>y i>0) {x=x-i; i=i-1;} per i seguenti 2 insiemi di valori delle variabili: 1) x=9, y=5, i=8; 2) x=-1, y=-11, i=5. Esercizio c.10 Determinare l output prodotto dal seguente frammento di programma for (i=0; i<5; i=i+1) if (somma-i>0) somma=somma-i; else somma=somma+i; cout <<somma <<'\n'; per i seguenti 2 valori della variabile somma: 3; 1. Esercizio c.11 Determinare l output prodotto dal seguente frammento di programma for (int i=0; i<5; i=i+1) if (x>i*y && x-i!=0) cout <<x+y; else cout <<i+x; per i seguenti valori delle variabili x e y: x=4, y=2. 5

6 Esercizio c.12 Date le seguenti dichiarazioni: const int N1=4, N2=4; int A[N1][N2]={1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 5} determinare quale è lo stato della variabile A dopo l'esecuzione del seguente frammento di programma: for (int i=0; i<n2; i=i+1) A[1][i]=A[1][i]+A[i][1]; A[0][0]=A[N1-1][N2-1]; A[N1-1][N2-1]=A[0][0]; Esercizio c.13 Date le seguenti dichiarazioni: const int N1=4, N2=4; int A[N1][N2]={4, 4, 4, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4} determinare quale è lo stato della variabile A dopo l'esecuzione del seguente frammento di programma: for (int i=0; i<n2; i=i+1) A[N1-1][i]=A[N1-1][i]*A[1][1]; x=a[0][0] A[0][0]=A[N1-1][N2-1]; A[N1-1][N2-1]=x; Esercizio c.14 Dato il seguente frammento di programma: i=0; x=15; y=20; while (i<5 && x+y>0) { x=x-i; y=y-x; i=i+1;}; determinare lo stato delle variabili x, y e i al termine dell'esecuzione. d. rappresentazione posizionale, conversione di base Esercizio d.1 Dati i seguenti numeri in base 10 n 1 =17, n 2 =128, n 3 =75, n 4 =23, n 5 =44, darne la loro rappresentazione in base 2. Discutere la necessità di un numero di cifre diverso per rappresentare i cinque valori. 6

7 Esercizio d.2 Dati i numeri interi n 1 =(1101) 2, n 2 =(1101) 5, n 3 =(23) 5, n 4 =(201) 3, n 5 =(3012) 8, rappresentati rispettivamente in base B=2, B=5, B=5, B=3, B=8, darne la loro rappresentazione in base B=10. Esercizio d.3 Spiegare la differenza tra "valore" e "rappresentazione" di un numero. Spiegare anche tramite un esempio. Esercizio d.4 Quale è il massimo numero intero rappresentabile con 5 cifre in base 8? E con 4 cifre e basi 2, 4, 10? Dare una spiegazione per il caso generale h cifre e base B. Esercizio d.5 Scrivete un programma che riceve in input un numero intero rappresentato in base 10 e stampi la sua rappresentazione in base 2. Il programma può controllare che il dato in input rispetti certi vincoli in modo che il numero di cifre in output non sia eccessivo. Esercizio d.6 Determinare il valore in base 10 delle seguenti rappresentazioni, in diverse basi, di numeri interi positivi: base b=5 n1=1013 base b=2 n2= base b=3 n3=10212 Esercizio d.7 Determinare la rappresentazione in virgola mobile normalizzata in base 2 dei seguenti numeri: x1=0.375, x2= Utilizzando k=4 cifre per la mantissa (escluso il segno) e h=3 cifre per l'esponente (incluso il segno) Esercizio d.8 Date le seguenti configurazioni: a b c determinare il numero rappresentato da ciascuna, sapendo che la rappresentazione utilizzata è in virgola mobile, base 2, utilizzando 7 cifre per la mantissa e 3 per l'esponente, entrambi rappresentati in modulo e segno e. rappresentazione in virgola mobile Esercizio e.1 Spiegare il significato della "normalizzazione" della mantissa nella rappresentazione in virgola mobile. 7

8 Esercizio e.2 Rappresentare in virgola mobile normalizzata i seguenti numeri (base 10): x 1 =0.67, x 2 =12.83, x 3 = , x 4 =1170, x 5 = Esercizio e.3 Spiegare la differenza tra errore assoluto e errore relativo. Fare un esempio in cui a parità di errore assoluto, l'errore relativo sia significativamente diverso. Esercizio e.4 Dati i numeri (base 10) x 1 = , x 2 =102.89, x 3 = , dare per ognuno di essi la rappresentazione troncata e arrotondata a tre cifre decimali. Valutare gli errori relativi commessi. Utilizzare in ogni caso la rappresentazione normalizzata. Esercizio e.5 Spiegare perchè l'aritmetica in virgola mobile è "intrinsecamente" approssimata. Fare tre esempi di numeri rappresentabili con un numero finito di cifre in base 10 e non rappresentabili con un numero finito di cifre in base 2. Esercizio e.6 Scrivete un programma per convertire la lettera di un voto scolastico nel numero corrispondente. Le lettere sono A, B, C, D e F, eventualmente seguite dai segni + o -. I loro valori numerici sono 4, 3, 2, 1 e 0. F+ e F- non esistono. Un segno + o - incrementa o decrementa il valore numerico di 0.3. Tuttavia, A+ è uguale a 4.0. Inserisci la lettera di un voto: B- Il valore numerico è 2.7. Esercizio e.7 Siano x1= x2= x3=100. Utilizzando la rappresentazione in virgola mobile normalizzata, determinare le rappresentazioni arrotondate a k=3 cifre di x1, x2, x3 (in base 10). Esercizio e.8 Siano x1=3.613 x2=0.999 x3=27. Utilizzando la rappresentazione in virgola mobile normalizzata, determinare le rappresentazioni troncate a k=3 cifre di x1, x2, x3 (in base 10). Esercizio e.9 Determinare il minimo numero rappresentabile in virgola mobile e base 2, utilizzando k=7 cifre per la mantissa normalizzata (escluso il segno) e h=3 per l esponente (incluso il segno). Esercizio e.10 Determinare il massimo numero rappresentabile in virgola mobile e base 2, utilizzando k=7 cifre per la mantissa normalizzata (escluso il segno) e h=3 per l esponente (incluso il segno). 8

9 f. caratteristiche intervallo, conversione di base Esercizio f.1 Descrivere e spiegare le caratteristiche dell'intervallo di rappresentazione di numeri reali per base B, k cifre per la mantissa (escluso il segno) e h cifre per l'esponente (incluso il segno). Esercizio f.2 Determinare il massimo e il minimo numero positivo rappresentabile in virgola mobile in base 10, k=4 cifre per la mantissa (escluso il segno) e h=3 cifre per l'esponente (incluso il segno). Esercizio f.3 Determinare la "distanza" tra i due numeri più grandi e tra i due numeri più piccoli positivi, rappresentati in base 10 virgola mobile con k=8 cifre per la mantissa (escluso il segno) e h=5 cifre per l'esponente (incluso il segno). Esercizio f.4 Convertire in base 2 virgola mobile i seguenti numeri rappresentati in base 10: x 1 =0.67, x 2 =12.835, x 3 = Utilizzare 4 cifre per la mantissa (normalizzata) e 3 cifre per l'esponente. Valutare l'errore assoluto commesso. Esercizio f.5 Determinare: 1) i parametri h e k di un intervallo di rappresentazione F in base 10 2) a, b, c, d F 3) una espressione aritmetica a piacere tali che: il risultato della espressione dia risultati diversi a seconda dell'ordine di applicazione degli operatori. Per esempio a(b+c)/d (a/d)(b +c). Esercizio f.6 Scrivete un programma che legga una serie di numeri in virgola mobile e che stampi: - il valore massimo - il valore minimo - il valore medio. g. funzioni Esercizio g.1 Fornite esempi realistici per le seguenti funzioni: - una funzione con un parametro di tipo double e con un valore restituito di tipo double - una funzione con un parametro di tipo int e con un valore restituito di tipo double 9

10 - una funzione senza parametri e con un valore restituito di tipo int Descrivete solamente che cosa fanno queste funzioni, senza scrivere il codice. Esercizio g.2 Queste affermazioni sono vere o false? - Una funzione ha esattamente un enunciato return. - Una funzione ha almeno un enunciato return. - Una funzione ha al massimo un valore restituito. - Una funzione di tipo void non ha mai un enunciato return. - Quando si esegue un enunciato return, la funzione termina immediatamente. - Una funzione senza parametri ha sempre un effetto collaterale. - Una funzione di tipo void ha sempre un effetto collaterale. - Una funzione senza effetti collaterali restituisce sempre lo stesso valore, quando viene chiamata con gli stessi parametri. Esercizio g.3 Scrivete una funzione printsorted (int a, int b, int c) che stampi i suoi tre input in ordine crescente. Esercizio g.4 Scrivete un programma che riceva in ingresso un numero intero e restituisca in uscita il suo fattoriale. Il fattoriale deve essere calcolato mediante una funzione di tipo int. Esercizio g.5 La sequenza di Fibonacci è definita dalla regola seguente. I primi due valori della sequenza sono 1 e 1. Ciascun valore successivo è costituito dalla somma dei due valori che lo precedono. Se fn indica l'ennesimo valore nella sequenza di Fibonacci, allora abbiamo: f1 = 1 f2 = 1 fn = fn-1 + fn-2 se n > 2 Scrivete un programma che chieda all'utente di inserire il valore di n e che stampi l'ennesimo valore della sequenza di Fibonacci (calcolato mediante una funzione). Suggerimento: non occorre registrare tutti i valori di fn. Vi servono solamente gli ultimi due valori per calcolare quello successivo. Esercizio g.6 Scrivete una funzione che verifichi se un numero intero positivo è primo. La funzione deve avere il prototipo int test_primo (int n) dove n è l'intero che deve essere controllato; la funzione restituisce 1 (vero) se n è primo e 0 (falso) se n non è primo. Scrivete una seconda funzione, void list_primi (int m), che utilizzi test_primo () per stampare tutti i numeri primi fino a m. Scrivete un programma, utilizzando le funzioni test_primo () e list_primi (), che richieda in input un intero positivo e stampi tutti i numeri primi minori o uguali di tale intero. Confrontare i propri risultati con la tavola dei numeri primi. 10

11 Suggerimento: semplici divisioni per successivi interi sono sufficienti per realizzare test_primo. Esercizio g.7 Determinare i risultati prodotti dal seguente programma C++: #include <iostream> using namespace std; int a; int calcola (int x) {int b=100; x=x+b; return x;} main () {int b=10, c; a=b+5; c=calcola(a); cout <<a <<" " <<b <<" " <<c <<'\n'; } Esercizio g.8 Determinare i risultati prodotti dal seguente programma C++: #include <iostream> using namespace std; int x, y; int somma (int z) {z=2+z; return z;} int diffe (int z) {return z-3;} main () {x=10; y=1; x=somma(x); y=diffe(y); cout <<x <<" " <<y <<'\n';} h. passaggio per riferimento Esercizio h.1 Descrivere le differenze semantiche delle due modalità di passaggio parametri per valore e per riferimento. Esercizio h.2 Scrivete una funzione che scambia due interi, cioè la sua chiamata swap (a, b) provoca lo scambio dei valori di a e b (es. prima della chiamata a=1, b=111, dopo la chiamata a=111, b=1). Scrivete un programma che legge quattro interi e, utilizzando swap, scambia i valori del primo con il quarto e del secondo con il terzo. 11

12 Esercizio h.3 Scrivete una funzione che calcoli la media aritmetica di N valori interi letti da tastiera. N è un parametro della funzione. Scrivete un programma che chieda in ingresso il valore N, chiami la funzione media e infine stampi il risultato. Fare due versioni: 1) la funzione calcola la media e la restituisce al chiamante mediante un parametro per riferimento; 2) la funzione è di tipo double, calcola la media e la restituisce al chiamante mediante la sua stessa chiamata. Evidenziare vantaggi/svantaggi delle due soluzioni. Esercizio h.4 Determinare i risultati prodotti dal seguente programma C++ nel caso di passaggio per valore o riferimento del parametro x: #include <iostream> using namespace std; double a; void Q() { double a=4.5; } void R(double...x) { x=2.3; Q(); cout << x << \n'; } main () { a=7.7; R(a); cout << a << \n'; } Esercizio h.5 Determinare i risultati prodotti dal seguente programma C++ nel caso di passaggio per valore o riferimento del parametro x: #include <iostream> using namespace std; int c; void Q() { c=10; c=c+1; cout << c << \n';} void R(int...x) { x=3; Q(); cout << x << \n';} main () { c=9; R(c);} Esercizio h.6 Determinare i risultati prodotti dal seguente programma C++: #include <iostream> using namespace std; 12

13 int a; int calcola (int &a) {int b=100; a=a+b; return a;} main () {int b=10, c; a=b-5; c=calcola(a); cout <<a <<" " <<b <<" " <<c <<'\n'; } Esercizio h.7 Determinare i risultati prodotti dal seguente programma C++: #include <iostream> using namespace std; int x, y; int somma (int &z) {z=2+z; return z;} int diffe (int z) {return z-x;} main () {x=10; y=1; y=somma(x); y=diffe(y); cout <<x <<" " <<y <<'\n';} i. array Esercizio i.1 Per ciascuno dei seguenti gruppi di valori, scrivete un codice che riempia un array a con i valori: Quando è il caso, usate un ciclo. Esercizio i.2 Che cos'è l'indice di un array? Quali sono i limiti di un array? Che cos'è un errore di limiti? Esercizio i.3 Scrivete una funzione che riceva come parametro un array di interi e restituisca come risultato il massimo e il minimo elemento nell'array. 13

14 Esercizio i.4 Scrivete una funzione di tipo double che calcoli il prodotto scalare di due vettori matematici (rappresentati come array e passati come parametri). Se a e b sono i vettori, il loro prodotto scalare è: a 0 b 0 + a 1 b a n-1 b n-1 Esercizio i.5 Vero o falso? - Tutti gli elementi di un array sono dello stesso tipo. - Gli indici degli array devono essere numeri interi. - Gli array non possono contenere stringhe come elementi. - Gli array bidimensionali hanno sempre lo stesso numero di righe e colonne. - In un array bidimensionale gli elementi di colonne diverse possono avere tipi diversi. - Una funzione non può restituire un array bidimensionale. - Una funzione può cambiare la lunghezza di un array fornito come parametro. Esercizio i.6 Scrivete una funzione di tipo logico che verifichi se i due array di interi, passati come parametri, hanno gli stessi elementi, ignorando la molteplicità e l'ordine. Per esempio, i due array e hanno gli stessi elementi. Probabilmente avrete bisogno di una o più funzioni di supporto. Esercizio i.7 Scrivete una funzione di tipo logico che riceva come parametri un array di caratteri e un carattere e restituisca vero se il carattere è presente nell'array e falso altrimenti. Esercizio i.8 Scrivete una funzione che riceva come parametri un array di caratteri e un carattere. La funzione controlla se il carattere dato è presente nell'array. In caso affermativo restituisce la posizione dell'elemento dato, in caso negativo lo inserisce nella I posizione dell'array. Esercizio i.9 Scrivere una funzione che riceve come parametro un array di N caratteri (char) e un intero M<N e stampa i primi M elementi dell'array. Scrivere anche una chiamata della stessa funzione, le dichiarazioni dei parametri attuali inclusa l'inizializzazione dell'array da passare alla funzione (utilizzare la lettura da tastiera). Esercizio i.10 Scrivere una funzione che riceve come parametro un array di n interi e restituisce come risultato la somma degli elementi dell'array. Il risultato può essere restituito o mediante parametro o mediante la funzione stessa definendola di tipo int. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. 14

15 Esercizio i.11 Scrivere una funzione che riceve come parametro un array di M reali (double) e due interi i e j; la funzione scambia l'i-esimo elemento dell'array con il j-esimo elemento dell'array. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. Esercizio i.12 Scrivere una funzione che riceve come parametro un array bidimensionale di interi (dimensioni: N righe e M colonne) e un intero i; la funzione stampa l'i-esima riga dell'array. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. Esercizio i.13 Scrivere una funzione di tipo int che riceve come parametri un array bidimensionale di interi (dimensioni: N righe e M colonne) e un intero i; la funzione restituisce l'elemento massimo dell'i-esima riga. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. Esercizio i.14 Scrivere una funzione di tipo int che riceve come parametri un array bidimensionale di interi (dimensioni: N righe e M colonne) e un intero i; la funzione restituisce l'elemento minimo dell'i-esima colonna. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. Esercizio i.15 Scrivere una funzione di tipo double che riceve come parametri un array bidimensionale di interi (dimensioni: N righe e M colonne) e un intero i; la funzione restituisce la media aritmetica tra gli elementi dell'i-esima riga. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. Esercizio i.16 Scrivere una funzione che riceve come parametri un array bidimensionale di reali (dimensioni: N righe e M colonne), un reale x e un intero i; la funzione moltiplica la riga i-esima dell'array per x. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. Esercizio i.17 Scrivere una funzione che riceve come parametri un array bidimensionale di interi (dimensioni: N righe e M colonne), e due interi i e j; la funzione scambia la riga i-esima con la riga j-esima. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. Esercizio i.18 Scrivere una funzione di tipo int che riceve come parametri un array bidimensionale di interi (dimensioni: N righe e M colonne) e due interi i e j la funzione restituisce la differenza tra la somma dell'i-esima riga e la somma della j-esima riga. Scrivere anche una chiamata della stessa funzione e le dichiarazioni dei parametri attuali. 15

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Dettagli

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

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

a.a Codice corso: 21012, HOMEWORKS

a.a Codice corso: 21012, HOMEWORKS HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Dati aggregati. Violetta Lonati

Dati aggregati. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

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

Fondamenti di Informatica 1 Ing.Gestionale (A.A ) - docente Sandro Moriggi RECUPERO. cognome nome

Fondamenti di Informatica 1 Ing.Gestionale (A.A ) - docente Sandro Moriggi RECUPERO. cognome nome Compito 1 Segnare una sola delle risposte indicate; una risposta errata ha un punteggio = 0; una risposta mancante ha un punteggio = 0; più di 1 risposta (incluso modifica della risposta segnata): annullata

Dettagli

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

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n 1 Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n P1. trovare il maggiore fra i primi 2 numeri; P2. trovare il maggiore fra il terzo

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

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

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario Daniele Pighin pighin@fbk.eu FBK Via Sommarive, 18 I-38050 Trento, Italy February 27, 2008 Outline 1 Algebra di Boole

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

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

Variabili. Unità 2. 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

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario

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

Foglio Elettronico Lezione 1

Foglio Elettronico Lezione 1 - Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in

Dettagli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica Classi di istruzioni 2 Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da

Dettagli

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

Dettagli

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

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

Unità aritmetica e logica

Unità aritmetica e logica Aritmetica del calcolatore Capitolo 9 Unità aritmetica e logica n Esegue le operazioni aritmetiche e logiche n Ogni altra componente nel calcolatore serve questa unità n Gestisce gli interi n Può gestire

Dettagli

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica O. BELLUZZ I - L. DA VINCI Prot.8480/6.3 del 05/07/2017 A.S. 2016-2017 Classe III H Informatica Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

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

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

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 e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da

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

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

Passare argomenti al programma

Passare argomenti al programma Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

Dettagli

Gocce di Java. Gocce di Java. Selezione e ripetizione. Pierluigi Crescenzi. Università degli Studi di Firenze

Gocce di Java. Gocce di Java. Selezione e ripetizione. Pierluigi Crescenzi. Università degli Studi di Firenze Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Variabili ed espressioni Booleane Variabile booleana: può assumere valore true o false Espressione Booleana: valore di ritorno true o

Dettagli

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Introduzione alla programmazione in C++

Introduzione alla programmazione in C++ Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione

Dettagli

Laboratorio di Programmazione I Compitino (Vers. C)

Laboratorio di Programmazione I Compitino (Vers. C) Laboratorio di Programmazione I Compitino (Vers. C) 13 novembre 2009 Cognome... Nome... Matricola... Note. In alcune delle seguenti domande verrà usato il vostro numero di matricola. Scrivete il vostro

Dettagli

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.

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

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

Tipi di dato. Unità 2. 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 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

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Struttura dei programmi C

Struttura dei programmi C Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte

Dettagli

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++ Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

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

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

Dettagli

VBA Principali Comandi

VBA Principali Comandi VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 8 Novembre 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 8 Novembre 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 8 Novembre 010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4

Dettagli

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme

Dettagli

Università di Roma Tor Vergata L12-1

Università di Roma Tor Vergata L12-1 Università di Roma Tor Vergata L12-1 soluzione di un problema fl 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio

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

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

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. Passaggio dei parametri per valore/riferimento 2. Trattamento degli errori: funzioni che restituiscono anche codici di errore

Dettagli

Introduzione alla programmazione in C(++)

Introduzione alla programmazione in C(++) Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

Le strutture di controllo

Le strutture di controllo INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 21 Gennaio 1998

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 21 Gennaio 1998 21 Gennaio 1998 PROVA PRATICA Si scriva un programma C (BASIC per gli studenti di Elementi di Informatica) che: a) Legga da terminale una sequenza di caratteri terminati dal carattere '*' (un carattere

Dettagli

Le Funzioni e la Ricorsione

Le Funzioni e la Ricorsione Aula V Dip. di Matematica G. Castelnuovo Univ. di Roma La Sapienza Le Funzioni e la Ricorsione Igor Melatti Slides disponibili (assieme ad altro materiale) in: http://www.dsi.uniroma1.it/ melatti/programmazione1.2007.2008.html

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

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

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Descrivere

Dettagli

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

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Introduzione alla sintassi C++ Array a una dimensione Array a due dimensioni Array multidimensionali Funzioni standard della libreria

Dettagli

LEZIONE 3: SELEZIONE

LEZIONE 3: SELEZIONE LEZIONE 3: SELEZIONE CON TIPI NUMERICI Esercizio 1 Scrivere un'applicazione che richieda l'immissione di un numero intero e comunichi all'utente se il numero e' pari o dispari. Nota. Utilizzare l'operatore

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

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

Linguaggio C Informatica Grafica

Linguaggio C Informatica Grafica Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Linguaggio C Breve storia Struttura di un programma Variabili

Dettagli

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array

Dettagli

Appunti, esempi ed esercizi sui linguaggi C/C++

Appunti, esempi ed esercizi sui linguaggi C/C++ Appunti, esempi ed esercizi sui linguaggi C/C++ Dispense e materiale didattico su http://www.eclecticforce.com/ Ambiente di sviluppo Dev C++ http://www.bloodshed.net/devcpp.html // commento su una linea

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

ESERCIZIO 1 (5 punti) Convertire in binario il valore, espresso in decimale, Si usi la rappresentazione in virgola fissa.

ESERCIZIO 1 (5 punti) Convertire in binario il valore, espresso in decimale, Si usi la rappresentazione in virgola fissa. PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 23/9/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Convertire

Dettagli

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro Laboratorio di Programmazione Lezione 3 Cristian Del Fabbro Prossima lezione GIOVEDÌ 12 NOVEMBRE ORE 14:00 Array a.k.a. vettore Un array è una collezione ordinata di dati omogenei (cioé sono tutti dello

Dettagli

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a

Dettagli

Esercizi su strutture dati

Esercizi su strutture dati Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate

Dettagli

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

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

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi posizionali

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

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

Strutture di controllo in C++

Strutture di controllo in C++ Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni

Dettagli

Gestione dei compiti

Gestione dei compiti 1 of 18 23/10/2006 103 Gestione dei compiti Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Domanda n. 1 Argomento: Logica booleana Domanda: Qual e' il risultato

Dettagli

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit,

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

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

Esercitazione 11. Liste semplici

Esercitazione 11. Liste semplici Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene

Dettagli

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

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

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli