Diciamo che è da anni che non uso pascal quindi la sintassi non credo sia delle migliori... cmq senza creare molte procedure credo che basti un semlice ciclo .... ma magari non ho capito molto bene il problema
ciao
program CICLO;
uses
crt; {Richiamo la unit CRT}
var
NUMERO, R, R2: integer;
RISPOSTA: string;
begin
clrscr;
writeln;
readln;
writeln('Dammi un numero');
read(NUMERO);
while (NUMERO > 1) do
begin
R:= NUMERO mod 2;
if(R=0) then
begin
NUMERO := (NUMERO/2);
writeln(NUMERO);
end
else
begin
NUMERO := ((NUMERO*3)+1);
writeln(NUMERO);
end;
end;
writeln ('------------------------------');
writeln ('FINITO!!');
end.