Задание EGEINFB8D722: Выполнение и анализ программы

ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий

Открыть решение ↓ Ошибка или пожелание

Тип задачи: Выполнение и анализ программы.

Учебные темы: Определение возможных результатов работы простейших алгоритмов управления исполнителями и вычислительных алгоритмов. Определение исходных данных, при которых алгоритм может дать требуемый результат.

Впишите правильный ответ.

Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 10, а потом 21.

С++

Python

#include <iostream>
using namespace std;

int main()
{

  int x, K1, K2, Q, P, L, M;
  cin >> x;
  Q = 6;
  P = 10;

  K1 = 0;

  K2 = 0;
  while (x <= 100){
    K1 = K1 + 1;
    x = x + P;
  }

  while (x >= Q){
    K2 = K2 + 1;
    x = x - Q;
  }

  L = x + K1;

  M = x + K2;
  cout << L << endl << M << endl;
  return 0;
}

x = int(input())
Q = 6

P = 10
K1 = 0

K2 = 0
while x <= 100:
  K1 = K1 + 1
  x = x + P

while x >= Q:
  K2 = K2 + 1
  x = x –  Q
L = x + K1

M = x + K2
print(L)
print(M)

Алгоритмический язык

Паскаль

алг
нач
  цел x, K1, K2, Q, P, L, M
  ввод x
  Q := 6

  P := 10
 
K1 := 0

  K2 := 0
  нц пока
x <= 100
   
K1 := K1 + 1
   
x := x + P
  кц
  нц пока
x >= Q
    K2 := K2 + 1
   
x := x - Q
  кц

  L := x + K1

  M := x + K2
  вывод
L, нс, M
кон

var x, K1, K2, Q, P, L, M: integer;
begin
  readln(x);
  Q := 6;
  P := 10;

  K1 := 0;

  K2 := 0;
  while x <= 100 do
  begin
    K1 := K1 + 1;
    x := x + P;
  end;
  while x >= Q do
  begin
    K2 := K2 + 1;
    x := x - Q;
  end;

  L := x + K1;

  M := x + K2;
  writeln(L);
  writeln(M);
end.

 



i
СВОЙСТВА ЗАДАНИЯ
КЭС:
3.1 Формализация понятия алгоритма. Машина Тьюринга как универсальная модель вычислений
Тип ответа:Краткий ответ
Номер: B8D722
НЕ РЕШЕНО Ответить

Решение задания EGEINFB8D722

Ответ: 51

Обозначим исходное число X, результат первого цикла Y, остаток после второго цикла r. Первый цикл прибавляет P = 10 до первого Y > 100. Второй вычитает Q = 6 до 0 ≤ r < 6.
После двух циклов L = r + K1 = 10, M = r + K2 = 21. Поэтому K1 = 10 − r, K2 = 21 − r, Y = 6 · (21 − r) + r, X = Y − 10 · (10 − r).
Счётчики должны быть неотрицательными. При K1 > 0 требуется 100 < Y ≤ 100 + 10: до последнего прибавления условие ещё истинно, после него уже ложно. При K1 = 0 требуется X = Y > 100. Проверим все целые остатки от 0 до 5.
r = 0: K1 = 10, K2 = 21, Y = 126, X = 26; условия остановки или неотрицательность счётчиков нарушены.
r = 1: K1 = 9, K2 = 20, Y = 121, X = 31; условия остановки или неотрицательность счётчиков нарушены.
r = 2: K1 = 8, K2 = 19, Y = 116, X = 36; условия остановки или неотрицательность счётчиков нарушены.
r = 3: K1 = 7, K2 = 18, Y = 111, X = 41; условия остановки или неотрицательность счётчиков нарушены.
r = 4: K1 = 6, K2 = 17, Y = 106, X = 46; подходит.
r = 5: K1 = 5, K2 = 16, Y = 101, X = 51; подходит.
Все остатки разобраны. Наибольшее подходящее X равно 51.
Проверка выбранного X: после первого цикла K1 = 5, после второго K2 = 16, r = 5. Получаем L = 10, M = 21.
Ответ: 51.

Помочь улучшить сайт

Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINFB8D722.

Сообщение увидит только команда сайта: на странице оно не публикуется.

Комментарии к решению

Комментарии видны всем посетителям сайта.

Комментариев пока нет. Будьте первым.

Чтобы оставить комментарий, войдите или зарегистрируйтесь.