Для заданного положительного вещественного числа A необходимо найти максимальное целое число K, при котором выполняется неравенство $1 плюс дробь: числитель: 1, знаменатель: 2 конец дроби плюс дробь: числитель: 1, знаменатель: 3 конец дроби плюс ... плюс дробь: числитель: 1, знаменатель: K конец дроби меньше A$ (при K = 0 сумма считается равной 0). Для решения этой задачи ученик написал такую программу. Бейсик | Python DIM A, S AS DOUBLE DIM K AS INTEGER INPUT A K = 0 S = 1 WHILE S < A K = K + 1 S = S + 1.0/K WEND PRINT K END | a = float(input()) k = 0 s = 1 while s < a: k = k + 1 s = s + 1.0/k print(k) Алгоритмический язык | Паскаль алг нач вещ a, s цел k ввод a k := 0 s := 1 нц пока s<a k := k + 1 s := s + 1.0/k кц вывод k кон | var a, s: real; k: integer; begin read(a); k := 0; s := 1; while s<a do begin k := k + 1; s := s + 1.0/k; end; write(k); end. Си++ #include <iostream> using namespace std; int main(){ double a, s; int k; cin >> a; k = 0; s = 1; while (s<a) { k = k + 1; s = s + 1.0/k; } cout « k « endl; return 0; } Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 1.8. 2. Приведите пример числа, при вводе которого программа даст верный ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только исправлять ошибочные строки; удалять строки или добавлять новые строки нельзя. Постарайтесь также не внести новые ошибки – за это оценка снижается.

Средний уровеньЗадание

Для заданного положительного вещественного числа A необходимо найти максимальное целое число K, при котором выполняется неравенство $1 плюс дробь: числитель: 1, знаменатель: 2 конец дроби плюс дробь: числитель: 1, знаменатель: 3 конец дроби плюс ... плюс дробь: числитель: 1, знаменатель: K конец дроби меньше A$ (при K = 0 сумма считается равной 0). Для решения этой задачи ученик написал такую программу. Бейсик | Python DIM A, S AS DOUBLE DIM K AS INTEGER INPUT A K = 0 S = 1 WHILE S < A     K = K + 1     S = S + 1.0/K WEND PRINT K END | a = float(input()) k = 0 s = 1 while s < a:     k = k + 1     s = s + 1.0/k print(k) Алгоритмический язык | Паскаль алг нач     вещ a, s     цел k     ввод a     k := 0     s := 1     нц пока s<a         k := k + 1         s := s + 1.0/k     кц     вывод k кон | var a, s: real; k: integer; begin     read(a);     k := 0;     s := 1;     while s<a do begin         k := k + 1;         s := s + 1.0/k;     end;     write(k); end. Си++ #include <iostream> using namespace std; int main(){     double a, s;     int k;     cin >> a;     k = 0;     s = 1;     while (s<a) {         k = k + 1;         s = s + 1.0/k;     }     cout « k « endl;     return 0; } Последовательно выполните следующее. 1.  Напишите, что выведет эта программа при вводе числа 1.8. 2.  Приведите пример числа, при вводе которого программа даст верный ответ. 3.  Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только исправлять ошибочные строки; удалять строки или добавлять новые строки нельзя. Постарайтесь также не внести новые ошибки – за это оценка снижается.

Похожие задания