Дано действительное число a. требуется найти первое значение числа n, при котором сумма s=1+1/2+1/3+…+1/n превышает a. программу составьте двумя используя цикл с предусловием и цикл с постусловием. в abc pascal
Var a, s: real; i: longint; begin readln(a); {С предусловием} i := 2; s := 1; while(s <= a) do 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.
begin
readln(a);
{С предусловием}
i := 2;
s := 1;
while(s <= a) do
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.