Esercizio 1 : Il fattoriale Definisco il fattoriale solo dei numeri positivi e il fatt di 0 e’ 0. Soluzione Fattoriale(int numero){ Fatt =1; if(numero < 0) then esci; else { If(numero == 0 ) Fatt = 0; Else{ While(numero > 0) { Fatt = numero * Fatt; Numero--; } } } Stampa(Fatt); } Fattoriale(int numero){ Fatt =1; if(numero < 0) then esci; else { If(numero == 0 ) Fatt = 0; Else{ repeat { Fatt = numero * Fatt; Numero--; }until (numero > 0) } } Stampa(Fatt); } Esercizio 2 : passaggio da binario a decimale Dati i numeri binari trasformarli in decimali 1010100 84 110011 51 1111111 127 100011 35 Esercizio 3 : passaggio da decimale a binario Dati i numeri decimali trasformarli in binari 23 10111 167 10100111 38 100110 72 1001000 128 10000000 Esercizio 4 : passaggio da esadecimale a decimale Dati i numeri esadecimali a decimale BC 188 E5 229 Soluzione = scrivo BC in binario 1011 1100 Scrivo E5 in binario 1110 0101 Ed ottengo il numero decimale. Esercizio 5 : dal linguaggio alla parola Data la seguente grammatica BNF dire se le seguenti parole vi appartengono. T = {a,b,c} NT = {S, P, R, T} Init = {S} S ::= TR | R R ::= aaR | P P ::= bP | b T ::= c aabb, cab, cbb, caaaabb S R aaR aaP aabP aabb OK S TR cR caaR Sbagliato S TR cR cP cbP cbb OK S TR cR caaR caaaaR caaaaP caaaabP caaaabb OK Esercizio 6 : vettore di n elementi Dato un vettore di n numeri interi, calcolare la somma degli elementi. Function sommaVettore(int[] vettore) { int somma = 0; For(int i = 1; i n; i++) { int elem = vettore[i]; somma = somma + elem; } return somma; }