Программирование алгоритмов на языке программирования Python

7 заданий с разбором · раздел «Компьютерное мышление»

  • По тексту · лёгкое

    Ерлан написал на Python программу для обработки оценок по информатике. Сначала программа считывает число n — количество оценок, затем n оценок по одной. Для каждой оценки она прибавляет её к сумме, а если оценка равна 5, увеличивает счётчик пятёрок. В конце программа выводит целую часть среднего значения (операция // даёт целую часть от деления) и число пятёрок. Вот текст программы:

    n = int(input())
    s = 0
    k = 0
    for i in range(n):
    x = int(input())
    s = s + x
    if x == 5:
    k = k + 1
    print(s // n)
    print(k)

    При проверке Ерлан ввёл число 4, а затем оценки 5, 4, 5 и 3. Потом он решил доработать программу, чтобы счётчик k учитывал не только пятёрки, но и четвёрки.

    Что произойдёт при запуске программы, если из неё удалить строку «s = 0»?

    1. AПрограмма выведет 0 как целую часть среднего
    2. BЦикл не выполнится ни разу
    3. CВозникнет ошибка: переменная s не задана
    4. DПрограмма выполнится, а начальным значением s будет считаться 1
    Показать ответ и разбор

    Верный ответ

    • CВозникнет ошибка: переменная s не задана

    Разбор

    В цикле выполняется «s = s + x», то есть значение s читается до первого присваивания. Без строки «s = 0» переменная не создана, и Python выдаст ошибку. Начальные значения Python сам не назначает, а цикл зависит от n, а не от s.

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

  • По тексту · лёгкое

    Ерлан написал на Python программу для обработки оценок по информатике. Сначала программа считывает число n — количество оценок, затем n оценок по одной. Для каждой оценки она прибавляет её к сумме, а если оценка равна 5, увеличивает счётчик пятёрок. В конце программа выводит целую часть среднего значения (операция // даёт целую часть от деления) и число пятёрок. Вот текст программы:

    n = int(input())
    s = 0
    k = 0
    for i in range(n):
    x = int(input())
    s = s + x
    if x == 5:
    k = k + 1
    print(s // n)
    print(k)

    При проверке Ерлан ввёл число 4, а затем оценки 5, 4, 5 и 3. Потом он решил доработать программу, чтобы счётчик k учитывал не только пятёрки, но и четвёрки.

    Какой строкой нужно заменить «if x == 5:», чтобы переменная k считала и четвёрки, и пятёрки (оценки бывают от 2 до 5)?

    1. Aif x >= 4:
    2. Bif x <= 4:
    3. Cif x > 4:
    4. Dif x == 4:
    Показать ответ и разбор

    Верный ответ

    • Aif x >= 4:

    Разбор

    Нужно, чтобы условие выполнялось для оценок 4 и 5. Условию «x >= 4» удовлетворяют обе. «x > 4» даёт только пятёрки, «x == 4» только четвёрки, а «x <= 4» включает двойки, тройки и четвёрки.

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

  • По тексту · лёгкое

    Ерлан написал на Python программу для обработки оценок по информатике. Сначала программа считывает число n — количество оценок, затем n оценок по одной. Для каждой оценки она прибавляет её к сумме, а если оценка равна 5, увеличивает счётчик пятёрок. В конце программа выводит целую часть среднего значения (операция // даёт целую часть от деления) и число пятёрок. Вот текст программы:

    n = int(input())
    s = 0
    k = 0
    for i in range(n):
    x = int(input())
    s = s + x
    if x == 5:
    k = k + 1
    print(s // n)
    print(k)

    При проверке Ерлан ввёл число 4, а затем оценки 5, 4, 5 и 3. Потом он решил доработать программу, чтобы счётчик k учитывал не только пятёрки, но и четвёрки.

    Зачем в строке «x = int(input())» используется функция int?

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

    Верный ответ

    • CПревращает введённую строку в целое число

    Разбор

    Функция input() возвращает то, что ввёл пользователь, в виде строки. Чтобы оценки можно было складывать и сравнивать с числом 5, строку превращают в целое число функцией int. Проверку диапазона и вывод на экран int не выполняет.

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

  • По тексту · лёгкое

    Ерлан написал на Python программу для обработки оценок по информатике. Сначала программа считывает число n — количество оценок, затем n оценок по одной. Для каждой оценки она прибавляет её к сумме, а если оценка равна 5, увеличивает счётчик пятёрок. В конце программа выводит целую часть среднего значения (операция // даёт целую часть от деления) и число пятёрок. Вот текст программы:

    n = int(input())
    s = 0
    k = 0
    for i in range(n):
    x = int(input())
    s = s + x
    if x == 5:
    k = k + 1
    print(s // n)
    print(k)

    При проверке Ерлан ввёл число 4, а затем оценки 5, 4, 5 и 3. Потом он решил доработать программу, чтобы счётчик k учитывал не только пятёрки, но и четвёрки.

    Что подсчитывает переменная k в этой программе?

    1. AКоличество оценок, равных 5
    2. BСумму всех введённых оценок
    3. CНаибольшую из введённых оценок
    4. DОбщее количество введённых оценок
    Показать ответ и разбор

    Верный ответ

    • AКоличество оценок, равных 5

    Разбор

    Переменная k увеличивается на 1 только внутри условия, когда оценка равна 5. Значит, она считает количество пятёрок. Сумму оценок накапливает переменная s, а не k.

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

  • По тексту · среднее

    Ерлан написал на Python программу для обработки оценок по информатике. Сначала программа считывает число n — количество оценок, затем n оценок по одной. Для каждой оценки она прибавляет её к сумме, а если оценка равна 5, увеличивает счётчик пятёрок. В конце программа выводит целую часть среднего значения (операция // даёт целую часть от деления) и число пятёрок. Вот текст программы:

    n = int(input())
    s = 0
    k = 0
    for i in range(n):
    x = int(input())
    s = s + x
    if x == 5:
    k = k + 1
    print(s // n)
    print(k)

    При проверке Ерлан ввёл число 4, а затем оценки 5, 4, 5 и 3. Потом он решил доработать программу, чтобы счётчик k учитывал не только пятёрки, но и четвёрки.

    Какое число программа выведет первой строкой при вводе Ерлана (4, затем оценки 5, 4, 5, 3)?

    1. A4
    2. B17
    3. C4,25
    4. D5
    Показать ответ и разбор

    Верный ответ

    • A4

    Разбор

    Сумма оценок: 5 + 4 + 5 + 3 = 17. Число оценок n равно 4. Операция // даёт целую часть от деления: 17 // 4 = 4. Значение «4,25» получилось бы при обычном делении, а «17» — это только сумма.

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

  • Один ответ · лёгкое

    Что будет выведено на экран после выполнения программы на Python?

    a = 17
    b = 5
    print(a // b, a % b)

    1. A3 3
    2. B2 3
    3. C3 2
    4. D4 2
    Показать ответ и разбор

    Верный ответ

    • C3 2

    Разбор

    Операция // даёт целую часть от деления: 17 // 5 = 3. Операция % даёт остаток от деления: 17 % 5 = 2. Функция print выводит значения через пробел, поэтому на экран будет выведено «3 2». Вариант «4 2» получается при округлении частного вверх, вариант «2 3» при перестановке значений, вариант «3 3» при неверном вычислении остатка.

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

  • Один ответ · лёгкое

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

    s = 0
    for i in range(1, 6):
    if i % 2 == 0:
    s += i
    print(s)

    1. A6
    2. B15
    3. C9
    4. D10
    Показать ответ и разбор

    Верный ответ

    • A6

    Разбор

    Цикл перебирает i = 1, 2, 3, 4, 5. Условие i % 2 == 0 выполняется только для чётных чисел 2 и 4. Сумма s = 2 + 4 = 6. Значение «15» получилось бы при сложении всех чисел, «9» — при сложении только нечётных, «10» — при range(1, 6) с включением числа 6 и сложением 2 + 4 + ... неверно.

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