Задача к ЕГЭ по информатике на тему «неравенства и уравнения» №2

Дано целое положительное число N  . Необходимо определить наименьшее целое число K  , для которого выполняется неравенство:

1 + 2 + ...+  K >  N » class=»math-display» width=»auto»></center> </p>
<p class= Для решения этой задачи марафонец написал программу, но, к сожалению, его программа неправильная.

|-----------------|------------------------|----------------------| |P-ython----------|C-+-+-------------------|P-ascal---------------| |n = int(input()) |#include  < iostream  > |varn, k : integer;    | |k = 1            |usingnamespacestd;      |begin                 | |                 |                        |                      | |whilnen  > 0 :   |intmain (){             |   read(n);           | |  n =  n − k     |  intn,k;               |   k :=  1;            | |  k = k + 1      |  cin > > n;            |   whilen > 0dobegin  | |print(k)         |  k = 1;                |     n :=  n − k;      | |                 |  while (n > 0){        |     k :=  k + 1;      | |                 |                        |                      | |                 |    n =  n − k;         |   end;               | |                 |    k =  k + 1;         |   writeln(k);        | |                 |  }                     |end.                  | |                 |  cout < < k < < endl;  |                      | |                 |  return0;              |                      | |                 |                        |                      | -------------------}-----------------------------------------------

Выполните следующее:

1. Приведите пример числа N  , при вводе которого программа выведет неверный ответ. Укажите верный ответ и ответ, который выведет программа.

2. Приведите пример числа N  , при вводе которого программа выведет верный ответ. Укажите этот ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

Достаточно указать ошибки и способ их исправления для одного языка программирования.

Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы снижаются.

1. Приведем примеры N  и ответы, которые выводит и должна выводить программа:

N =  2

Ответ программы: 3

Верный ответ: 2

 

N =  4

Ответ программы: 4

Верный ответ: 3

 

N =  5

Ответ программы: 4

Верный ответ: 3

 

2. Приведем примеры N  и верные ответы, которые выводит программа:

N =  1

Ответ: 2

 

N =  3

Ответ: 3

 

N =  6

Ответ: 4

 

3. Приведем решение задания на языке С++:

Ошибочная строка: while(n >  0)  » class=»math» width=»auto»> { </p>
<p class= Исправленная строка: while(n >=  0)  » class=»math» width=»auto»> { </p>
<p class=  

Ошибочная строка: cout <<  k <<  endl;

Исправленная строка: cout < < k − 1 < < endl;

 

Ответ: См. решение
Оцените статью
Я решу все!