Для данного положительного вещественного числа A нужно отыскать наибольшее целое число
Для заданного положительного вещественного числа A нужно найти наибольшее целое число K, при котором производится неравенство 1+1/2+...+1/Klt;A . Для решения этой задачки ученик написал такую программу:
var a, s: real;
k: integer;
begin
read(a);
k := 1;
s := 1;
while s lt; a do begin
s := s + 1.0/k;
k := k + 1;
end;
write(k);
end.
Поочередно выполните следующее.
1. Напишите, что выведет эта программка при вводе числа 1.2.
2. Приведите пример числа, при вводе которого программка выведет верный ответ.
3. Найдите в программе все оплошности (их может быть одна либо несколько). Для каждой оплошности выпишите строчку, в которой она допущена, и приведите эту же строку в исправленном виде.
2)Для начала об ошибке:Дело в том, что программка два раза добавляет 1 к сумме прогрессии.
1.6
3)k:=1 меняем на k:=2
writeln(k) меняем на writeln(k-2)
//Однако, есть одна проблема. Если число a меньше или одинаково 1, программа возвращает 0. В начале прогрессии в любом случае будет 1, а потом теснее 1/2 1/3 и т.д..
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.
Химия.
Русский язык.
Разные вопросы.