Esercizio 1 : Il fattoriale

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;
}