Автор: Роголева Нина Алексеевна
Должность: учитель информатики
Учебное заведение: МКОУ, школа №5
Населённый пункт: КБР, г.Нальчик
Наименование материала: Разработка урока
Тема: Примеры простых программ на Pethon
Раздел: среднее образование
РАЗРАБОТКА УРОКА НА ТЕМУ «ПРИМЕРЫ ПРОСТЫХ
ПРОГРАММ НА PYTHON»
ТЕМА УРОКА: ПРИМЕРЫ ПРОСТЫХ ПРОГРАММ НА PYTHON.
Цель урока: Сформировать у обучающихся систематизированное
представление об основах синтаксиса и базовых конструкциях языка
программирования Python через анализ и разработку элементарных
программ.
Задачи урока:
1. Образовательная: Познакомить
с
фундаментальными
элементами
языка:
переменными,
базовыми
типами
данных,
операторами ввода/вывода, условными операторами и циклами.
Сформировать
умение
читать
и
составлять
простейшие
алгоритмические конструкции.
2. Развивающая: Развить
аналитическое
и
алгоритмическое
мышление,
навыки
логического
анализа
задачи
и
её
декомпозиции на последовательные шаги.
3. Воспитательная: Воспитать
внимательность,
аккуратность
и
структурированность при написании кода, культуру оформления
программ согласно принципам читаемости (PEP 8).
Тип урока: Комбинированный урок изучения нового материала и
первичного закрепления знаний.
Основное содержание урока:
I. Вводная часть (Актуализация знаний и постановка проблемы)
Язык
программирования
Python
заслуженно
признан
одним
из
наиболее предпочтительных инструментов для начального обучения в
области
разработки
программного
обеспечения.
Его
ключевые
преимущества — лаконичный и легко читаемый синтаксис, а также
низкий
порог
входа
—
не
отменяют
необходимости
глубокого
и
системного понимания его фундаментальных основ. Настоящий урок
посвящен
детальному
анализу
элементарных
программных
конструкций,
которые
составляют
основу
любого
сложного
программного
продукта.
Важно
подчеркнуть,
что
mastery,
или
мастерское владение, любым языком программирования начинается
не с изучения сложных фреймворков, а с безупречного понимания
простых операций: работы с данными, управления потоком выполнения
и организации базовой логики. Таким образом, проблема, решаемая в
рамках
данного
занятия,
заключается
в
формировании
прочного
концептуального
фундамента,
позволяющего
в
дальнейшем
абстрагироваться от элементарных действий и концентрироваться на
решении более сложных прикладных задач.
II. Теоретическая часть (Объяснение нового материала)
1. Концепция программы и базовые элементы синтаксиса
Программа на любом языке программирования, включая Python,
представляет
собой
последовательность
инструкций,
предназначенных для
выполнения
вычислительным
устройством с
целью
решения
определённой
задачи.
Элементарной
единицей
является
оператор (инструкция). В
Python для
обозначения
конца
оператора
используется символ
перевода
строки,
что
делает
код
визуально структурированным и читабельным. В отличие от языков с
синтаксисом, основанным на фигурных скобках, структура блоков кода
в
Python
определяется
отступами
(indentation).
Это
не
просто
стилистическое требование, а строгое синтаксическое правило. Так,
все инструкции, принадлежащие одному блоку (например, телу цикла
или условной конструкции), должны иметь одинаковый отступ, обычно
в четыре пробела. Данный подход дисциплинирует разработчика и
способствует созданию чистого и понятного кода.
Краеугольным
камнем
программирования
является
концепция
переменной. Переменная — это именованная область оперативной
памяти, предназначенная для хранения данных, значение которой
может
изменяться
в
процессе
выполнения
программы.
Имя
переменной (идентификатор) должно быть осмысленным и описывать
хранимые
данные,
что
является
одним
из
признаков
профессионального
кода.
В
Python
создание
переменной
(её
объявление) происходит в момент первого присваивания значения.
Оператор присваивания обозначается знаком равенства (=). Важно
интерпретировать его не как математическое равенство, а как команду:
«вычисли значение выражения справа и помести результат в область
памяти, связанную с именем слева».
Данные,
с
которыми
оперирует
программа,
принадлежат
к
определённым типам. Тип данных определяет множество допустимых
значений, которые может принимать переменная, множество операций,
применимых к этим значениям, а также формат их хранения в памяти.
К фундаментальным или встроенным типам данных в Python относятся:
целые
числа
(int),
представляющие
целочисленные
значения
без
ограничения
по
величине;
числа
с
плавающей
запятой
(float),
аппроксимирующие
вещественные числа;
строки (str), являющиеся
последовательностями символов Unicode и обрамляемые одинарными
или двойными кавычками; а также логический тип (bool), который может
принимать
только
два
значения:
True
(истина)
и
False
(ложь).
Динамическая
типизация
Python
означает,
что
интерпретатор
автоматически определяет тип переменной на основе присвоенного ей
значения,
а
не
из
её
явного
объявления,
как
в
статически
типизированных языках.
2. Операции ввода и вывода данных
Взаимодействие программы с пользователем осуществляется через
консольный ввод и вывод. Для вывода данных в стандартный поток
вывода (обычно — окно терминала) используется встроенная функция
print(). Её аргументом может быть одна или несколько переменных,
литералов
(непосредственно
заданных
значений)
или
выражений.
Функция
автоматически
преобразует
переданные
аргументы
в
их
строковое представление и выводит их, разделяя пробелами. Для
форматированного
вывода
часто
применяются
f-строки
(f-strings),
которые
позволяют
напрямую
встраивать
выражения
в
строковые
литералы путем помещения их в фигурные скобки внутри строки с
префиксом f.
Для получения данных от пользователя предназначена функция
input(). Её выполнение приостанавливает работу программы до тех пор,
пока
пользователь
не
введет
последовательность
символов
и
не
нажмет
клавишу
Enter.
Функция
возвращает
введённые
данные
исключительно в виде строки (тип str). Следовательно, если по логике
программы требуются данные числового типа, необходимо выполнить
явное
преобразование
типа
с
помощью
функций
int()
или
float().
Игнорирование этого шага
является распространённой источником
ошибок
у
начинающих
разработчиков, так
как
попытка
выполнить
арифметическую операцию над строкой приведет к исключению типа
(TypeError).
3. Базовые арифметические и логические операции
Python поддерживает полный набор арифметических операторов:
сложение (+), вычитание (-), умножение (*), деление (/), которое всегда
возвращает
результат
типа
float;
целочисленное
деление
(//),
возвращающее целую часть от деления; взятие остатка от деления (%),
а также возведение в степень (**). Приоритет операций соответствует
математическим правилам и может быть изменён с помощью круглых
скобок.
Для
реализации
ветвления
логики
программы
используются
операторы сравнения и логические операторы. Операторы сравнения
(> «больше», < «меньше», == «равно», != «не равно», >= «больше или
равно»,
<=
«меньше
или
равно»)
сравнивают
два
операнда
и
возвращают значение логического типа (True или False). Логические
операторы
(and –
логическое «И», or
–
логическое «ИЛИ», not
–
логическое
«НЕ»)
позволяют
комбинировать
несколько
условий,
формируя составные логические выражения.
4. Условные операторы
Условные
операторы
являются
фундаментальной
конструкцией,
обеспечивающей выполнение различных участков кода в зависимости
от
истинности
или
ложности
заданных
условий.
Базовой
формой
является оператор if («если»). Его синтаксис подразумевает ключевое
слово
if,
за
которым
следует
проверяемое
условие
(выражение,
возвращающее булево значение) и двоеточие. Блок кода, следующий
за этим оператором с отступом, будет выполнен только в том случае,
если условие оценивается как True.
Для
обработки
альтернативных
scenarios,
или
сценариев,
используется связка if-else («если-иначе»). Блок кода, следующий за
ключевым словом else, выполняется тогда, когда условие в операторе
if оказалось ложным. В случаях, когда требуется проверить несколько
взаимоисключающих
условий
последовательно,
применяется
конструкция if-elif-else («если-иначе если-иначе»). Ключевое слово elif
(сокращение от else if) позволяет задать новое условие для проверки,
если
все
предыдущие
условия
в
цепочке
оказались
ложными.
Интерпретатор проверяет условия сверху вниз, и как только находится
условие, оцененное как True, выполняется соответствующий ему блок
кода, после чего вся цепочка условных операторов пропускается.
5. Циклические конструкции
Циклы предназначены для многократного повторения определённого
блока инструкций. В Python существует два основных типа циклов: цикл
с предусловием (while) и цикл для перебора последовательностей (for).
Цикл while («пока») повторяет блок кода до тех пор, пока заданное
условие
остаётся
истинным.
Условие
проверяется
перед
каждой
потенциальной итерацией цикла. Крайне важно, чтобы внутри тела
цикла существовал механизм, изменяющий переменные, входящие в
условие продолжения, иначе цикл может превратиться в бесконечный,
что приведёт к аварийному завершению программы или её зависанию.
Цикл for («для») в Python является циклом перебора и итеративно
присваивает
переменной
значения
из
заданной
итерируемой
коллекции
(например,
списка,
строки
или
кортежа).
Однако
для
генерации
последовательностей
целых
чисел,
которые
часто
используются
для
организации
повторений,
применяется
функция
range(). Вызов range(n) генерирует последовательность чисел от 0 до
n-1, что позволяет выполнить блок кода ровно n раз. Это наиболее
частая и идиоматичная форма использования цикла for для реализации
повторений
с
счётчиком.
Функция
range()
может
также
принимать
начальное значение и шаг, обеспечивая большую гибкость.
Для управления потоком выполнения внутри цикла используются
операторы
break
и
continue.
Оператор
break
осуществляет
немедленный
выход
из
текущего
цикла,
передавая
управление
следующей
за
циклом
инструкции.
Оператор
continue
прерывает
выполнение текущей итерации и немедленно переходит к проверке
условия (в цикле while) или к взятию следующего элемента (в цикле for),
то есть к началу следующей итерации.
III. Практическая часть (Анализ примеров программ)
Рассмотрим
серию
конкретных
примеров,
иллюстрирующих
применение
изложенных
теоретических
положений.
Анализ
будет
проводиться
по
единой
схеме:
постановка
задачи,
представление
программного кода (в рамках данного изложения код описывается
вербально), его детальное семантическое разложение и обсуждение
ожидаемого результата.
Пример 1: Программа для выполнения базовых
арифметических операций.
Задача: Запросить у пользователя два числовых значения, выполнить
над ними основные арифметические операции и вывести результаты.
Логика решения: Программа последовательно использует функцию
input() для получения двух строк ввода, которые немедленно
преобразуются в числовой формат с помощью float() (для обеспечения
работы как с целыми, так и с дробными числами). Далее в блоке print()
вычисляются и выводятся результаты сложения, вычитания,
умножения и деления. Важный аспект — обработка потенциального
исключения при делении на ноль. В реальной программе следовало
бы добавить проверку, чтобы избежать аварийного завершения, но в
данном элементарном примере это намеренно опущено для
сохранения простоты. Данный пример наглядно демонстрирует работу
с переменными, преобразование типов и использование
арифметических операторов.
Пример 2: Программа для проверки чётности числа.
Задача: Определить, является ли введённое пользователем целое
число чётным или нечётным.
Логика решения: После получения целого числа от пользователя
программа использует оператор взятия остатка от деления (%).
Ключевое математическое свойство: если число делится на 2 без
остатка (остаток равен нулю), оно чётное. Таким образом, условие в
операторе if проверяет результат выражения (number % 2 == 0). Если
условие истинно, выводится сообщение о чётности, в противном
случае — срабатывает блок else, выводящий сообщение о
нечётности. Этот пример является канонической иллюстрацией
простейшего ветвления логики программы на два альтернативных
пути на основе результата логического выражения.
Пример 3: Программа для нахождения факториала числа.
Задача: Вычислить факториал заданного натурального числа n (n! = 1
* 2 * 3 * … * n).
Логика решения: Данная задача идеально демонстрирует применение
циклической конструкции. Используется цикл for в связке с функцией
range(). Инициализируется переменная-аккумулятор (например,
factorial_result) со значением 1. Далее цикл for последовательно
перебирает значения от 1 до n (включительно, поэтому используется
range(1, n+1)). На каждой итерации текущее значение переменной-
аккумулятора умножается на текущее значение счётчика цикла, и
результат снова сохраняется в аккумулятор. После завершения цикла,
который выполнится ровно n раз, в аккумуляторе будет храниться
искомый факториал, который затем выводится на экран. Этот пример
подчёркивает важность инициализации переменных перед циклом и
демонстрирует классический паттерн накопления произведения.
Пример 4: Программа-калькулятор с использованием
бесконечного цикла и условия выхода.
Задача: Реализовать простейший интерактивный калькулятор,
который продолжает работу до тех пор, пока пользователь явно не
укажет желание выйти.
Логика решения: Здесь применяется цикл while с условием, которое
всегда истинно (например, while True:), создавая тем самым
бесконечный цикл. Внутри цикла программа выводит меню с
доступными операциями и вариантом выхода. После выбора
операции пользователем и ввода операндов производится
соответствующее вычисление с использованием условного оператора
if-elif для выбора арифметической операции. Ключевой элемент —
проверка выбора пользователя на соответствие команде выхода
(например, символ ‘q’). Если такая команда обнаружена, программа с
помощью оператора break немедленно прерывает выполнение цикла,
что приводит к её корректному завершению. Этот пример синтезирует
все изученные concepts: ввод, вывод, ветвление, циклы и управление
их выполнением, создавая законченное, пусть и простое, приложение.
IV. Заключительная часть (Подведение итогов и рефлексия)
Таким образом, анализ представленных элементарных программных
конструкций позволяет сделать вывод о том, что простота языка Python
является
его
стратегическим
преимуществом,
а
не
признаком
ограниченности.
Рассмотренные
элементы
—
переменные,
типы
данных, операторы, условные конструкции и циклы — представляют
собой
универсальный
фундаментальный
toolkit,
или
набор
инструментов, применимый для решения подавляющего majority, или
большинства, computational tasks, вычислительных задач начального и
среднего уровня сложности. Важно отметить, что профессиональная
разработка характеризуется не использованием сложных и запутанных
конструкций, а умением ясно, эффективно и читабельно реализовать
требуемую логику, опираясь на проверенные и понятные паттерны.
Дальнейшее изучение Python будет заключаться в углублении знаний
об этих
базовых элементах (например, изучении составных типов
данных:
списков,
словарей,
множеств),
освоении
принципов
структурного и процедурного программирования (функции, модули), а
впоследствии
—
объектно-ориентированного
подхода.
Однако
без
прочного усвоения материала, изложенного в данном уроке, движение
вперёд будет не только затруднено, но и лишено осмысленности.
V. Инструкция для самостоятельной работы
В
целях
консолидации
изученного
материала
рекомендуется
самостоятельно реализовать следующие программные решения:
1. Программу, которая запрашивает у пользователя температуру в
градусах Цельсия и конвертирует её в градусы Фаренгейта и
Кельвина, выводя оба результата.
2. Программу,
которая
определяет,
является
ли
введённое
пользователем число простым. Алгоритм может быть реализован
через проверку делимости на все числа от 2 до квадратного корня
из заданного числа.
3. Программу, которая выводит первые n чисел последовательности
Фибоначчи, где n запрашивается у пользователя. Для решения
потребуется
использование
цикла
и
корректное
обновление
значений двух последних членов последовательности на каждой
итерации.
4. Усовершенствовать
программу-калькулятор,
добавив
в
неё
обработку исключений (например, при вводе нечисловых данных
или при делении на ноль) с помощью конструкций try-except,
чтобы
программа
не
завершалась
аварийно,
а
корректно
информировала пользователя об ошибке и предлагала ввести
данные повторно.
Самостоятельная работа над этими задачами позволит не только
закрепить синтаксис, но и развить критически важное алгоритмическое
мышление.