ESERCIZIO Grammatiche 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ESERCIZIO Grammatiche 1"

Transcript

1 ESERCIZIO Grammatiche 1 Data la grammatica G con scopo S e simboli terminali {a,c,0,1 S ::= a F c F ::= a S c E E ::= 0 1 si mostri (mediante derivazione left-most) che la stringa aaa1ccc appartiene alla grammatica ESERCIZIO 1: Soluzione S ::= a F c F ::= a S c E E ::= 0 1 S afc aascc aaafccc aaaeccc aaa1ccc

2 ESERCIZIO Grammatiche 2 Si consideri la grammatica G con scopo S e simboli terminali {il, la, Alice, regina, coniglio, sgrida, saluta, gioca S::= T P A T P P::= V V T V A T T::= Alice regina coniglio A::= il la V::= sgrida saluta gioca Si dica se la stringa la regina sgrida Alice è sintatticamente corretta rispetto a tale grammatica e se ne mostri l'albero sintattico ESERCIZIO 2: Soluzione

3 ESERCIZIO Grammatiche 3 Espressioni algebriche G = VT,VN,P,S, dove: VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 VN = {<E>, <T>, <F>, <num>, <cifra>, <cifra-non-nulla> S = <E> P = { ESERCIZIO Grammatiche 3 Espressioni Algebriche <E> ::= <E> + <T> <E> - <T> <T> <T> ::= <T> * <F> <T> / <F> <F> <F> ::= <cifra> ( <E> ) <cifra> ::= 0 <cifra-non-nulla> <cifra-non-nulla> ::= Disegnare il diagramma sintattico di tale grammatica. Determinare poi se le seguenti frasi fanno parte del linguaggio generato da questa grammatica o no, e disegnarne l albero di derivazione sintattica: * / 0 + 4

4 ESERCIZIO Grammatiche 3 Soluzione Diagramma sintattico: <E>::= <E> + <E> - <T>::= <T> * <T> / <F>::= <cifra> ( <E> ) <T> <F> <cifra>::= 0 <cifra_non_nulla> ESERCIZIO Grammatiche 3 Soluzione * 7: <E> <E> + <T> <T> <T> * <F> <F> <F> <cifra> <cifra> <cifra> <cifra_non_nulla> <cifra_non_nulla> <cifra_non_nulla> * 7

5 ESERCIZIO Grammatiche 3 Soluzione 3 / 0 + 4: <E> <E> + <T> <T> <T> / <F> <F> <F> <cifra> <cifra> <cifra> <cifra_non_nulla> <cifra_non_nulla> 3 / ESERCIZIO Grammatiche 4 if statement Sia data una nuova grammatica G1, definita come la grammatica precedente G estesa con i seguenti elementi: G = VT1, VN1, P1, S1 VT1 = VT { if, else, >, <, ==,!= VN1 = VN { <INSTR>, <IF>, <IF_BODY>, <ELSE_BODY>, <COND>, <COND_OP> S1 = <INSTR>

6 P = P1 { ESERCIZIO Grammatiche 4 if statement <INSTR> ::= <IF> <E> <IF> ::= <IF_BODY> <IF_BODY> <ELSE_BODY> <IF_BODY> ::= if ( <COND> ) <INSTR> <ELSE_BODY> ::= else <INSTR> <COND> ::= <E> <COND_OP> <E> <COND_OP> ::= > < ==!= Determinare se la seguente frase e derivabile dal linguaggio, e, in caso affermativo, disegnare l albero di derivazione sintattica: if (4<5) if (5>3) (5+3) else (6+4) if (4<5) if (5<3) (5+3) else (6+4) ESERCIZIO Grammatiche 4 Soluzione 1 <INSTR> <IF> <IF_BODY> if ( <COND> ) <INSTR> <IF> <IF_BODY> <ELSE_BODY> if ( <COND> ) <INSTR> else <INSTR> <E> <E> if ( 4 < 5 ) if ( 5 > 3 ) ( ) else ( )

7 if (4<5) if (5<3) (5+3) else (6+4) ESERCIZIO Grammatiche 4 Soluzione 2 <INSTR> <IF> <IF_BODY> <ELSE_BODY> if ( <COND> ) <INSTR> <IF> <IF_BODY> if ( <COND> ) <INSTR> else <INSTR> <E> <E> if ( 4 < 5 ) if ( 5 > 3 ) ( ) else ( ) ESERCIZIO Grammatiche 4 if statement La stessa frase può essere generata tramite due differenti alberi di derivazione sintattica La grammatica di questo esercizio è ambigua!!!! In C l istruzione if è definita proprio come in questa grammatica per ovviare al problema di interpretare a quale if si riferisce la keyword else, si è deciso di riferirsi sempre alla istruzione di if più vicina!!!! Quindi in C l albero generato è quello della soluzione 1!!!!

8 ESERCIZIO Grammatiche 5 Compito A - 13 Novemre 2002 (disponibile su web) Si consideri la grammatica G con scopo S e simboli terminali {a, z, 0, 1. S ::= C B C C C ::= B A A B ::= a z A ::= 0 1 Si dica se la stringa a1z0 è sintatticamente corretta secondo tale grammatica, e se ne mostri dla derivazione left-most. ESERCIZIO Grammatiche 5 Compito A - 13 Novemre 2002 Soluzione La stringa è sintatticamente corretta. Derivazione left most: S -> C B C -> B A B C -> a A B C -> a 1 B C -> a 1 z C -> a 1 z A -> a 1 z 0

9 ESERCIZI RAPPRESENTAZIONE (1) Un elaboratore rappresenta numeri interi su 8 bit. Scrivere tramite questa rappresentazione interna i numeri 17 e 23 (espressi in base 10), e eseguirne la somma (sempre tramite la rappresentazione interna). ESERCIZI RAPPRESENTAZIONE (1) Soluzione: (in base 10)

10 ESERCIZI RAPPRESENTAZIONE (2) Un elaboratore rappresenta numeri interi su 8 bit dei quali 7 sono dedicati alla rappresentazione del modulo del numero e uno al suo segno. Indicare qual è l intervallo di interi rappresentabile. Come varia tale intervallo se si dedicano invece 9 bit alla rappresentazione? (8 dedicati al modulo e uno al segno) Soluzione: L intervallo di interi va da 127 a Aggiungendo un bit, l intervallo raddoppia, da 255 a +255 ESERCIZI RAPPRESENTAZIONE (3) Un elaboratore rappresenta numeri interi su 8 bit dei quali 7 sono dedicati alla rappresentazione del modulo del numero e uno al suo segno. Indicare come viene svolta la seguente operazione aritmetica: in codifica binaria.

11 ESERCIZI RAPPRESENTAZIONE (3) Soluzione Tra i (moduli dei) due numeri si esegue una somma: che vale 88 in base 10 ESERCIZI RAPPRESENTAZIONE (4) Un elaboratore rappresenta numeri interi su 8 bit dei quali 7 sono dedicati alla rappresentazione del modulo del numero e uno al suo segno. Indicare come viene svolta la seguente operazione aritmetica: in codifica binaria 59 27

12 ESERCIZI RAPPRESENTAZIONE (4) Soluzione Tra i (moduli dei) due numeri si esegue una sottrazione: che vale 32 in base 10 ESERCIZI RAPPRESENTAZIONE (5) Compito B - 13 Novembre 2002 (disponibile su web) Un elaboratore rappresenta i numeri interi su 8 bit dei quali 7 sono dedicati alla rappresentazione del modulo del numero e uno al suo segno. Indicare come viene svolta la seguente operazione aritmetica e determinarne il risultato traslandolo poi in decimale per la verifica:

13 ESERCIZI RAPPRESENTAZIONE (5) Compito B - 13 Novembre 2002 (disponibile su web) 118 -> > Tra i moduli dei numeri si esegue una sottrazione: che vale 81 in base dieci. ESERCIZI RAPPRESENTAZIONE (6) Un elaboratore rappresenta i numeri interi su 8 bit dei quali 7 sono dedicati alla rappresentazione del modulo del numero e uno al suo segno. Indicare come viene svolta la seguente operazione aritmetica e determinarne il risultato traslandolo poi in decimale per la verifica: 39-91

14 ESERCIZI RAPPRESENTAZIONE (6) 39 -> > Tra i moduli dei numeri si esegue una sottrazione: che vale 52 in base dieci. Notare che il risultato finale è - 52, cioè: Esercizio Analisi (1) Un compito precedente (9/11/2001) Esercizio 1 Dato il seguente programma C: #include <stdio.h> int f1(int x, int y) { if (x>y) return x; else return y; main() { int x=0,z=0; for (x=5; x>0; x-=2) { z=f1(x,z); printf("%d\n", x+z); Che cosa fa la funzione f1? Cosa stampa il programma (motivare opportunamente la risposta)?

15 Esercizio Analisi (2) 5 Novembre 2003 Compito A Es. 1 Esercizio 1 Dato il seguente programma C: #include <stdio.h> int fun(int a, int b) { if ((a%3) == 0 ) return ++b; else return fun(a-1, b); main() { int x = 9; int y = 0; Che cosa fa la funzione fun? Cosa stampa il programma (motivare opportunamente la risposta)? while (x > 0) { y = fun(x, y); printf("%d\n", y); x-=3; Esercizio Record di Attivazione (1) 5 Novembre 2003 Compito A Es. 3 Esercizio 3 Si consideri la seguente funzione g(): int g(int a, int b) { if ((a/b) <2 ) return (b-1); else return 1 + g(a-2, b); Si scriva il risultato della funzione quando invocata come g(9, 2) e si mostrino i record di attivazione. La funzione è tail-ricorsiva?

16 RA RA RA RA a=9 b=2 a=7 b=2 a=5 b=2 a=3 b=2 DL DL DL DL La funzione non è tail-recursive Esercizio Record di Attivazione (2) 13 Luglio 2004 Es. 4 Si consideri la seguente funzione FUN(): int FUN(int a, int b){ a=a/b; if ((a%b)>0) return FUN(a, b) + a; else return 1; Si scriva il risultato della funzione quando invocata come FUN(15, 2) e si disegnino i corrispondenti record di attivazione.

17 RA RA RA RA a=15 7 b=2 a=7 3 b=2 a=3 1 b=2 a=1 0 b=2 DL DL DL DL Esercizio sintesi (1) Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi per risolvere un problema: 1. Individuazione di un procedimento risolutivo 2. Scomposizione del procedimento in un insieme ordinato di azioni (algoritmo( algoritmo) 3. Rappresentazione dei dati e dell algoritmo attraverso un formalismo comprensibile al calcolatore (linguaggio di programmazione, programma)

18 Esercizio sintesi (1) Calcolo delle radici di un polinomio Passo 1: Individuazione di un procedimento risolutivo Cosa sappiamo di questo problema? Qual è la conoscenza specifica che abbiamo sul dominio del problema? 2 b ± b 4ac 2 x1,2 =, b 4ac 2a 0 Esercizio sintesi (1) Calcolo delle radici di un polinomio Passo 2: Scomposizione del procedimento in un insieme ordinato di azioni (algoritmo) Leggi a,b,c Calcola il delta Se il delta è maggiore (o uguale) a 0: allora calcola il numeratore (utilizzando il segno +) dividi il num. per il den. e memorizza il primo risultato calcola il numeratore utilizzando il segno dividi il num. per il den. e memorizza il secondo risultato restituisci entrambi i risultati altrimenti restituisci il messaggio di errore Radici non reali!

19 Esercizio sintesi (1) Calcolo delle radici di un polinomio - soluzione #include <stdio.h> #include <math.h> void main() { int a; int b; int c; float delta; float d; float rad1; float rad2; Esercizio sintesi (1) Calcolo delle radici di un polinomio - soluzione /* Passo 1 */ printf("digitare i coefficienti: "); scanf("%d%d%d", &a, &b, &c); /* Passo 2 */ delta = (b*b - 4*a*c); /* * Non c'e' una funz. che calcola una potenza??? * Se voglio calcolare b^12, devo scrivere b*b*b*... * per dodici volte??? * COMPITO: riscrivere questa soluzione facendo uso * di una apposita funzione per calcolare b^n. */

20 Esercizio sintesi (1) Calcolo delle radici di un polinomio - soluzione /* Passo 3 */ d = sqrt(delta); /* * Cosa succede se delta < 0??? * Non sarebbe meglio mettere un controllo??? */ /* Passo 4 */ rad1 = (-b + d)/(2*a); rad2 = (-b - d)/(2*a); /* Passo 5 */ printf("radici: %f %f", rad1, rad2); Esercizio sintesi (2) Numeri perfetti Dato un numero, stabilire se esso è un numero perfetto o no. In particolare, realizzare una funzione perfetto(int x) che restituisca true se e solo se il numero x è perfetto. Si ricordi che un numero è perfetto se risulta essere la somma di tutti i suoi divisori (escluso sé stesso). Progettare poi un programma main che, utilizzando tale funzione, chieda ad un utente un numero, e calcoli tutti i numeri perfetti compresi tra 1 e tale numero.

21 Esercizio sintesi (2) Numeri perfetti Soluzione int perfetto(int x) { int somma = 0; int i; for(i=1; i<x; i++) { if ( (x%i)==0 ) somma = somma + i; return somma==x; Esercizio sintesi (2) Numeri perfetti Soluzione void main() { int num; int i; printf( Inserire limite: ); scanf("%d", &num); for(i=1; i<= num; i++) if (perfetto(i)) printf("%d e un numero perfetto\n", i);

22 Esercizio sintesi (3) Il numero Pi-Greco Realizzare un programma che calcoli il numero PI-Greco con precisione arbitraria. In particolare, realizzare una funzione pigreco(int x) che riceva in ingresso un intero x (che rappresenterà la precisione), e restituisca in uscita il valore di PI-Greco, calcolato secondo la seguente formula: π = x i ( 1) i= 0 2i Continua > Esercizio sintesi (3) Il numero Pi-Greco Si realizzi poi un programma main() che, almeno una volta, chieda all utente di immettere un valore x. Se tale valore è uguale a -1, il programma termini immediatamente; se il valore è maggiore o uguale a 0, allora il programma calcoli pi-greco con tale precisione e chieda un nuovo numero all utente. Qualora il valore non sia ammissibile (nel nostro caso, minore di -1), il programma ne richieda uno corretto all utente.

23 #include <stdio.h> #include <math.h> Esercizio sintesi (3) Il numero Pi-Greco Soluzione double pigreco(int x) { double somma = 0; int i; for (i=0; i<=x; i++) somma = somma + pow(-1, i)*(4.0/(2*i +1)); return somma; Continua > Esercizio sintesi (3) Il numero Pi-Greco Soluzione void main() { int num; double pi; do { printf("inserire numero: "); scanf("%d", &num); if (num >=0) { pi = pigreco(num); printf("pi Greco vale: %f\n\n", pi); while (num!= -1);

24 Esercizio sintesi (4) Interesse composto Una banca vuole realizzare un programma per il calcolo dell interesse composto. Tale problema consiste nel calcolare a quanto ammonterebbe il capitale finale qualora si avesse un capitale iniziale noto, per N anni con un tasso di interesse pari a r. Il programma deve quindi chiedere all utente a quanto ammonta il capitale iniziale, quale è il tasso di interesse, ed il numero di anni su cui simulare. Ovviamente è necessario controllare che i dati inseriti corrispondano a valori plausibili (tasso d interesse >= 0 e <= 100) (anni > 0). Continua > Esercizio sintesi (4) Interesse composto La formula per il calcolo degli interessi composti, dove r e il tasso di rendimento e N e il numero di anni a cui gli interessi sono applicati, è la seguente: Cfin r Cin = * N

25 Esercizio sintesi (4) Interesse composto - Soluzione #include <stdio.h> float interessi(float c_in, float tasso, int anni) { float tasso_perc; float tasso_tot; float result; int i; result = 1; tasso_perc = tasso/100; tasso_tot = 1 + tasso_perc; for (i=0; i<anni; i++) result=result*tasso_tot; r Cfin Cin = * N return c_in*result; Continua > Esercizio sintesi (4) Interesse composto - Soluzione int main() { float c_in; float tasso; float c_fin; int anni; printf("inserire il capitale iniziale: "); scanf("%f", &c_in); printf("inserire il tasso d'interesse: "); scanf("%f", &tasso); while ((tasso<0) (tasso>100)) { printf("tasso errato\n"); printf("inserire il tasso d'interesse: "); scanf("%f", &tasso); Continua >

26 Esercizio sintesi (4) Interesse composto - Soluzione anni); printf("inserire anni: "); scanf("%d", &anni); while (anni<0) { printf("anni negativi.\n"); printf("inserire anni: "); scanf("%d", &anni); c_fin = interessi(c_in, tasso, anni); printf("interessi simulati, con:\n"); printf("capitale iniziale: %6.2f\n", c_in); printf("tasso d'interesse: %6.2f\n", tasso); printf("anni di applicazione degli interessi: %d\n", printf("capitale finale: %6.2f\n", c_fin); return 0; Esercizio sintesi (5) 5 Novembre 2003 compito A es. 2 Esercizio 2 (disponibile su web) a) Si definisca una funzione iterativa long fact (long n) che calcoli in maniera iterativa il fattoriale del parametro n. Si definisca inoltre una funzione ricorsiva float power (float base, long exp) che calcoli in maniera ricorsiva la potenza del parametro base elevato ad exp.

27 Esercizio sintesi (5) 5 Novembre 2003 compito A es. 2 (disponibile su web) b) Si definisca una funzione float newton(float a, float b, long n) che calcoli il seguente valore: n k= 0 n a k n k dove il simbolo del binomio è così definito: b k n = k n! k!( n k)! Esercizio sintesi (5) 5 Novembre 2003 compito A es. 2 (disponibile su web) c) Si scriva infine un programma main che chieda all utente di inserire tre valori, a e b (float), e n (int). Il programma controlli, in particolare, che n sia maggiore o uguale a zero (in caso contrario si continui a chiedere all utente un nuovo valore finché questi non soddisfa la condizione posta). Il programma stampi infine il valore ottenuto invocando la funzione newton() con parametri a, b, n e poi termini.

28 /* Punto a): */ Esercizio sintesi (5) 5 Novembre 2003 compito A es. 2 Soluzione long fact(long n) { long result = 1; for ( ; n>0; n--) result = result * n; return result; float power(float base, long esp) { if (esp == 0) return 1; else return base * power(base, esp-1); Esercizio sintesi (5) 5 Novembre 2003 compito A es. 2 /* Punto b): */ Soluzione long binomio(long n, long k) { return fact(n)/(fact(k) * fact(n-k)); n = k n! k!( n k)! float newton(float a, float b, long n) { long i; float result = 0; for (i=0; i<=n; i++) result = result + binomio(n, i) * power(a, n-i) * power(b, i); return result; n n n k k= 0 a k b k

29 Esercizio sintesi (5) 5 Novembre 2003 compito A es. 2 /* Punto c): */ Soluzione main() { float a; float b; long n; printf("inserire a, b e n: "); scanf("%f %f %d", &a, &b, &n); while (n<0) { printf("re-inserire n: "); scanf("%d", &n); printf("(%f + %f)^%d = %f\n", a, b, n, newton(a, b, n));

GRAMMATICA FORMALE. Albero sintattico

GRAMMATICA FORMALE. Albero sintattico GRAMMATICA FORMALE Una quadrupla VT,VN,P,S dove: VT è un insieme finito di simboli terminali VN è un insieme finito di simboli non terminali Pè uninsieme finito di produzioni, ossiadi regole di riscrittura

Dettagli

VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 } VN = {<E>, <T>, <F>, <num>, <cifra>, <cifra-non-nulla> }

VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 } VN = {<E>, <T>, <F>, <num>, <cifra>, <cifra-non-nulla> } Esercizio - Grammatiche (1) Espressioni algebriche G = VT,VN,P,S, dove: VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 VN = {, ,, , , S = 1 P = { Esercizio

Dettagli

ESERCIZIO Grammatiche (1) ESERCIZIO Grammatiche (1) Espressioni algebriche

ESERCIZIO Grammatiche (1) ESERCIZIO Grammatiche (1) Espressioni algebriche ESERCIZIO Grammatiche (1) Espressioni algebriche G = VT,VN,P,S, dove: VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 VN = {, , , , , S = 1 P = { ESERCIZIO

Dettagli

ESERCIZIO Grammatiche (1) ESERCIZIO Grammatiche (1) Espressioni algebriche. ESERCIZIO Grammatiche (1) ESERCIZIO Grammatiche (1) P = {

ESERCIZIO Grammatiche (1) ESERCIZIO Grammatiche (1) Espressioni algebriche. ESERCIZIO Grammatiche (1) ESERCIZIO Grammatiche (1) P = { G = VT,VN,P,S, dove: VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 VN = {,,, , , S = Espressioni algebriche 1 P = { Espressioni Algebriche ::= +

Dettagli

Fondamenti di Informatica T-1 Esercitazione 1. Grammatiche Complemento a 2 Analisi Record di attivazione

Fondamenti di Informatica T-1 Esercitazione 1. Grammatiche Complemento a 2 Analisi Record di attivazione Fondamenti di Informatica T-1 Esercitazione 1 Grammatiche Complemento a 2 Analisi Record di attivazione 1 Contenuto di questa esercitazione Esercizi sulle grammatiche Esercizi sulla rappresentazione dei

Dettagli

Esercizi di preparazione alla I Prova Intermedia di Fondamenti di Informatica L-A a.a. 2002/2003 Prof. Paola Mello, Prof.

Esercizi di preparazione alla I Prova Intermedia di Fondamenti di Informatica L-A a.a. 2002/2003 Prof. Paola Mello, Prof. Esercizi di preparazione alla I Prova Intermedia di Fondamenti di Informatica L-A a.a. 2002/2003 Prof. Paola Mello, Prof. Paolo Bellavista Il compitino comprenderà un esercizio (simile a uno di quelli

Dettagli

VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 } VN = {<E>, <T>, <F>, <num>, <cifra>, <cifra-non-nulla> }

VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 } VN = {<E>, <T>, <F>, <num>, <cifra>, <cifra-non-nulla> } ESERCIZIO Grammatiche (1) Espressioni algebriche G = VT,VN,P,S, dove: VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 VN = {, , , , , S = 1 P = { ESERCIZIO

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 1 Contenuto di questa esercitazione Esercizi sulle grammatiche Esercizi sulla rappresentazione dei numeri Esercizi di analisi Esercizisui record di attivazione Esercizi di

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 1 Contenuto di questa esercitazione Esercizi sulle grammatiche Esercizi sulla rappresentazione dei numeri Esercizi di analisi Esercizisui record di attivazione Esercizi di

Dettagli

Barriera di astrazione. Barriera di astrazione. macchina virtuale. non sono quelle della macchina hardware. Algol. Ada. Lisp. Lisp.

Barriera di astrazione. Barriera di astrazione. macchina virtuale. non sono quelle della macchina hardware. Algol. Ada. Lisp. Lisp. LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Cobol Basic Pascal Python Modula-2

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal

Dettagli

Esercizio 1. Esercizio 1 - Soluzione

Esercizio 1. Esercizio 1 - Soluzione Esercizio 1 Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio:

Dettagli

A lezione sono stati presentati i seguenti passi per risolvere un problema:

A lezione sono stati presentati i seguenti passi per risolvere un problema: Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi

Dettagli

ESERCIZIO: Analisi di un programma. Dato il seguente programma C:

ESERCIZIO: Analisi di un programma. Dato il seguente programma C: : Analisi di un programma Dato il seguente programma C: #include #define D 4 float A(float V[], int k) {int i; float s=0.0; for(i=0;i

Dettagli

Lab 04 Istruzioni, cicli e array"

Lab 04 Istruzioni, cicli e array Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 04 Istruzioni, cicli e array" Lab04 1 Esercizio 1" Si scriva un

Dettagli

#include <stdio.h> #include <stdlib.h> #define L 20 void Proc(char [], int); int N=L; main () { char *s; int i;

#include <stdio.h> #include <stdlib.h> #define L 20 void Proc(char [], int); int N=L; main () { char *s; int i; Fondamenti di Informatica L-A (A.A. 2002/2003) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista Prova d Esame di Martedì 09/09/2003 durata 2h:30m ESERCIZIO 1 (12 punti) Si scriva una procedura

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

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

Esercizi di Preparazione alla Prima Prova Intermedia Fondamenti di Informatica L-A (Proff. Paola Mello e Paolo Bellavista) ESERCIZI DI ANALISI

Esercizi di Preparazione alla Prima Prova Intermedia Fondamenti di Informatica L-A (Proff. Paola Mello e Paolo Bellavista) ESERCIZI DI ANALISI Esercizi di Preparazione alla Prima Prova Intermedia Fondamenti di Informatica L-A (Proff. Paola Mello e Paolo Bellavista) La prima prova intermedia potrà includere: esercizi di analisi; esercizi di sintesi;

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

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

Un po di storia sui linguaggi

Un po di storia sui linguaggi LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

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

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

Esempio di Prova Scritta

Esempio di Prova Scritta Esempio di Prova Scritta La prova scritta è composta da alcuni esercizi per un totale di 12 punti, sufficienza con 7 punti (durata: circa 1h). Le tipologie di esercizi possibili comprendono: sintesi di

Dettagli

Un po di storia sui linguaggi

Un po di storia sui linguaggi LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Alcuni esercizi 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Esercizio 1 (valutazione in cortocircuito) int main() int a=5, b=5, c=5; if (a>0 (a=a+1) ) printf( %d, a); if (b>0

Dettagli

Passaggio dei parametri. Passaggio dei parametri

Passaggio dei parametri. Passaggio dei parametri Per valore Il valore viene copiato dal mondo esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sul mondo esterno rimangono circoscritti all environment

Dettagli

Lab 03 Istruzioni Prima Parte"

Lab 03 Istruzioni Prima Parte Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione Lab 03 Istruzioni Prima Parte" Lab03 1 Esercizio 1"

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

ALGHERO 5 16 VARIABILE ANCONA 7 9 NUVOLOSO AOSTA 0 4 NEVE BARI VARIABILE BOLOGNA 7 9 PIOGGIA...

ALGHERO 5 16 VARIABILE ANCONA 7 9 NUVOLOSO AOSTA 0 4 NEVE BARI VARIABILE BOLOGNA 7 9 PIOGGIA... Fondamenti di Informatica L-A (A.A. 2002/2003) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista Prova d Esame di Lunedì 08/01/2003 durata 2h:30m COMPITO A ESERCIZIO 1 (10 punti) È dato un file

Dettagli

Esercizio 1" input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2

Esercizio 1 input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2 Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 03 Istruzioni" Lab03 1 Esercizio

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 scanf: STRINGA DI FORMATO

Dettagli

ESEMPIO 1. #include <math.h> void eq2gr(float a, float b, float c, int* reali, float* x1,float* x2)

ESEMPIO 1. #include <math.h> void eq2gr(float a, float b, float c, int* reali, float* x1,float* x2) ESEMPIO 1 Dati tre valori a, b, c, relativi all'equazione di secondo grado ax 2 + bx + c = 0: indicare se le radici sono reali o complesse tramite un intero vero/falso se le radici sono reali, calcolarle.

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello AN - 1995 Linguaggi di alto livello AN - 1995 Evoluzione dei

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

Ricerca binaria ricorsiva!

Ricerca binaria ricorsiva! ESERCIZIO: RICERCA BINARIA! Soluzione Iterativa! int ricerca_bin (int vet[], int el) {int first=0, last=n-1, med=(first+last)/2; int T=0; while ((first

Dettagli

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1 1) In un diagramma di flusso, la rappresentazione di un ciclo WHILE include sicuramente almeno:

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

Esempio di Prova Scritta

Esempio di Prova Scritta Esempio di Prova Scritta La prova scritta è composta da alcuni esercizi per un totale di 10 punti (durata:circa 1h15 ). Le tipologie di esercizi possibili comprendono:! sintesi di una funzione ricorsiva/iterativa,

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

Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei paramet

Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei paramet Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment esterno Per riferimento

Dettagli

Linguaggi di Programmazione dall assembler ai linguaggi di alto livello

Linguaggi di Programmazione dall assembler ai linguaggi di alto livello Linguaggi di Programmazione dall assembler ai linguaggi di alto livello LINGUAGGIO MACCHINA 0 READ 8 READ 9 LOADA 8 3 LOADB 9 4 MUL 5 STOREA 8 6 WRITE 8 7 HALT 8 DATO INTERO 9 DATO INTERO Rappresentazione

Dettagli

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

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

Dettagli

Passaggio dei parametri

Passaggio dei parametri Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria ivile e Ingegneria per l ambiente e il territorio Linguaggio : Le basi Stefano

Dettagli

do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b);

do { printf(inserisci due numeri reali:); scanf(%f %f, &a, &b); Fondamenti di Informatica T-1 modulo 2 Laboratorio 02 1 Obiettivi di questa esercitazione 1. Valutazione in cortocircuito i 2. If innestati 3. Switch 4. Cicli 5. Funzioni e Header File 2 Valutazione in

Dettagli

Esercizio 1. Esercizio 2

Esercizio 1. Esercizio 2 Esercizio 1 Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio:

Dettagli

Rapida Nota sulla Rappresentazione dei Caratteri

Rapida Nota sulla Rappresentazione dei Caratteri TECNOLOGIA DIGITALE TECNOLOGIA DIGITALE (segue) CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati tramite sequenze di bit 8 bit

Dettagli

do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b); while(b!=0 && a/b<0);

do { printf(inserisci due numeri reali:); scanf(%f %f, &a, &b); while(b!=0 && a/b<0); Obiettivi di questa esercitazione Fondamenti di Informatica T-1 modulo 2 Laboratorio 02 1. Valutazione in cortocircuito i 2. If innestati 3. Switch 4. Cicli 5. Funzioni e Header File 1 2 Valutazione in

Dettagli

Esercizio 1 - Soluzione

Esercizio 1 - Soluzione Esercizio 1 Realizzare un programma che provveda a leggere da input delle parole separate da spazi (stringhe di al più 63 caratteri) e le ripeta su standard output (servizio di echo ). Il programma deve

Dettagli

IEIM Esercitazione 1 Primi passi con la programmazione" Alessandro A. Nacci -

IEIM Esercitazione 1 Primi passi con la programmazione Alessandro A. Nacci - IEIM 2018-2019 Esercitazione 1 Primi passi con la programmazione" Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Chi sono - Alessandro Nacci, PhD - Nato nel 1987 - Imprenditore

Dettagli

TECNOLOGIA DIGITALE. TECNOLOGIA DIGITALE (segue)

TECNOLOGIA DIGITALE. TECNOLOGIA DIGITALE (segue) TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze elettriche:

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

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

I cicli. Iterazioni Calcolo della media Istruzioni break e continue I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione

Dettagli

Primo programma in C

Primo programma in C Primo programma in C Sottoinsieme minimale di istruzioni I tipi int e float Istruzione printf semplificata Istruzione scanf semplificata Istruzione di assegnazione Semplici espressioni aritmetiche 2 Sottoinsieme

Dettagli

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol. Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato

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

Esercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica

Esercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 5 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video.

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video. ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video. LETTURA/SCRITTURA DI VARIABILI Codice #include

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 Esercizio 1 - Soluzione

Dettagli

Esercizi di Preparazione alla Prima Prova Intermedia Fondamenti di Informatica L-A (Proff. Paola Mello e Paolo Bellavista)

Esercizi di Preparazione alla Prima Prova Intermedia Fondamenti di Informatica L-A (Proff. Paola Mello e Paolo Bellavista) Esercizi di Preparazione alla Prima Prova Intermedia Fondamenti di Informatica L-A (Proff. Paola Mello e Paolo Bellavista) La prima prova intermedia potrà includere: esercizi di analisi; esercizi di sintesi;

Dettagli

Dall algoritmo al calcolatore: concetti introduttivi. Fondamenti di Programmazione

Dall algoritmo al calcolatore: concetti introduttivi. Fondamenti di Programmazione Dall algoritmo al calcolatore: concetti introduttivi Fondamenti di Programmazione Algoritmo Problema o compito Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo sequenza precisa

Dettagli

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Alcuni esercizi 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Stampa di voti Esempio 1 (switch) Realizzare un programma che legge da input un voto (carattere tra A ed E ) e ne

Dettagli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

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

Dettagli

Compito A. Compito A Sintesi (main(

Compito A. Compito A Sintesi (main( a) chieda all utente il numero di giorni G del mese preso in esame e che controlli che G abbia valore tra 28 e 31 compresi b) chieda all utente di inserire G temperature in ordine dal primo all ultimo

Dettagli

Strutture di controllo

Strutture di controllo Strutture di controllo 73 Teorema di Bohm e Jacopini Tutti i programmi possono essere scritti in termini di tre strutture di controllo: La sequenza, permette di eseguire le istruzioni secondo l ordine

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

20/10/2014 M. Nappi/FIL 1

20/10/2014 M. Nappi/FIL 1 FIL Lezione 4: Istruzioni Iterative. Michele Nappi mnappi@unisa.it biplab.unisa.it 20/10/2014 M. Nappi/FIL 1 La struttura di Iterazione while Struttura tt di iterazione i Il programmatore specifica un

Dettagli

Esercizio sintesi (1) Esercizio sintesi (1)

Esercizio sintesi (1) Esercizio sintesi (1) Esercizio sintesi (1) Una compagnia di autobus che effettua servizio su lunghe distanze vuole realizzare un programma di controllo delle prenotazioni dei posti. A tal scopo rappresenta ogni prenotazione

Dettagli

Opinione calcolamedia( ) Opinione inverti( )

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

Dettagli

Università degli Studi di Ferrara

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

Dettagli

Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione

Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione Lab 03 Istruzioni" Lab03 1 Esercizio 1" n Realizzare

Dettagli

TUTORAGGIO INFORMATICA Settimana 2

TUTORAGGIO INFORMATICA Settimana 2 TUTORAGGIO INFORMATICA Settimana 2 Leggenda: //commenti I vettori PROBLEMA 1: percentuali Si scriva un programma in grado di: a) Caricare un vettore V di dimensione N ] di valori interi RELATIVI chiesti

Dettagli

Esercizio 1 - Soluzione (array)

Esercizio 1 - Soluzione (array) 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 numeri ripetuti. Si memorizzi tale sequenza

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

STRUCT - ESERCIZIO 1

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

Dettagli

Informatica B

Informatica B Informatica B 2017-2018 Esercitazione I Primi passi con la programmazione e con il linguaggio C Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Chi sono - Alessandro Nacci, PhD

Dettagli

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0; Problema: CALCOLARE LA SOMMA DEI FATTORIALI DEI PRIMI 100 NUMERI NATURALI 0!+1!+2! + 99! #include int fattoriale(int); Calcolo fattoriale int main(){ int numero; /* numero di cui voglio calcolare

Dettagli

sum = 0; positivenumbers = 0; /* Passo 1 */ printf("introduci i numeri (0 per finire): "); scanf("%d", &number);

sum = 0; positivenumbers = 0; /* Passo 1 */ printf(introduci i numeri (0 per finire): ); scanf(%d, &number); / Questo programma legge numeri interi, positivi e negativi, finche' l'utente non digita il valore 0 (valore di terminazione). Quando l'utente ha finito di immettere gli interi, il programma stampa la

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

ESERCIZI CICLI. Σ Σ j

ESERCIZI CICLI. Σ Σ j ESERCIZI CICLI Aprire l'ambiente integrato C, LCC oppure Turbo C. Creare un nuovo progetto di nome somma e all'interno di questo inserire un file sum.c Progettare un algoritmo che, chiesto all utente un

Dettagli

Ricorsione. Prof. Orazio Mirabella. La ricorsione. La ricorsione consiste nella possibilità di definire una funzione mediante se stessa.

Ricorsione. Prof. Orazio Mirabella. La ricorsione. La ricorsione consiste nella possibilità di definire una funzione mediante se stessa. Ricorsione Prof. Orazio Mirabella La ricorsione La ricorsione consiste nella possibilità di definire una funzione mediante se stessa. È basata sul principio di induzione matematica: se una proprietà P

Dettagli

Blocchi. a=10; { b=2; 2 C-strutture di controllo.tex: Versione 1.0, aa

Blocchi. a=10; { b=2; 2 C-strutture di controllo.tex: Versione 1.0, aa Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

Char. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Char. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto

Dettagli

Esempi comparati while, do...while

Esempi comparati while, do...while Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare

Dettagli

Istruzioni decisionali

Istruzioni decisionali Istruzioni decionali 1. if 2. if-else 3. switch 91 if-else Sintas if (espresone) istruzione_1 else istruzione_2 92 1 if-else else: : semantica Viene valutata espresone Se l espresone è vera (cioè assume

Dettagli

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

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

Dettagli