15

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

Научимся разбивать задачу на подзадачи и оформлять их как функции на Python.

Демо-урок: попробуйте презентацию, задания и тест. Ответы проверяются, но не сохраняются. Другие уроки и возможности

Практическая работа «Функции»

Программы пишите прямо на сайте: «▶ Запустить» выполняет код (данные для input() впишите в поле «Ввод»), «Проверить» запускает его на скрытых тестах. Подсказки в input('…') при проверке не учитываются.

Задания на сайте

Часть 1. Задания с автопроверкой

1Что выведет программа?
def s(n):
    t = 0
    while n > 0:
        t += n % 10
        n //= 10
    return t

print(s(123) + s(45))
2Напишите функцию square(x), которая возвращает квадрат числа. Ввод: число n. Вывод: square(n) + square(n + 1).
Программа будет проверена на 3 тестах — нажмите «Проверить» внизу.
3Функция is_prime(n) возвращает True, если n простое. Ввод: a и b (каждое с новой строки). Вывод: количество простых чисел на отрезке [a; b].
Программа будет проверена на 4 тестах — нажмите «Проверить» внизу.
4Напишите функцию digits_sum(n) и с её помощью выведите, сколько чисел от 1 до n имеют сумму цифр, равную 10. Ввод: n.
Программа будет проверена на 3 тестах — нажмите «Проверить» внизу.
5Разбейте задачу «найти самого высокого ученика класса» на подзадачи по порядку
  1. Вывести фамилию
  2. Найти максимальный рост
  3. Найти, у кого он
  4. Ввести рост всех учеников

Готово? Переходите к тесту

Самооценка урока

Виви запомнит, как прошёл урок, и покажет это вместе с оценками в самоанализе.

Как прошёл урок?