Help

  • Creatore Discussione Creatore Discussione igloo
  • Data di inizio Data di inizio

igloo

Nuovo Utente
27 Ott 2004
1
0
0
Non capisco perche il programma:

var i,f: real;
begin
f:=1/50;
i:=0.0;
while (i<>1.0) do
begin
write('A');
i:=i+f
end;
end.

e un ciclo infinito.Mi potete aiutare?
 
Forse la mia osservazione è stuipida, però...non si sa mai.
Potrebbe accadere che i non sia mai un reale pari a 1 per via di qualche problema nella rappresentazione dei numeri;
P.Es.:
potresti aver ottenuto i=1.00000000000000000000000000001
ovviamente il codice cicla.
Prova a definire i e f come interi

var i:integer;
begin
i:=0;
while (i<>50) do
begin
write('A');
i:=i+1
end;
end.

prova, forse va bene.
Ciao.
 

Discussioni simili