Программирование разветвляющихся алгоритмов. Условный оператор.
Тип урока: комбинированный, изучение нового материала.
Формы учебной работы обучающихся: фронтальная работа, индивидуальная работа учащихся.
Межпредметные связи: математика.
Планируемые образовательные результаты:
- предметные – умение записывать на языке программирования короткие алгоритмы, содержащие алгоритмическую конструкцию ветвление;
- метапредметные – умение самостоятельно планировать пути достижения целей; умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи;
- личностные – алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе; представление о программировании как сфере возможной профессиональной деятельности.
Решаемые учебные задачи:
1) рассмотреть правила записи условного оператора на языке Pascal ABC;
2) подвести учащихся к выводу, что для решения одной и той же задачи
можно разработать разные алгоритмы;
3) сформировать умение записывать на языке программирования короткие алгоритмы с ветвлениями.
4) применить полученные знания при решении жизненных ситуаций и различных задач.
Основные понятия, изучаемые на уроке:
- условный оператор;
- неполная форма и полная форма условного оператора.
Ход урока.
-
Организационный момент.
Учитель. Здравствуйте ребята! На предыдущих уроках мы изучили операторы, с помощью которых научились составлять алгоритмы и решать задачи с использованием линейных алгоритмов. Проверим, как вы справились с выполнением домашнего задания: вы должны были повторить, что такое алгоритм, линейный алгоритм, операторы Pascal, условие и соответствующие определения, важные элементы блок-схемы.
-
Актуализация знаний.
- Проверка домашнего задания, фронтальный опрос.
- Вопросы:
На доске изображена пустая блок-схема линейного алгоритма, которая заполняется по ходу ответов учащихся на вопросы:
1. Дайте определение линейных алгоритмов.
(Ответ: Алгоритмы, в которых команды выполняются последовательно одна за другой, называются линейными алгоритмами).
2. Перечислите основные структуры линейного алгоритма и в виде чего они обозначаются в блок-схеме.
(Ответ: ввод /вывод данных - в виде параллелограмма, последовательность команд – в виде прямоугольника).
3. Расскажите порядок выполнения алгоритма для вычисления среднего арифметического и среднего геометрического двух чисел a и b.
(Ответ: Ввести два числа a и b; вычислить среднее арифметическое, вычислить среднее геометрическое; вывести результаты.
Программа:
Program pr;
var a, b,: integer; c, d:real;
begin
writeln (‘введите два числа’);
readln (a,b);
c:=(a+b)/2;
d:=sqrt(a*b);
write(‘c=’, c:5:2, ‘d=’,d:5:2);
end.
Определить значения переменных:
1. Определите новое значение переменной a:
a:=6;
a:=2*a-1;
Ответ: a=11/
2. Определите новое значение переменной X:
X:=2;
X:=X*X;
X:=X*X*X;
Ответ: X= 64
3. Определите новые значения переменных X и Y:
X:=1,5;
X:=2*X+1;
Y:=X/2;
Y:=X+Y;
X:=X-Y;
Ответ: X= -2; Y=6
-
Изучение нового материала.
Для того чтобы учащиеся сами смогли сформулировать тему урока, с ними проводится следующая беседа.
На доске записана формула:
Учитель. Ребята, посмотрите на формулу и подумайте какую математическую задачу она решает?
Учащиеся: (Ответ: Нахождение значения переменной y, заданной формулой в зависимости от значения переменной x, будет вычисляться либо по формуле
, либо по формуле 2
).
Нужно, чтобы программа выбирала решение в зависимости от условия.
Учитель: Молодцы, вы сами того не зная, уже сказали тему нашего сегодняшнего урока.
Итак, запишите в тетрадях тему: «Программирование разветвляющихся алгоритмов».
- У всех рассмотренных нами до сих пор программ была линейная структура,
т.е. команды выполнялись последовательно одна за другой в том, порядке в котором они были записаны.
- Однако не любую задачу можно решить с помощью линейного алгоритма
В данном случае мы имеем дело с другой алгоритмической структурой – разветвлением.
- Сегодня на уроке:
-
вы узнаете, как решаются подобные задачи;
-
научитесь составлять программы разветвляющихся алгоритмов на языке Pascal ABC.
В отличие от линейных алгоритмов, в которых команды выполняются одна за другой, конструкция ветвления включает в себя проверку условия.
Графически ветвление можно представить схемой:
По этой схеме, если условие истинно, выполняется серия действий 1, иначе выполняется серия действий 2.
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
if then else ;
Пример: if a
для записи неполных ветвлений используется неполная форма условного оператора:
if then
Графическая схема простой (неполной) конструкции ветвления:
Здесь при справедливости условия выполняется действие, а если условие нарушено, то сразу переходим к оператору, который следует за условным оператором.
Слова if - then - else переводятся с английского на русский язык как если – то – иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Перед else точка с запятой не ставится!
В качестве условий такого оператора используется значение логического выражения:
• простые – записанные с помощью операций отношения;
• сложные – записанные с помощью логических операций: OR (или) и AND (и).
Чтобы после ключевых слов then или else могла выполняться последовательность операторов, они должны быть заключены в операторные скобки – ключевые слова Begin и End. Операторные скобки охватывают фрагмент исходного текста программы, который необходимо считать одним оператором. В качестве операторов, используемых в составном операторе, могут использоваться любые операторы, допустимые в Паскале, в том числе условные операторы, а также составные операторы.
Составной оператор:
Begin
оператор 1;
оператор 2;
…….
оператор n;
End;
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
if then
if then
else ;
при использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.
-
Закрепление нового материала.
Задание 1. Составьте программу вычисления значения переменной
x, y – целые числа
Этапы работы:
Составление блок-схемы
(записи ведутся на доске и в тетрадях учащихся)
Составление компьютерной модели (учащиеся работают за ПК)
Анализ результатов компьютерного эксперимента
Задание 2: дано ветвление:
1) Назовите условие
2) Назовите действие, которое будет выполняться в случае Истинности условия; в случае Ложности условия.
3) Запишите условный оператор (записи ведутся на интерактивной доске и в тетрадях учащихся).
4) При каких значениях x выполняется действие y:= x-1? (x
4)
- Условия x4 и x
4 два взаимоисключающих условия в нашем случае
- 1 – Истинно 2 – Ложно
1 – Ложно 2 – Истинно
- Во второй блок-схеме в качестве условия укажем x
4
5) Заполните действия во второй блок-схеме (записи ведутся на доске и в тетрадях учащихся).
6) Заполните условный оператор для второй блок-схемы (записи ведутся на доске и в тетрадях учащихся).
- Получили две записи одного и того же алгоритма ветвления.
-
Практическая работа (решение задач на использование ветвлений.)
Написать программу, которая проверяет, делится ли на 3 целое число, введенное с клавиатуры.
(program zd1;
var a: integer;
begin
writeln (‘введите целое число a’);
readln (a);
if a mod 3 = 0 then write (‘число’,a,’ делится на 3’) else write (‘число’,a,’не делится на 3’);
end).
Самостоятельная работа.
Вариант 1.
-
Ввести два числа, большее увеличить в два раза, меньшее уменьшить на 2.
-
Запросить номер дня недели и сообщить рабочий это день или выходной.
Вариант 2.
-
Ввести двузначное число, определить какая цифра в числе большая.
-
Составить программу, которая запрашивает возраст ребенка и затем выводит решение о приеме ребенка в школу.
Вариант 3.
-
Даны два числа, меньшее из этих чисел заменить суммой данных чисел, большее – произведением.
-
Ввести двузначное число, определить равны ли цифры.
-
Подведение итогов урока и задание на дом
Оценивание работы учащихся на уроке, оценивание практической работы.
Учитель:
- Мы познакомились с условным оператором
- Научились составлять программы для разветвляющихся алгоритмов
Задание на дом:
Записи в тетради.
Составить и решить задачу с использованием условного оператора.