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

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

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

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

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

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

Определите, при каком наибольшем введённом значении переменной s программа выведет число 4. Для Вашего удобства программа представлена на четырёх языках программирования.

 

Паскаль

Python

var s, n: integer;

begin

  readln(s);

  s := (s – 21) div 10;

  n := 1;

  while s >= 0 do

  begin

    n := n * 2;

    s := s - n;

  end;

  writeln(n)

end.

s = int(input())

s = (s – 21) // 10

n = 1

while s >= 0:

  n = n * 2

  s = s - n

print(n)

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

С++

алг

нач

  цел n, s

  ввод s

  s := div((s – 21), 10)

  n := 1

  нц пока s >= 0

    n := n * 2

    s := s - n

  кц

  вывод n

кон

#include <iostream>

using namespace std;

int main()

{

  int s, n;

  cin >> s;

  s = (s – 21) / 10;

  n = 1;

  while (s >= 0)

    {n = n * 2; s = s - n;}

  cout << n << endl;

  return 0;

}

 



i
СВОЙСТВА ЗАДАНИЯ
КЭС:
3.2 Оценка сложности вычислений. Время работы и объём используемой памяти, их зависимость от размера исходных данных. Оценка асимптотической сложности алгоритмов. Алгоритмы полиномиальной сложности. Переборные алгоритмы. Примеры различных алгоритмов решения одной задачи, которые имеют различную сложность
3.6 Язык программирования (Паскаль, Python, Java, C++, C#). Типы данных: целочисленные, вещественные, символьные, логические. Ветвления. Сложные условия. Циклы с условием. Циклы по переменной. Обработка данных, хранящихся в файлах. Текстовые и двоичные файлы. Файловые переменные (файловые указатели). Чтение из файла. Запись в файл. Разбиение задачи на подзадачи. Подпрограммы (процедуры и функции). Использование стандартной библиотеки языка программирования
Тип ответа:Краткий ответ
Номер: 5A5200
НЕ РЕШЕНО Ответить

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

Ответ: 80

Обозначим введённое целое число через X, а значение s перед циклом через q. По первой команде q = ((X − 21) div 10).
При каждом проходе n изменяется по указанному правилу. Последовательность значений: 1 → 2 → 4. Значение 4 впервые получается после 2 проходов, поэтому нужно ровно столько итераций.
Перед последним нужным проходом условие ещё истинно: q − 2 ≥ 0. После него следующий проход уже запрещён: q − 6 < 0.
Значение s меняется монотонно; предыдущие проверки следуют из последней истинной. С учётом целочисленности получаем 2 ≤ q ≤ 5.
Из определения целочисленного деления: 10 · 2 ≤ X − 21 < 10 · 6. Поэтому 41 ≤ X ≤ 80.
По условию выбираем наибольшее целое значение: X = 80.
Проверка: для X = 80 перед циклом s = 5; после 2 проходов s = -1, n = 4. Соседнее значение за выбранной границей меняет число проходов и не даёт нужного результата.
Ответ: 80.

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

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

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

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

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

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

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