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

Марафонец написал программу, определяющую, какой степенью числа 5 является введенное. Например, для 25 это 2, так как 52 = 25  . Если же такой степени нет, то необходимо вывести сообщение “Не существует”. К сожалению, марафонец написал программу неверно.

|---------------------------|--------------------------------|------------------------------| |Python---------------------|C-+-+---------------------------|P-ascal-----------------------| |n = int(input ())           |#include  < iostream >          |varn, k : integer;            | |k = 0                      |usingnamespacestd;              |begin                         | |whilek%5  ==  0 :          |intmain (){                     |  read (n );                   | |  n = n∕ ∕5                |  intn,k;                       |  k := 0;                     | |                           |                                |                              | |  k = k + 1                |  cin >>  n;                    |  whilekmod5   = 0dobegin     | |if k <=  5 :                |  k = 0;                        |    n := ndiv5;               | |  print(k)                 |  while(k%5  ==  0){            |    k := k + 1;               | |else :                      |    n =  n∕5;                   |  end;                        | |  print(”Н е су ществ ует“)|    k = k + 1;                  |  ifk <=  5then               | |                           |                                |                              | |                           |  }                             |    writeln (k)               | |                           |  if(k <=  5)                   |  else                        | |                           |    cout < < k < < endl;        |    writeln (′Н е сущ ествует′)| |                           |  else                          |end.                          | |                           |                                |                              | |                           |    cout < < ”Н е сущ ествует“; |                              | |                           |  return0;                      |                              | -----------------------------}---------------------------------------------------------------

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

1. Что выдаст программа при вводе числа 125?

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

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

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

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

1. Так как после первой итерации цикла k  станет не кратно 5, программа выведет 1.

2. Так как при любом n  , кратном 5, программа выводит 1, правильный ответ будет при n =  5  .

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

Ошибочная строка: while(k%5  ==  0){

Исправленная строка: while(n%5  ==  0){

 

Ошибочная строка: if(k <=  5)

Исправленная строка: if (n ==  1)

 

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