Тренировка задания 24 ЕГЭ (24.3), вторая часть ЕГЭ про поиск числа

Сборник «Типовые экзаменационные варианты» 2019, Крылов С.С., Чуркина Т.Е., ВАРИАНТ 10

Дано натуральное число N, не превосходящее 1000. Необходимо определить, существует ли такое натуральное число М, что N можно представить в виде произведения (М-1)(М+1). Если это возможно, то следует напечатать число М, в противном случае вывести сообщение, что такого числа не существует.
Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.

1
2
3
4
5
6
7
8
9
10
11
var n, m: integer; 
begin 
   read(n); 
   m:=2;
   while ((m-1)*(m+1) <> n) and (m=n) do 
      m:=m+1;
   if m > n then
    writeln(m)
   else
    writeln('Не существует') 
end.

Последовательно выполните следующее:

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


✍ Решение:
 

  1. При вводе числа 2 программа выведет число 3.
  2. Например, число 1.
  3. Программа будет выдавать верный ответ «Не существует» для всех чисел, которые нельзя представить в виде М2 — 1, где М — натуральное число.
  4. Программа содержит две ошибки:
  5. 1) неверное условие цикла;
    2) неверное условие при печати результата.
    Пример исправления для языка Паскаль:
    Первая ошибка:

    while (m-l)*(m+l) <> n n and m = n;

    Исправленная строка:

    while (m-l)*(m+l) <> n and m < n;

    Вторая ошибка:

    if m > n then

    Исправленная строка:

    if m < n then

    Возможны и другие варианты исправления второй ошибки, например,

    if (m - 1)*(m + 1)= n then
Поделитесь уроком с коллегами и друзьями:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*


Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить