Тема урока: Структура ветвления на языке блок-схем и языке программирования
Цель урока: ознакомление студентов с условным оператором.
Задачи:
Обучающие:
- дать представление о разветвляющейся конструкции алгоритма и условного оператора программы, написанной на языке Pascal; закрепить умения и навыки по работе с разветвляющимися конструкциями алгоритма и условного оператора программы, написанной на языке Pascal.
Воспитательные:
- умение работать в коллективе и в паре; формирование ответственного отношения к учебе, аккуратность.
Развивающие:
- способствовать развитию абстрактного и логического мышления; умение выделять из класса задач задачи, решаемые с использованием конкретного алгоритма; умение аргументировано отстаивать свою точку зрения.
Оборудование:
- Компьютер; Программа Turbo Pascal; Тетрадь студентов; Экран с мультимедийным проектором; Компьютерная презентация.
Содержание урока:
Ориентировочно-мотивационный этап.Повторим структуру программы языка Pascal.
1. Ответьте на вопросы:
В каком разделе программы идет описание типов переменных? Какой знак препинания стоит после слова VAR? С какого слова начинается тело программы? Чем заканчивается любая программа?2. Чему будет равно значение переменной х после выполнения последовательностей операторов?
а ) а : = 1;
b : = 3 * a;
x : = ( a + b ) / a * b – a;
б ) a : = 2;
x : = a * a;
x : = x * x;
x : = x * a;
3. Какими будут результаты вычисления выражений?
а ) ( 10 + 6 * 2 ) / 2;
б ) 3 – 8 + 21 div 3;
в ) ( 2 + 3 ) mod 7 – 2;
г ) Trunc ( 5 .4 );
д ) Round ( 5 .4 );
4. Составьте программу, которая выполнит умножение 3*3.
А теперь проблема: как заставить компьютер проверить правильно ли выполнено умножение? Составить алгоритм.
Итак, как будет звучать тема сегодняшнего урока?
Операционально-исполнительский этап.-Такой алгоритм обязательно содержит условие и в зависимости от результата выполнения условия происходит выбор действия.
Например:
Если день рабочий, то идем в школу, иначе будем отдыхать.
- Построить блок-схему.
Таких примеров можем привести много из обычной жизни и наук. К примеру,
физика: Если удар упругий, то масса тела сохраняется, иначе масса изменяется.
Математика: Если у равностороннего четырехугольника углы прямые, то назовем его прямоугольником, иначе назовем его ромбом.
В рассмотренных до сих пор алгоритмах и программах все команды (операторы) выполнялись последовательно одна за другой в том порядке, в каком они были записаны. Однако таким образом может быть построен алгоритм для решения далеко не всякой задачи.
В практике хорошо известны задачи, дальнейший ход решения которых зависит от выполнения какого-либо условия.
Демонстрация презентации «Условный алгоритм».
Команды, с помощью которых записываются алгоритмы подобного типа (разветвляющиеся алгоритмы), называются командами ветвления. Команде ветвления в Паскале соответствует условный оператор.
Условный оператор может иметь две формы (структуры).
Неполная форма условного оператора: действие выполняется только тогда, когда выполняется записанное в ромбе условие. В случае невыполнения условия происходит переход к следующему оператору (выход из структуры).
Полная форма условного оператора: в случае выполнения условия (выход «+» из ромба) выполняется одно действие, в случае невыполнения (выход «—») — другое действие. Каждая структура имеет один вход и один выход. Программу рекомендуется строить из последовательных, логически завершенных блоков, не допуская передачи управления из одного блока в другой. Такая программа содержит меньше ошибок при разработке, легче проверяется на правильность выполнения.
Неполный условный оператор имеет вид:
IF условие THEN оператор;
Полный условный оператор:
IF условие THEN оператор_1 ELSE оператор_2;


Если перевести на русский язык английские слова IF, THEN и ELSE, то вид условного оператора будет таким же, как вид команды ветвления в рассмотренном примере:
ЕСЛИ условие, ТО оператор 1, ИНАЧЕ оператор 2;
В различных случаях после слов THEN и ELSE надо выполнить не один оператор, а несколько. Тогда эти операторы заключаются в так называемые операторные скобки, открывающая скобка которых — слово BEGIN, а закрывающая — слово END:
begin
(операторы)
end;
Перед словом ELSE точка с запятой не ставится. В операторных скобках рекомендуется каждую пару BEGIN — END записывать в одном столбце: так легче проверить соответствие каждой открывающей скобке закрывающую.
Рассмотрим задачу.
Задача 1.
Построить алгоритм определения, является ли счастливым трамвайный билет?
-Ребята, счастливым билет является тогда, когда из шестизначного номера, указанного на нем, первые три цифры (их сумма) равна сумме трех последних цифр.
Program b1;
Var n1,n2,n3,n4,n5,n6: integer;
Begin
Writeln (‘введите число n1’);
Readln(n1);
Writeln (‘введите число n2’);
Readln(n2);
Writeln (‘введите число n3’);
Readln(n3);
Writeln (‘введите число n4’);
Readln(n4);
Writeln (‘введите число n5’);
Readln(n5);
Writeln (‘введите число n6’);
Readln(n6);
If (n1+n2+n3)=(n4+n5+n6)
Then writeln (‘счастливый’)
Else writeln(‘обычный’);
Readln;
End.
Практическая работа. Раздаются карточки с задачами.
Задача №1
Написать программу нахождения удвоения меньшего из двух чисел.
Контрольный пример:
Данные:2.3 Результат: 4
Данные: 3.2 Результат: 4
Задача №2
Написать программу нахождения построения алгоритма, по которому можно определить: пройдет ли график функции y=5*x через данную точку.
Контрольный пример:
Данные: x, y=1.5 Результат: «пройдет»
Данные: 15.8 Результат: «не пройдет»
Задача №3
Составить программу нахождения алгоритм вычисления значения функции
y= 2x, если x>0
x*x, если x<0
Контрольный пример
Данные: -5 Результат: 25
Данные: 5 Результат: 10
Задача №4
Напишите программу-модель анализа пожарного датчика в помещении, которая выводит сообщение «Пожарная ситуация», если температура (ее значение вводится с клавиатуры) в комнате превысила 60єС, иначе «Нормально»
Контрольный пример:
Данные: 65 Результат: «Пожарная ситуация»
Данные: 15 Результат: «Нормально»
Задача №5
Написать алгоритм, распознающий по длинам сторон среди всех треугольников – прямоугольные.
Контрольный пример:
Данные:
3, 4, 5 «прямоугольный»
4, 3, 5 «прямоугольный»
5, 4, 3 «прямоугольный»
4, 4, 5 «не прямоугольный»
4, 4, 9 «не существует»
9, 4, 3 «не существует»
4, 9, 2 «не существует»
Студенты садятся за парты и решают задачу-телеграмму.
Задача - телеграмма.
В следственном отделе произошло ЧП! Из сейфа пропали задания на розыск. Только что мне позвонил «доброжелатель» — он запрятал эти задания в ячейках камеры хранения, номер вы сможете определить, выполнив его условия: вы должны определить результаты выполнения предоставленных вам программ (задания распределяются и выполняются каждым членом группы) и сложить их. Полученное число и есть номер нужной ячейки камеры хранения.
1. a := 5; b := 10;if a<b then a:= a+b else b:=a+b;
write(a, b);
2. a:=10; b:=5;
if a<b then a:= a+b else b:=a+b;
write(a, b);
3. a := 5; b := 5;
if a<b then a:= a+b; a:=a+b;
write(a, b);
4. a:=5; b:=10;
if a<b then a:= a+b; b:=a+b;
write(a, b);
Номер ячейки 105.
1. a := 2; b := 4;
if a<b then a:= a+b else b:=a+b;
write(a, b);
2. a:=4; b:=2;
if a<b then a:= a+b else b:=a+b;
write(a, b);
3. a := 2; b := 2;
if a<b then a:= a+b; a:=a+b;
write(a, b);
4. a:=2; b:=4;
if a<b then a:= a+b; b:=a+b;
write(a, b);
Номер ячейки 42.
1. a := 4; b := 6;
if a<b then a:= a+b else b:=a+b;
write(a, b);
2. a:=6; b:=4;
if a<b then a:= a+b else b:=a+b;
write(a, b);
3. a := 4; b := 4;
if a<b then a:= a+b; a:=a+b;
write(a, b);
4. a:=4; b:=6;
if a<b then a:= a+b; b:=a+b;
write(a, b);
Номер ячейки 70.
III. Рефлексивно-оценочный этап.
Обобщение урока:
Что нового узнали на уроке? Чему научились на уроке?
3. Как работает полный условный оператор??
4. Как работает неполный условный оператор?
Оценивание работ студентов.
Домашнее задание
Повторить конспект.
Решить задачи:
Составить алгоритм определения: есть ли решение системы неравенств: у > = х*x, у < = 1 для данной пары чисел х, уКонтрольный пример:
Данные: 6, 9 результат: «нет решения»
Данные: 0.2, 0. 5 результат: «есть решение»
8. Построить алгоритм принадлежности точки с координатами (х, у) кругу радиуса R, центр которого лежит в начале координат.
Контрольный пример:
Данные: х, у =1, 1, R = 2 результат: «принадлежит»
Данные: х, у =2, 2, R = 2 результат: « не принадлежит»


