wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

algo

Total questions: 121

Worksheet time: 2hrs 59mins

Name
Class
Date
1.

Что называют алгоритмом? 

a)

Последовательность действий для решения задачи.

b)

Любую программу на компьютере

c)

Таблицу данных

d)

Условное выражение

2.

Как называют повторяющиеся действия в алгоритме? 

a)

Цикл

b)

Условие

c)

Команду ввода

d)

Команду вывода

3.

В чем основное назначение арифметического алгоритма?

a)

Выполнять математические вычисления

b)

Управлять циклами

c)

Проверять условия

d)

Хранить данные

4.

Что обязательно нужно для итерационного цикла

a)

Условие остановки

b)

Таблицу данных

c)

Арифметическую операцию

d)

Арифметическую операцию

5.

Чем отличается арифметический цикл от итерационного?

a)

Итерационный выполняется по заданному числу повторений.

b)

Арифметический имеет условие выхода. 

c)

Арифметический не работает с числами. 

d)

Итерационный всегда бесконечен. 

6.

Как называется выполнение шагов алгоритма в порядке их записи? 

a)

Последовательность.

b)

Условие. 

c)

Цикл. 

d)

Цикл. 

7.

Какая часть алгоритма отвечает за проверку условий? 

a)

Условный оператор

b)

Арифметический оператор. 

c)

Итерация

d)

Последовательность

8.

Какой тип данных используют для целых чисел? 

a)

int

b)

float

c)

double

d)

char

9.

Какой оператор используется для проверки условия?

a)

if

b)

for

c)

while

d)

switch

10.

Что будет, если условие в `if` истинно?

a)

Выполнится блок `if`.

b)

Выполнится блок `else`.

c)

Условие пропустится. 

d)

Цикл начнется заново. 

11.

Какой тип данных используют для дробных чисел?

a)

float

b)

int

c)

char

d)

bool

12.

Что произойдет, если условие в `if` ложно?  

a)

Выполнится блок `else`.

b)

Программа завершится.  

c)

Условие изменится на истинное.  


d)

Программа войдет в бесконечный цикл

13.

Какой тип данных занимает больше памяти: float или double?

a)

double

b)

float

c)

Они занимают одинаковое количество памяти.  


d)

Ни один из них.  


14.

Что делает форматированный вывод?  


a)

Позволяет красиво отображать данные.

b)

Преобразует данные в целые числа.

c)

Пропускает ненужные данные.  


d)

Упрощает ввод данных.  


15.

Какой цикл выполняется, пока условие истинно? 

a)

while

b)

for

c)

if

d)

switch

16.

Какое ключевое слово используется для выхода из цикла?  


a)

break

b)

continue

c)

return

d)

stop

17.

Что делает оператор `continue`?

a)

Пропускает текущую итерацию цикла.

b)

Завершает весь цикл. 

c)

Начинает новый цикл.  


d)

Прерывает выполнение программы.

18.

Какой цикл выполняется заданное количество раз?  


a)

for

b)

while

c)

switch

d)

if

19.

Для чего нужны вложенные циклы? 

a)

Для работы с многомерными данными.

b)

Для завершения программы.

c)

Для проверки условий.

d)

Для ввода данных.

20.

Что означает тело цикла?  


a)

Набор команд, выполняемых на каждой итерации.

b)

Условие выполнения.  


c)

Переменные цикла.  


d)

Формат вывода данных.  


21.

21. Какой цикл используется для повторения действий с условием в начале?  


a)

while

b)

for

c)

do-while  


d)

switch

22.

22. Как объявить пустой одномерный массив в Python?  


a)

`array = []`

b)

array = ()`  


c)

`array = {}`  


d)

array = [1]`  


23.

Как создать одномерный массив из 3 нулей?  


a)

array = [0] * 3`

b)

array = [0, 3]`  


c)

array = [0, 0, 3]`  


d)

array = [3]`  


24.

24. Как получить ввод от пользователя и сохранить его в массив?  


a)

`array = [int(input()) for _ in range(3)]`

b)

`array = input()` 

c)

array = [input()] * 3`  


d)

`array = list(input())` 

25.

Как вывести все элементы массива на экран?  


a)

`print(*array)`

b)

print(array)`  


c)

`print(array, sep=' ')` 

d)

`print(array.join(' '))`  

26.

Как получить элемент с номером 2 из массива `array`?  


a)

array[2]`

b)

array(2)`  


c)

array[3]`

d)

array[1]`  


27.

27. Как узнать, сколько элементов в массиве? 

a)

`len(array)`

b)

array.size()

c)

`array.length()`

d)

`length(array)`  


28.

28. Что такое двумерный массив?  


a)

Таблица чисел, где есть строки и столбцы.  


b)

Набор строк текcта

c)

Одна длинная строка чисел.  


d)

Одномерный список.  


29.

Какая матрица называется квадратной?  


a)

Матрица, в которой строк и столбцов одинаковое количество.

b)

Матрица, в которой столбцов больше, чем строк.  


c)

Матрица, в которой строк больше, чем столбцов. 

d)

Матрица, состоящая только из нулей.  


30.

30. Какой из вариантов показывает правильное создание двумерного массива в Python?

a)

arr = [[1, 2], [3, 4]]  


b)

arr = [1, 2, 3, 4]  


c)

arr = {1, 2, 3, 4}  


d)

arr = (1, 2, 3, 4)  


31.

31. Как узнать количество строк в двумерном массиве matrix?  


a)

len(matrix) 

b)

matrix.length  


c)

en(matrix[0])  


d)

matrix.size

32.

Если есть квадратная матрица matrix = [[1, 2], [3, 4]], чему равен элемент matrix[0][1]?  


a)

2

b)

1

c)

3

d)

4

33.

Какая функция используется для создания пустой квадратной матрицы заданного размера в Python? 

a)

Списковое включение, например: [[0]*n for _ in range(n)]  


b)

range()  


c)

append()  


d)

print()

34.

34. Какой символ используется для обозначения строки в Python?

a)

" или '

b)

/

c)

:

d)

#

35.

Что делает функция len()? 

a)

 Считает количество символов в строке.  


b)

Удаляет пробелы в строке

c)

Преобразует строку в число

d)

Добавляет символы в строку

36.

Какой результат будет у print("Привет"[0])? 

a)

П

b)

р

c)

т

d)

ошибка

37.

Как объединить строки "Hello" и "World"?

a)

"Hello" + "World"  


b)

Hello + World  


d)

join(Hello, World)  


38.

Что делает метод str.lower()?  


a)

Преобразует строку в нижний регистр.  


b)

Удаляет символы

c)

Сравнивает строки.  


d)

Преобразует строку в верхний регистр.  


39.

Что выведет print("123" + "456")?  


a)

123456

b)

579

c)

123 456

d)

Ошибка.  


40.

Как создать список в Python?  


a)

 list = [1, 2, 3]  


b)

 list = (1, 2, 3)  


c)

list = {1, 2, 3}  


d)

 list = 1, 2, 3  


41.

Что выведет следующий код?  

my_list = [10, 20, 30]  

print(my_list[1])  


a)

20

b)

10

c)

30

d)

ошибка

42.

Как добавить элемент в конец списка?  


a)

my_list.append(5)  


b)

my_list.add(5)  


c)

my_list.insert(5)  


d)

my_list.extend(5)  


43.

Как создать словарь в Python?  


a)

dict = { "key": "value" }

b)

dict = ["key", "value"]  


c)

dict = ("key", "value")  


d)

dict = "key": "value"  


44.

Как получить значение по ключу "name" из словаря my_dict?

a)

my_dict["name"]  


b)

my_dict.get("name")  

c)

my_dict.name  


d)

Никак

45.

Как удалить ключ "age" из словаря?

a)

Оба варианта a и c 

b)

del my_dict["age"] 

c)

my_dict.remove("age")

d)

my_dict.pop("age")  


46.

Что такое стек в Python?  


a)

Структура данных, где последний добавленный элемент извлекается первым.

b)

Структура данных, где элементы извлекаются по очереди.

c)

Структура данных для хранения строк.

d)

Структура данных для чисел.  


47.

Как добавить элемент в стек? 

a)

С помощью метода append().

b)

С помощью метода insert().  


c)

С помощью метода push().  


d)

С помощью метода add().  


48.

Как извлечь элемент из стека?  


a)

С помощью метода pop()

b)

С помощью метода remove(). 

c)

С помощью метода get().  


d)

С помощью метода delete().  


49.

Как проверить, пуст ли стек? 

a)

С помощью условия `if not stack:`.

b)

С помощью метода `stack.is_empty()`. 

c)

С помощью метода `stack.clear()`.  


d)

С помощью условия `if stack == 0:`.

50.

Что произойдет, если попытаться извлечь элемент из пустого стека?

a)

Возникнет ошибка.

b)

Вернется None.  


c)

Стек очистится. 

d)

Программа завершится. 

51.

Какова сложность добавления элемента в стек? 

a)

O(1)

b)

O(n).

c)

O(log n).

d)

 O(n²). 

52.

Что такое очередь в Python?

a)

 Структура данных, где первым добавленным элементом извлекается первым.

b)

Структура данных, где элементы извлекаются по очереди.  


c)

Структура данных для хранения строк.  


d)

Структура данных для чисел.  


53.

Как добавить элемент в очередь?  


a)

С помощью метода append() для deque.

b)

С помощью метода push().  


c)

С помощью метода insert().  


d)

С помощью метода add().

54.

Как извлечь элемент из очереди?

a)

С помощью метода popleft() для deque.

b)

С помощью метода pop().  


c)

С помощью метода remove().

d)

С помощью метода delete().  


55.

Что такое очередь с приоритетом? 

a)

Очередь, где элементы извлекаются в зависимости от их приоритета.

b)

Очередь, где элементы извлекаются по очереди. 

c)

Очередь, где элементы извлекаются случайным образом.

d)

Очередь, где нельзя добавлять новые элементы. 

56.

Как реализовать очередь с приоритетом в Python?  


a)

С помощью библиотеки heapq.

b)

 С помощью deque.  


c)

С помощью списка. 

d)

С помощью словаря. 

57.

Какой метод используется для извлечения элемента с наивысшим приоритетом?

a)

heapq.heappop().

b)

deque.pop().

c)

deque.popleft().

d)

list.pop().

58.

Что такое граф в Python?  


a)

Структура данных, состоящая из узлов и рёбер.

b)

Структура данных для хранения чисел.  


c)

Массив данных.

d)

Список строк.  


59.

Как можно представить граф в Python?  


a)

С помощью списка или матрицы смежности.

b)

Только с помощью списка смежности.  


c)

олько с помощью матрицы смежности. 

d)

С помощью множества.

60.

Что такое матрица смежности?  


a)

Матрица, в которой показываются связи между узлами графа

b)

Массив чисел, представляющий значения узлов.

c)

Строки, представляющие рёбра графа.  


d)

Структура для хранения рёбер.

61.

Как в матрице смежности показано отсутствие ребра?  


a)

0

b)

1

c)

None

d)

-1

62.

Что такое рёбра в графе?  


a)

Связи между узлами.

b)

Узлы

c)

Строки

d)

Элементы данных

63.

Какой тип графа имеет рёбра без направления?  


a)

Ненаправленный граф

b)

Направленный граф.

c)

Граф с приоритетами

d)

Дерево

64.

Какой метод используется для извлечения рёбер из графа с помощью матрицы смежности?  


a)

Индексирование матрицы.

b)

Метод pop()

c)

Метод remove().

d)

Метод popleft()

65.

Что такое рекурсия?

a)

Когда функция вызывает сама себя.

b)

Когда функция выполняется несколько раз.

c)

Когда функция вызывается без параметров.  


d)

Когда функция выполняет циклы.  


66.

Когда рекурсия завершится?  


a)

 Когда выполнится условие для остановки

b)

 Когда программа завершит выполнение.  


c)

Когда число вызовов функции будет равно 100.  


d)

Когда функция вернет значение.

67.

Что такое базовый случай в рекурсии?

a)

Условие, при котором рекурсия останавливается.

b)

Функция, которая вызывает сама себя.  


c)

Данные, которые передаются в рекурсивную функцию.  


d)

Структура данных, которая хранит рекурсивные вызовы.  


68.

Что делает рекурсивная функция?  


a)

Вызывает сама себя до выполнения условия остановки.

b)

Выполняет только одну операцию. 

c)

Выполняет цикл с фиксированным количеством шагов.  


d)

Работает без условий.  


69.

Как избежать бесконечной рекурсии?  


a)

Установить условие для завершения рекурсии.

b)

Увеличить количество вызовов функции.  


c)

Удалить базовый случай. 

d)

Поменять порядок вызовов.  


70.

Что такое хвостовая рекурсия?  


a)

Когда последний шаг функции — это рекурсивный вызов.

b)

Когда функция вызывает сама себя до базового случая.  


c)

Когда рекурсивные вызовы выполняются в цикле.

d)

Когда функция не возвращает значение. 


71.

Что такое линейный поиск?


a)

Последовательный перебор элементов массива до нахождения нужного элемента.

b)

Алгоритм сортировки массива.

c)

Метод бинарного поиска.


d)

Поиск элементов в дереве.


72.

Какова временная сложность линейного поиска в худшем случае?


a)

O(n).

b)

O(log n)

c)

 O(n^2).

d)

O(1).

73.

Что происходит, если элемент в массиве не найден при линейном поиске?

a)

Возвращается специальное значение (например, -1).

b)

Программа завершается с ошибкой

c)

Продолжается поиск в цикле.

d)

Массив пересоздается.

74.

Какой тип данных поддерживается в линейном поиске?

a)

Любой тип данных.

b)

Только числа

c)

Только строки

d)

Только целые числа

75.

Когда линейный поиск более эффективен, чем бинарный?


a)

Когда массив не отсортирован

b)

Когда массив отсортирован.

c)

Когда массив пустой.

d)

Когда элемент уже удален.

76.

Какова лучшая сложность линейного поиска?


a)

O(1).

b)

O(log n).


c)

O(n).

d)

O(n^2).

77.

Что нужно для выполнения линейного поиска?

a)

Никаких дополнительных условий

b)

Массив должен быть отсортирован

c)

Индексы должны быть уникальны

d)

Должен быть другой массив для сравнения.

78.

 Какой цикл обычно используется для линейного поиска?


a)

For или While.

b)

Только While.

c)

Только Do-While

d)

Только рекурсия.


79.

Как найти индекс элемента в массиве с помощью линейного поиска?


a)

Проверить каждый элемент и вернуть индекс при совпадении

b)

Умножить индекс на значение

c)

Упорядочить массив и найти бинарно.


d)

Пропустить элементы до середины.


80.

Какую структуру данных линейный поиск не поддерживает?


a)

Все структуры данных поддерживаются.

b)

 Только списки.


c)

Только хеш-таблицы.

d)

Только очереди.

81.

Что такое сортировка по выбору?

a)

Алгоритм, который находит минимальный элемент и перемещает его в начало.

b)

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

c)

Алгоритм, который строит дерево для сортировки элементов.

d)

Алгоритм, который упорядочивает элементы по мере их ввода.


82.

Какой принцип лежит в основе сортировки по выбору?

a)

Поиск минимального или максимального элемента в неотсортированной части массива.

b)

Разбиение массива на части.

c)

Построение временного списка

d)

Обмен соседними элементами

83.

Каков основной недостаток сортировки по выбору?

a)

Низкая скорость на больших объемах данных

b)

Требует дополнительной памяти

c)

Работает только с числами

d)

Не гарантирует стабильность

84.

Каков алгоритм работы сортировки по выбору?


a)

Найти минимальный элемент и поменять его с текущим элементом.

b)

Разделить массив на части и сортировать каждую часть.


c)

Построить дерево поиска и извлекать элементы.


d)

Использовать метод двоичного поиска.


85.

Какие структуры данных поддерживает сортировка по выбору?

a)

Массивы и списки

b)

Только массивы.

c)

Только хеш-таблицы

d)

Только очереди

86.

Какая часть массива сортируется на каждом шаге?


a)

Не Отсортированная часть

b)

Вся структура данных

c)

Последние элементы

d)

Первые элементы

87.

Каков результат работы сортировки по выбору?


a)

Отсортированный массив

b)

Новый массив

c)

Упорядоченный список индексов

d)

Массив в обратном порядке

88.

Какие данные лучше всего подходят для сортировки по выбору?


a)

Небольшие массивы

b)

Большие отсортированные массивы

c)

Сложные структуры данных

d)

Массивы строк

89.

Как сортировка по выбору обрабатывает дубликаты?


a)

Дубликаты сохраняются.

b)

Дубликаты удаляются

c)

Дубликаты игнорируются

d)

Дубликаты сортируются отдельно

90.

В чем заключается последний шаг алгоритма сортировки по выбору?

a)

Сортируется последний элемент массива

b)

Добавляется новый элемент в конец массива

c)

Перестраивается весь массив

d)

Упорядочиваются только числа

91.

Какой из следующих алгоритмов является пузырьковой сортировкой?

a)

Метод, который проходит по массиву, сравнивая и меняя местами соседние элементы, если они стоят в неправильном порядке.


b)

Способ, который делит массив на две части и сортирует их отдельно.


c)

Алгоритм, который использует структуру данных “куча” для упорядочивания элементов.


d)

Процесс, который выбирает минимальный элемент и помещает его на первую позицию.


92.

Какое из следующих утверждений верно для пузырьковой сортировки?

a)

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

b)

Этот алгоритм всегда работает за время

c)

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


d)

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


93.

Какой шаг является частью пузырьковой сортировки?

a)

Сравнение и обмен соседних элементов до полной сортировки массива

b)

Разделение массива на части и их рекурсивная обработка

c)

Построение пирамиды и последующее упорядочивание

d)

Слияние двух отсортированных половин массива.


94.

Какова наилучшая оценка временной сложности пузырьковой сортировки?

a)

Если массив уже отсортирован.


b)

 В любом случае.


c)

 В лучшем случае.


d)

Для небольших массивов.


95.

Какой из следующих массивов будет отсортирован после одного полного прохода пузырьковой сортировки?


a)

[1, 4, 3, 2] -> [1, 3, 4, 2]

b)

[2, 1, 4, 3] -> [1, 2, 3, 4]

c)

[4, 3, 2, 1] -> [3, 4, 2, 1]


d)

[1, 2, 3, 4] -> [1, 2, 3, 4]


96.

Какой из следующих является признаком того, что массив отсортирован при использовании пузырьковой сортировки?


a)

За весь проход по массиву не произошло ни одного обмена элементов.

b)

Все элементы сместились на одну позицию.


c)

Наибольший элемент оказался на своем месте после каждого прохода.

d)

Наименьший элемент оказался на своем месте после каждого прохода.

97.

Какое из следующих является оптимизацией пузырьковой сортировки?


a)

Прекращение алгоритма, если не было обменов в последнем проходе.


b)

Уменьшение размера массива на одну позицию каждый проход

c)

Использование вспомогательного массива для сортировки

d)

Одновременная сортировка в прямом и обратном направлениях

98.

Как пузырьковая сортировка справляется с одинаковыми элементами?


a)

Алгоритм сохраняет порядок одинаковых элементов (стабильная сортировка).


b)

Пузырьковая сортировка меняет порядок одинаковых элементов.

c)

Дублирующиеся элементы удаляются из массива

d)

Одинаковые элементы объединяются в один.


99.

Сколько обменов произойдет в массиве [5, 1, 4, 2, 8] за первый проход пузырьковой сортировки?


a)

Три

b)

Один

c)

Четыре

d)

Два

100.

Какое из следующих утверждений неверно для пузырьковой сортировки?

a)

Пузырьковая сортировка требует дополнительной памяти.


b)

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


c)

Пузырьковая сортировка неэффективна для больших массивов.

d)

Пузырьковая сортировка является стабильной сортировкой

101.

Какой алгоритм сортировки строит отсортированный массив, вставляя элементы один за другим на свои места?


a)

Сортировка вставкой


b)

Сортировка выбором


c)

Пирамидальная сортировка


d)

Быстрая сортировка


102.

Какова временная сложность в худшем случае для сортировки вставкой?

a)

O(n²)

b)

O(n)


c)

 O(log n)


d)

O(n log n)


103.

В каком случае сортировка вставкой будет наиболее эффективна?


a)

Когда массив почти отсортирован


b)

Когда массив отсортирован в обратном порядке

c)

Когда все элементы массива одинаковы

d)

Когда массив содержит случайные элементы

104.

Какой из следующих массивов будет отсортирован за минимальное количество сравнений сортировкой вставкой?


a)

[1, 2, 3, 4, 5]


b)

[5, 4, 3, 2, 1]


c)

[3, 1, 4, 5, 2]


d)

[2, 3, 1, 4, 5]


105.

Что происходит с элементом, который должен быть вставлен в уже отсортированную часть массива?


a)

Он перемещается в правильную позицию путем последовательных сравнений и перемещений


b)

Он удаляется из массива


c)

Он остается на своем месте


d)

Он добавляется в конец массива

106.

Какая из следующих последовательностей действий соответствует сортировке вставкой?


a)

Сравнение, перемещение, вставка


b)

Выбор минимального элемента, перемещение, вставка

c)

Разделение массива на части, сортировка частей, слияние


d)

Сравнение элементов на равенство, перестановка элементов, слияние


107.

Какое преимущество имеет сортировка вставкой по сравнению с другими сортировками при небольшом количестве элементов?

a)

Простота реализации


b)

 Высокая скорость выполнения


c)

Низкая временная сложность


d)

Возможность сортировать элементы на месте

108.

Сколько сравнений выполняется при сортировке вставкой в худшем случае для массива длиной n?


a)

n(n - 1) / 2


b)

n

c)

log n


d)

n log n


109.

Какая из следующих реализаций сортировки вставкой наиболее эффективна?


a)

Сортировка вставкой с бинарным поиском


b)

Обычная сортировка вставкой


c)

Сортировка вставкой с обменом


d)

Параллельная сортировка вставкой


110.

Какой из следующих массивов требует наименьшего количества операций при сортировке вставкой?


a)

[1, 2, 3, 4, 5]


b)

[2, 3, 4, 5, 1]


c)

[5, 4, 3, 2, 1]


d)

[4, 3, 5, 1, 2]


111.

Что такое итерационный алгоритм?


a)

Алгоритм, который повторяет шаги несколько раз

b)

Алгоритм, который выполняет операцию один раз.  


c)

Алгоритм, который решает задачу за один шаг.  


d)

Алгоритм, который делает вычисления без повторений.

112.

Что делает арифметический цикл?

a)

Повторяет математические операции несколько раз.

b)

Находит максимальное значение в списке.  


c)

Выполняет один шаг и завершает выполнение.  


d)

Повторяет операцию до выполнения условия.


113.

Какой алгоритм использует повторяющиеся вычисления?


a)

Итерационный

b)

Линейный

c)

Арифметический

d)

Поиск

114.

Как создать строку в Python?


a)

my_string = "Hello"

b)

 my_string = [Hello]

c)

my_string = {Hello}

d)

my_string = 123  


115.

Как получить первый символ строки в Python?


a)

my_string[0]


b)

my_string[1]  


c)

my_string[-1]  


d)

my_string[None]  


116.

Что делает операция `+` для строк в Python?


a)

Склеивает две строки.


b)

Разделяет строку на части.  


c)

Преобразует строку в список.  


d)

Преобразует строку в число.  


117.

 Как узнать длину строки в Python?

a)

len(my_string)


b)

my_string.length()  


c)

my_string.size()  


d)

 my_string.len()  


118.

 Как преобразовать строку в нижний регистр в Python?


a)

my_string.lower()


b)

my_string.to_lower()  


c)

my_string.down()  


d)

my_string.upper()  


119.

Какой оператор используется для создания цикла с условием в Python? 


a)

while

b)

do-while

c)

for

d)

repeat

120.

Какой оператор используется для выхода из цикла досрочно в Python?


a)

break

b)

continue

c)

exit

d)

return

121.

Какой из следующих примеров является вложенным циклом?  


a)

for i in range(5):  

   for j in range(5):


b)

for i in range(5):  

   break  


c)

while True:  

   continue 


d)

 while i < 5:  

   if i == 3: break