Esercizio 6
PROBLEMA:
Dato un numero indicare se è divisibile per 2 o 3 o 5 o 7.
ANALISI:
Bisogna inserire un numero e stampare a terminale se questo è divisibile per 2 o per 3 per 5 o per 7.
Non deve essere possibile inserire un numero negativo.
Dati in input: numero intero N;
Dati in output: Il messaggio “è divisibile per 2” oppure il messaggio “è divisibile per 3”, per 5 o per
7; se il numero non è divisibile per questi numeri visualizzare il messaggio “il numero non è
divisibile per 2,3,5 e 7”.
Per la risoluzione di questo problema useremo la funzione “mod”, funzione che in una divisione
considera solo il resto e non il risultato dell'operazione.
ALGORITMO
start
“inserire un numero”
N
N>0
B = (N mod 2)
C = (N mod 3)
“Numero non valido”
D = (N mod 5)
E = (N mod 7)
B
0
“Il numero è divisibile per 2”
C
0
“Il numero è divisibile per 3”
D
0
“Il numero è divisibile per 5”
E
0
“Il numero è divisibile per 7”
“Il numero non è divisibile né per 2, né per 3,
né per 5, né per 7”
end
PSEUDOCODICE
start
begin
write “Inserire un numero”;
read N;
if (N>0)
begin
B = N mod 2;
C = N mod 3;
D = N mod 5;
E = N mod 7;
if (B = 0)
begin
begin
write “Il numero è divisibile per 2”;
end
else if (C = 0)
begin
write “Il numero è divisibile per 3”;
end
else if (D = 0)
begin
write “IL numero è divisibile per 5”;
end
else if (E = 0)
begin
write “Il numero è divisibile per 7”;
end
else
begin
write “IL numero non è divisibile né per 2, né per 3 né per 5 e né per 7”
end
end
else
begin
write “Numero non valido”;
end
end
end