Тема урока: Структура ветвления на языке блок-схем и языке программирования

Цель урока: ознакомление студентов с условным оператором.

Задачи:

Обучающие:

    дать представление о разветвляющейся конструкции алгоритма и условного оператора программы, написанной на языке 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  результат: « не принадлежит»