Информатика · 11 класстренажёр

Функции в Python и работа с файлами — тренажёр

Тренировка по теме «Функции в Python и работа с файлами»: задачи с меняющимися числами, мгновенная проверка, подсказка и подробный разбор к каждой. Ниже — шпаргалка по теме, разобранные примеры и ответы на частые вопросы.

← К теории

Тренировка

0/8
Задача 1 из 8

Рекурсивный факториал: fact(1) делает один вызов, а fact(n) — свой вызов плюс fact(n - 1). Сколько всего вызовов fact произойдёт при вычислении fact(7)?

Выбери ответ и нажми «Проверить». Подсказка рядом — пользоваться не стыдно.

Разбор примеров из тренажёра

13 задач из пула этого тренажёра с полной логикой решения: условие, подсказка, как решать и ответ. В самом тренажёре числа в каждой задаче обновляются от раунда к раунду — принцип решения остаётся тем же.

Пример 1. Рекурсивный факториал: fact(1) делает один вызов, а fact(n) — свой вызов плюс fact(n - 1). Сколько всего вызовов fact произойдёт при вычислении fact(6)?

Подсказка. Считай вызовы от 6 до 1 включительно.

Как решать. Цепочка вызовов тянется от 6 вниз до 1: всего 6 вызовов.

Ответ: 6

Пример 2. Текстовый файл занимает 3 Кбайт. Сколько это байт?

Подсказка. Один Кбайт — 1024 байта.

Как решать. В одном Кбайте 1024 байта: 3 умножить на 1024.

Ответ: 3072

Пример 3. Файл содержит 11 строк, и в каждой строке через пробел записано 6 чисел. Сколько всего чисел прочитает программа?

Подсказка. Умножь число строк на числа в строке.

Как решать. 11 строк по 6 чисел: 11 умножить на 6.

Ответ: 66

Пример 4. Рекурсивный факториал: fact(1) делает один вызов, а fact(n) — свой вызов плюс fact(n - 1). Сколько всего вызовов fact произойдёт при вычислении fact(3)?

Подсказка. Считай вызовы от 3 до 1 включительно.

Как решать. Цепочка вызовов тянется от 3 вниз до 1: всего 3 вызовов.

Ответ: 3

Пример 5. Текстовый файл занимает 10 Кбайт. Сколько это байт?

Подсказка. Один Кбайт — 1024 байта.

Как решать. В одном Кбайте 1024 байта: 10 умножить на 1024.

Ответ: 10240

Пример 6. Файл содержит 7 строк, и в каждой строке через пробел записано 4 чисел. Сколько всего чисел прочитает программа?

Подсказка. Умножь число строк на числа в строке.

Как решать. 7 строк по 4 чисел: 7 умножить на 4.

Ответ: 28

Пример 7. Рекурсивный факториал: fact(1) делает один вызов, а fact(n) — свой вызов плюс fact(n - 1). Сколько всего вызовов fact произойдёт при вычислении fact(5)?

Подсказка. Считай вызовы от 5 до 1 включительно.

Как решать. Цепочка вызовов тянется от 5 вниз до 1: всего 5 вызовов.

Ответ: 5

Пример 8. Текстовый файл занимает 7 Кбайт. Сколько это байт?

Подсказка. Один Кбайт — 1024 байта.

Как решать. В одном Кбайте 1024 байта: 7 умножить на 1024.

Ответ: 7168

Пример 9. Рекурсивный факториал: fact(1) делает один вызов, а fact(n) — свой вызов плюс fact(n - 1). Сколько всего вызовов fact произойдёт при вычислении fact(7)?

Подсказка. Считай вызовы от 7 до 1 включительно.

Как решать. Цепочка вызовов тянется от 7 вниз до 1: всего 7 вызовов.

Ответ: 7

Пример 10. Текстовый файл занимает 11 Кбайт. Сколько это байт?

Подсказка. Один Кбайт — 1024 байта.

Как решать. В одном Кбайте 1024 байта: 11 умножить на 1024.

Ответ: 11264

Пример 11. Файл содержит 13 строк, и в каждой строке через пробел записано 9 чисел. Сколько всего чисел прочитает программа?

Подсказка. Умножь число строк на числа в строке.

Как решать. 13 строк по 9 чисел: 13 умножить на 9.

Ответ: 117

Пример 12. Текстовый файл занимает 12 Кбайт. Сколько это байт?

Подсказка. Один Кбайт — 1024 байта.

Как решать. В одном Кбайте 1024 байта: 12 умножить на 1024.

Ответ: 12288

Пример 13. Файл содержит 6 строк, и в каждой строке через пробел записано 8 чисел. Сколько всего чисел прочитает программа?

Подсказка. Умножь число строк на числа в строке.

Как решать. 6 строк по 8 чисел: 6 умножить на 8.

Ответ: 48

Вопросы для повторения темы

Контрольные вопросы по «Функции в Python и работа с файлами» с верными ответами и пояснениями — проверь себя до запуска тренажёра.

Вопрос 1. Что напечатает print(f(5)), если функция объявлена как def f(x): x * 2 без return?

Ответ: None

Пояснение. Значение x * 2 вычислено, но не возвращено: без return функция отдаёт None, и его напечатает print.

Вопрос 2. Функция объявлена как def price(t, k=100): return t * k. Что вернёт вызов price(3)?

Ответ: 300

Пояснение. Аргумент t равен 3, а k не передали — работает значение по умолчанию 100: 3 умножить на 100 будет 300.

Вопрос 3. После выполнения блока with open("data.txt") as f: файл закрывается автоматически.

Ответ: Верно

Пояснение. with сам вызывает close при выходе из блока — даже если внутри произошла ошибка.

Вопрос 4. Какие утверждения про функции верны?

Ответ: глобальную переменную можно читать из функции без global; переменная, созданная внутри функции, снаружи недоступна; return может встречаться в разных ветках if одной функции

Пояснение. Читать глобальную можно, менять — только через global; локальные переменные живут внутри; return спокойно работает в разных ветках. Параметры у функции не обязательны.

Вопрос 5. Расставь шаги чтения данных из файла по порядку.

Ответ: открыть файл: open("data.txt") → прочитать содержимое методом read → разбить текст на части методом split → вывести готовые значения

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

Вопрос 6. Сопоставь конструкцию и её смысл.

Пояснение. def объявляет функцию, return возвращает значение, а "r" и "a" — режимы open: чтение и дозапись.

Вопрос 7. Вставь пропущенные слова.

Ответ: return → локальной

Пояснение. return возвращает результат вызывающему коду, а переменные функции локальны — снаружи их не видно.

Настройте ритм перед экзаменом: задание дня по информатике — новое каждый день.