Личный кабинет

Информатика (11 класс). Урок 8

#5706
Этот вариант составлен пользователем

Тестовое задание

После выполнения задания вы получите ссылку, которую сможете отправить преподавателю.

Задание#T9805

На обработку поступает натуральное число, не превышающее
Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO».
Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
DIM N, DIGIT, MINDIGIT AS LONG
INPUT N
MINDIGIT = N MOD 10
WHILE N > 0
  DIGIT = N MOD 10
  IF DIGIT MOD 2 = 0 THEN
    IF DIGIT < MINDIGIT THEN
      MINDIGIT = DIGIT
    END IF
  END IF
  N = N \ 10
WEND
IF MINDIGIT = 0 THEN
  PRINT "NO"
ELSE
 PRINT MINDIGIT
END IF 
Последовательно выполните следующее.
  1. Напишите, что выведет эта программа при вводе числа
  2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ.
  3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
  1. выпишите строку, в которой сделана ошибка;
  2. укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Известно, что в тексте программы можно исправить ровно две строки так, чтобы она стала работать правильно.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
Решите это задание в тетради. После завершения теста вы увидите разбор для самопроверки.
Это задание взято из демовариантов ФИПИ 2018-2020

Задание#T4862

Факториалом натурального числа (обозначается ) называется произведение всех натуральных чисел от до . Например, .
Дано целое положительное число . Необходимо найти ближайшее к число, которое является точным факториалом какого-либо натурального числа. Если два точных факториала одинаково близки к , нужно выбрать меньший из них.
Например, для нужно получить ответ , а для – ответ .
Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.
Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
DIM A, K, F AS INTEGER
INPUT A
K = 0
F = 1
WHILE F <= A
  K = K + 1
  F = F * K
WEND
IF F - A > A - FK THEN
  F = FK
  K = K - 1
END IF
PRINT K
END
Последовательно выполните следующее.
  1. Напишите, что выведет эта программа при вводе .
  2. Приведите пример числа , при котором программа выведет верный ответ. Укажите этот ответ.
  3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Это задание составили эксперты «СтатГрада» для Яндекса

Задание#T1930

На обработку поступает натуральное число, не превышающее . Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
DIM N, DIGIT, MINDIGIT AS LONG 
INPUT N 
MINDIGIT = N MOD 10 
WHILE N > 0 
  DIGIT = N MOD 10 
  IF DIGIT MOD 2 = 0 THEN 
    IF DIGIT < MINDIGIT THEN 
      MINDIGIT = DIGIT 
    END IF 
  END IF 
  N = N  10 
WEND 
IF MINDIGIT = 0 THEN 
  PRINT «NO» 
ELSE 
  PRINT MINDIGIT 
END IF
Последовательно выполните следующее.
  1. Напишите, что выведет эта программа при вводе числа .
  2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ.
  3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Для каждой ошибки:
  1. выпишите строку, в которой сделана ошибка;
  2. укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Известно, что в тексте программы можно исправить ровно две строки так, чтобы она стала работать правильно.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
Это задание взято из демовариантов ФИПИ 2018-2020

Задание#T8656

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





Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
CONST N AS INTEGER = 30
DIM A (1 TO N) AS LONG
DIM I AS LONG,
 J AS LONG,
 K AS LONG

FOR I = 1 TO N
 INPUT A(I)
NEXT I
...

END
Решите это задание в тетради. После завершения теста вы увидите разбор для самопроверки.

Задание#T9807

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в три раза. Например, пусть в одной куче камней, а в другой камней; такую позицию в игре будем обозначать Тогда за один ход можно получить любую из четырёх позиций:
Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет или больше камней.
В начальный момент в первой куче было камней, во второй куче – камней;
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.
Выполните следующие задания.

Задание 1

  1. Укажите все такие значения числа при которых Петя может выиграть за один ход.
  2. Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение когда такая ситуация возможна.

Задание 2

Укажите такое значение при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
  • Петя не может выиграть за один ход;
  • Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Для указанного значения опишите выигрышную стратегию Пети.

Задание 3

Укажите значение при котором одновременно выполняются два условия:
  • у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
  • у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Для указанного значения опишите выигрышную стратегию Вани.
Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы).
В узлах дерева указывайте позиции, на рёбрах рекомендуется указывать ходы. Дерево не должно содержать партии, невозможные при реализации выигрывающим игроком своей выигрышной стратегии. Например, полное дерево игры не является верным ответом на это задание.
Решите это задание в тетради. После завершения теста вы увидите разбор для самопроверки.
Это задание взято из демовариантов ФИПИ 2018-2020