Для заданного положительного вещественного числа A необходимо найти максимальное целое...

0 голосов
68 просмотров

Для заданного положительного вещественного числа A необходимо найти максимальное целое число K, при котором выполняется неравенство 1+1/2+...+1/K var a, s: real;
k: integer;
begin
read(a);
k := 1;
s := 1;
while s < a do begin
s := s + 1.0/k;
k := k + 1;
end;
write(k);
end.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1.2.
2. Приведите пример числа, при вводе которого программа выведет правильный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.


Информатика (74 баллов) | 68 просмотров
0

Что за неравенство?

0

1 + 1/2+ ...+1/K < A

Дан 1 ответ
0 голосов
Правильный ответ

1)2
2)Для начала об ошибке:Дело в том, что программа дважды прибавляет 1 к сумме прогрессии.
1.6
3)k:=1 меняем на k:=2 
writeln(k) меняем на writeln(k-2)
//Однако, есть одна проблема. Если число a меньше или равно 1, программа возвращает 0. В начале прогрессии в любом случае будет 1, а потом уже 1/2 1/3 и т.д..

(38.6k баллов)