Тема «Программирование линейных алгоритмов» (на языке программирования Python)
Цель: Обеспечить усвоение обучающимися способов записи линейных алгоритмов на языке программирования Python
Планируемые результаты
Личностные:
готовность к повышению своего образовательного уровня и продолжению обучения с использованием средств и методов информатики и ИКТ;
способность увязать учебное содержание с собственным жизненным опытом, понять значимость подготовки в области информатики и ИКТ в условиях развития информационного общества;
Метапредметные:
владение общепредметными понятиями «алгоритм», «исполнитель» и др.;
владение информационно-логическими умениями: создавать обобщения, устанавливать аналогии, строить логическое рассуждение, умозаключение (индуктивное, дедуктивное и по аналогии) и делать выводы;
владение умениями самостоятельно планировать пути достижения целей; соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; оценивать правильность выполнения учебной задачи;
владение основами самоконтроля, самооценки, принятия решений и осуществления осознанного выбора в учебной и познавательной деятельности;
владение информационным моделированием как основным методом приобретения знаний: умение «читать» схемы, самостоятельно перекодировать информацию из одной знаковой системы в другую;
Предметные:
формирование информационной и алгоритмической культуры;
формирование представления об основном изучаемом понятии: алгоритм,
развитие алгоритмического мышления, необходимого для профессиональной деятельности в современном обществе;
развитие умений составить и записать алгоритм для конкретного исполнителя;
формирование знаний об алгоритмических конструкциях;
знакомство с линейной алгоритмической структурой на языке программирования Python
Учащиеся должны знать: понятия «алгоритм», «исполнитель», «система команд исполнителя»; основные алгоритмические структуры: следование, ветвление, цикл; реализацию алгоритмической структуры следование в языке программирования Python.
Учащиеся должны уметь: составлять алгоритмы для решения простых задач в словесной форме и на языке программирования Python; выполнять трассировку алгоритма с использованием трассировочных таблиц; программировать несложные линейные алгоритмы на языке программирования Python.
Аналитические виды деятельности
анализ предлагаемых последовательностей команд на предмет наличия у них таких свойств алгоритма как дискретность, детерминированность, понятность, результативность, массовость;
определение по блок-схеме, для решения какой задачи предназначен данный алгоритм;
анализ изменения значений величин при пошаговом выполнении алгоритма;
анализ готовых программ;
определение по программе, для решения какой задачи она предназначена.
Практическая деятельность: программирование линейных алгоритмов, предполагающих вычисление арифметических выражений на языке программирования Python
Организационный момент
Актуализация
Деятельность учителя | Деятельность учащихся |
С какими операторами мы познакомились на прошлом уроке? При помощи какой команды осуществляется ввод данных? Как указать сообщение - комментарий к вводимым данным? Как по умолчанию команда input() воспринимает входные данные? Что необходимо сделать для того, чтобы ввести целочисленное значение? Какая команда применяется для ввода вещественных чисел? Как ввести нескольких чисел через пробел (например, два)? Какой тип будут иметь значения? Что необходимо сделать, чтобы сменить тип на вещественный? При помощи какой команды осуществляется вывод данных? Какое служебное слово используется для форматированного вывода? Можно ли использовать форматированный вывод для вывода вещественных значений? Опишите, как это сделать
Что означает print ( '{:5.2f}'.format (a ))
Какой символ является оператором присваивания? Как выполняется оператор присваивания?
| Ввод, вывод, присваивание
input(список ввода) a = input() В скобках функции a = input ("Введите количество: ") как строку символов
следует указать тип данных int(): a = int (input())
a=float(input())
n, m = map(int, input().split()) – ввод двух чисел через пробел целочисленный тип int заменить на float
print(список вывода)
format Пример: (print ( "{:4d}".format(x) )) Да
В качестве строки формата, в кавычках, между фигурными скобками укажем двоеточие, после которого будет следовать два целых числа, разделённые точкой – общее количество выделяемых знаковых позиций и количество выводимых знаков после запятой. Дальше для вещественных чисел следует английская буква f. После кавычек поставим точку и напишем служебное слово format, после которого в скобках укажем выводимое значение. вывод вещественного числа, всего символов 5, после запятой 2 символ =
сначала вычисляется выражения справа от знака равенства, а затем полученное значение записывается в переменную, указанную слева от знака равенства.
|
Формулирование темы и цели урока
Какие алгоритмические конструкции вы знаете? Какая из них является самой простой? Как называются алгоритмы, в которых используется только структура «следование»? Какой раздел мы начали изучать? Попробуйте сформулировать тему урока? Сформулируйте цель урока | Следование, ветвление, цикл следование Линейными
Программирование Программирование линейных алгоритмов научиться писать линейные программы на языке Питон
|
Изучение нового материала
Программы, реализующие линейные алгоритмы, являются простейшими. Все имеющиеся в них операторы выполняются последовательно, один за другим.
Сегодня мы будем рассматривать линейные алгоритмы обработки целочисленных данных, но в начале рассмотрим правила записи арифметических выражений в языке Python. Как и в других языках программирования, в языке Python арифметические выражения записываются в одну строку и могут содержать числа, скобки, знаки арифметических операций, имена переменных и вызовы функций.
Приоритет выполнения арифметических операций в языке Python аналогичен математическому.
ВСПОМНИМ:
Над целыми числами в языке Python выполняются следующие операции:
сложение (+)
вычитание (-)
умножение (*)
получение целого частного (//)
получение целого остатка деления (%)
деление (/)
возведение в степень (**)
Результаты первых пяти операций — целые числа. Результатом операции деления может быть вещественное число.
Давайте попробуем разобраться, из каких основных частей состоит линейная программа.
Предположим, нам необходимо составить программу для вычисления площади прямоугольника
Дано: стороны a и b (произвольные числа, так как алгоритм должен обладать свойством массовость)
Найти: площадь s
Решение: формула s = a*b
1 дано – ввод длин сторон a и b (оператор ввода с клавиатуры)
2 решение – написать алгебраическое выражение для вычисления площади s (формула)
3 ответ – вывести значение площади, хранящееся в переменной s (оператор вывода)
a = int(input()) # вводим длину стороны a
b = int(input()) # вводим длину стороны b
s = a*b #вычисляем площадь прямоугольника
print(s) #ответ: выводим значение площади, хранящееся в переменной s
Закрепление
Что появится на экране в результате выполнения программы:
а=3
b=2
с = а**b
print (' число ', а ,' в степени ', b ,' равно ', с)
Найдите и исправьте ошибки в программе
a=input()
P = (a+b)*2
print ('периметр равен')
Допишите программу для решения задачи на языке программирования Python.
Скорость движения автомобиля - v км/ч. Какой путь преодолеет автомобиль за t часов?
#дано:
v = int(input()) #скорость v
t = … #время t
#решение: написать алгебраическое выражение для вычисления расстояния s
s =
#ответ: вывести значение расстояния, хранящееся в переменной s
print (…)
Проверить правильность работы программы:
Входные данные (числа, которые вы должны ввести с клавиатуры при запуске программы):
14
34
Выходные данные (что должна вывести программа):
476
Практическая работа
Задание 1. В магазине куплено несколько ручек по одной цене и несколько карандашей по другой цене. Значения цены и количества вводятся с клавиатуры. Вычислить стоимость покупки.
Обозначим через a,b - количество ручек и количество карандашей, через x,y – цену одной ручки и одного карандаша, c - стоимость покупки
#дано:
a,b = map(int, input().split()) #количество ручек и количество карандашей
x,y = … #цена одной ручки и одного карандаша
#решение: написать алгебраическое выражение для вычисления стоимости покупки
c = ...
#ответ: вывести значение стоимости покупки, хранящееся в переменной c
print(...)
Допишите программу для решения задачи на языке программирования Python.
Проверить правильность работы программы (самопроверка):
Входные данные:
10 20
15 30
Выходные данные:
750
Задание 2. Написать программу по алгоритму
Предположите, для чего предназначена данная программа. Подберите тестовые значения и проверьте правильность работы программы.
Подведение итогов урока (рефлексия)
Домашнее задание (комментарии к домашнему заданию)
Допишите программу для решения задачи на языке программирования Python.
Турист проехал на машине t часов со скоростью v километров в час и прошёл s километров пешком. Сколько всего километров пути преодолел турист?
#дано:
t = int(input()) #количество часов, кот. турист проехал на машине
v = … #скорость движения машины
s = … #количество километров, пройденных пешком
#решение: написать алгебраическое выражение для решения задачи
s1 = …
#ответ: вывести, сколько всего километров пути преодолел турист
print(...)
Проверить правильность работы программы:
Входные данные (числа, которые вы должны ввести с клавиатуры при запуске программы):
50
2
60
Выходные данные (что должна вывести программа):
170
Составить свою задачу, реализующую линейные алгоритмы на языке программирования Python (условие, решение - программа на Python, тестовые значения)