Дано действительное число A. Требуется найти первое значение числа N, при котором сумма...

0 голосов
45 просмотров
Дано
действительное число A. Требуется найти первое значение числа N, при
котором сумма S=1+1/2+1/3+…+1/N превышает A. Программу
составьте двумя способами: используя цикл с предусловием и цикл с постусловием. В ABC Pascal

Информатика (12 баллов) | 45 просмотров
Дан 1 ответ
0 голосов

Var a, s: real; i: longint;
begin
     readln(a);
     {С предусловием}
     i := 2;
     s := 1;
     while(s <= a) do<br>     begin
          s := s + 1 / i;
          i := i + 1;
     end;
     writeln(i - 1);
     {С постусловием}
     i := 1;
     s := 0;
     repeat
           s := s + 1 / i;
           i := i + 1;
     until(s > a);
     writeln(i - 1);
end.

(9.5k баллов)