Алгоритмы и программы (Функция, Рекурсия, работа со строками, работа с файлами, сортировка, граф)

4 задания, из них 2 с разбором · раздел «Компьютерное мышление»

  • Один ответ · среднее

    Массив A = [5, 2, 8, 1, 9, 3] сортируют по возрастанию методом пузырька. В каждом проходе соседние элементы сравниваются слева направо, и если левый больше правого, их меняют местами. Каким станет массив после двух полных проходов?

    1. A2, 5, 1, 8, 3, 9
    2. B2, 5, 1, 3, 8, 9
    3. C2, 1, 5, 3, 8, 9
    4. D1, 2, 8, 5, 9, 3
    Показать ответ и разбор

    Верный ответ

    • C2, 1, 5, 3, 8, 9

    Разбор

    Первый проход: (5,2) меняем: 2, 5, 8, 1, 9, 3; (5,8) не меняем; (8,1) меняем: 2, 5, 1, 8, 9, 3; (8,9) не меняем; (9,3) меняем: 2, 5, 1, 8, 3, 9. Второй проход: (2,5) не меняем; (5,1) меняем: 2, 1, 5, 8, 3, 9; (5,8) не меняем; (8,3) меняем: 2, 1, 5, 3, 8, 9; (8,9) не меняем. Получаем «2, 1, 5, 3, 8, 9». Вариант «2, 5, 1, 8, 3, 9» — это результат только одного прохода. Вариант «1, 2, 8, 5, 9, 3» получается при сортировке выбором, а не пузырьком.

    Открыть задание 815

  • Один ответ · среднее

    Дана рекурсивная функция на Python:

    def f(n):
    if n < 3:
    return n
    return f(n - 1) + 2 * f(n - 3)

    Какое значение выведет программа после выполнения print(f(6))?

    1. A18
    2. B16
    3. C8
    4. D12
    Показать ответ и разбор

    Верный ответ

    • D12

    Разбор

    Базовый случай: при n < 3 функция возвращает n, поэтому f(0) = 0, f(1) = 1, f(2) = 2. Далее по формуле f(n) = f(n-1) + 2·f(n-3): f(3) = f(2) + 2·f(0) = 2 + 0 = 2; f(4) = f(3) + 2·f(1) = 2 + 2 = 4; f(5) = f(4) + 2·f(2) = 4 + 4 = 8; f(6) = f(5) + 2·f(3) = 8 + 4 = 12. Значение «8» — это f(5), «16» получается при ошибочном вызове f(n-2) вместо f(n-3), «18» получается, если принять f(0) = 1. Верно «12».

    Открыть задание 814

  • Соответствие · лёгкое

    Соответствие между термином и определением:

    1. 1. Рекурсия

      1. Aпрограмма, которую можно использовать без ограничений в любом месте
      2. Bвычислительный процесс, направленный на решение задачи с определением части функции (процедуры) через саму себя
      3. Cнезависимая часть программы, которая вызывается с помощью заранее определенного имени
      4. Dпроцедуры и функции, преданзначенные для специальных операций
    2. 2. Функция

      1. Aпрограмма, которую можно использовать без ограничений в любом месте
      2. Bвычислительный процесс, направленный на решение задачи с определением части функции (процедуры) через саму себя
      3. Cнезависимая часть программы, которая вызывается с помощью заранее определенного имени
      4. Dпроцедуры и функции, преданзначенные для специальных операций
    Показать ответ и разбор

    Верный ответ

    • 1Bвычислительный процесс, направленный на решение задачи с определением части функции (процедуры) через саму себя
    • 2Cнезависимая часть программы, которая вызывается с помощью заранее определенного имени

    Разбора у этого задания пока нет.

    Открыть задание 585

  • Соответствие · лёгкое

    Установите соответствия

    1. 1. Режим записи

      1. Arw
      2. Br
      3. Co
      4. Dn
    2. 2. Режим чтения

      1. Arw
      2. Br
      3. Co
      4. Dn
    Показать ответ и разбор

    Верный ответ

    • 1Co
    • 2Br

    Разбора у этого задания пока нет.

    Открыть задание 584