⚙️ Алгоритмы  ·  20 вопросов  ·  ~35 мин  ·  ⏱ Таймер 35:00  ·  Лёгкий  · 

Как читать и исполнять алгоритм

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выбери один ответ из четырёх. В тесте 20 вопросов и 35 минут. После завершения откроются общий процент, четыре тематические шкалы, правильные ответы и пояснения.
Вопрос 1 из 20
Какое значение будет выведено после выполнения всех присваиваний?
x=3,\quad y=2x+1
Python
x = 3
y = 2 * x + 1
x = y - x
z = x + y
print(z)
Вопрос 2 из 20
Какую сумму напечатает программа?
Python
data = [4, 1, 3]
data[0], data[2] = data[2], data[0]
data[1] = data[0] + data[2]
last = data.pop()
data.append(last - data[0])
print(sum(data))
Вопрос 3 из 20
Алгоритм должен сначала удалить повторяющиеся записи, затем отсортировать оставшиеся по времени и только после этого взять первые десять. Какое изменение наверняка может исказить результат?
R=\operatorname{take}_{10}(\operatorname{sort}(\operatorname{unique}(D)))
Вопрос 4 из 20
Какую строку нужно вставить, чтобы список стал равен [2, 1, 6, 4]?
Вопрос 5 из 20
В обработке данных есть зависимости: токен нужен для загрузки, формат проверяют после загрузки, а сохранять можно только проверенные данные. Какой порядок корректен?
Вопрос 6 из 20
Какие два списка будут выведены после изменения общей ссылки и независимой копии?
Python
a = [2, 4]
b = a
c = a[:]
b.append(6)
c[0] = 9
print(a, c)
Вопрос 7 из 20
Какое число будет выведено?
(x,y)\leftarrow(y-x,\,x+y)
Python
x, y = 2, 5
x, y = y - x, x + y
x += y // 2
y -= x % 4
print(x + y)
Вопрос 8 из 20
Во время прохода по массиву переменная best хранит наибольший элемент уже просмотренной части. Какое утверждение точнее всего описывает её роль?
best=\max(a_0,\ldots,a_i)
Вопрос 9 из 20
Какие три значения будут напечатаны?
Python
def step(v, box):
    v += 3
    box[0] += v
    return v * 2

n = 4
a = [1]
r = step(n, a)
print(n, a[0], r)
Вопрос 10 из 20
Алгоритм должен сохранить исходный массив для последующего сравнения, но разработчик написал backup = data, а затем сортирует data на месте. Что произойдёт?
Вопрос 11 из 20
Какое итоговое значение x получится после двух последовательных ветвлений?
Python
x = 14
if x % 3 == 2:
    x -= 5
else:
    x += 4

if x % 2 == 0:
    x //= 2
else:
    x = x // 3 + 4
print(x)
Вопрос 12 из 20
Какой вход заставит выполнить первую ветвь, затем уменьшение y на 2 и в итоге напечатать 5?
Python
x = int(input())
if x < 0:
    y = -x
elif x % 4 == 0:
    y = x // 2
else:
    y = x + 3

if y > 6:
    y -= 2
print(y)
Вопрос 13 из 20
Нужно проверить все ветви функции с условиями: x < 0; иначе x == 0; иначе x % 2 == 0; иначе. Какой набор входов обеспечивает покрытие каждой ветви хотя бы один раз?
Вопрос 14 из 20
Как заменить условный фрагмент, чтобы best всегда становился максимумом a, b и c?
Вопрос 15 из 20
Скидка действует, если покупатель либо имеет статус участника и сумма не меньше 3000, либо использует одноразовый купон. Какое условие точно передаёт правило?
Вопрос 16 из 20
Какая пара значений будет напечатана?
Python
s = 0
for i in range(1, 8):
    if i % 3 == 0:
        continue
    s += i
    if s > 14:
        break
print(i, s)
Вопрос 17 из 20
Сколько раз выполнится команда count += 1?
0\le i\le j<4
Python
count = 0
for i in range(4):
    for j in range(i, 4):
        if (i + j) % 2 == 0:
            count += 1
print(count)
Вопрос 18 из 20
Какой инвариант подходит для цикла, который после обработки элементов a[0]…a[i] хранит их сумму в s?
Вопрос 19 из 20
Какие значения n и steps останутся после завершения цикла?
Python
n = 29
steps = 0
while n > 3:
    if n % 2:
        n -= 5
    else:
        n //= 2
    steps += 1
print(n, steps)
Вопрос 20 из 20
Цикл должен просмотреть индексы от 1 до n включительно. Какая запись на Python делает это без выхода за требуемые границы?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу