Тема: «Оператор условия if -else в Pascal. Программы на ветвление»
Цели:
Повторить с учащимися структуру программы на Pascal, операторов, типы данных, алгоритммическую конструкцию ветвления. Учить писать программы на Pascal на организацию ветвления разного уровня. Формировать умения и инавыки по написанию прграмм на языке Pascal. Воспитывать компьютерную грамотность, внимательность, логику и мышление.
Оборудование: интерактивная доска, тетрадь, методический материал (презентация)
Ход урока
I. Оргмомент
II. Проверка домашнего задания
Что такое программа? Структура программы (на доске). С помощью каких данных работает программа? Перечислить типы данных. Что такое число с плавающей точкой? Назовите оператор ввода данных. Назовите оператор вывода данных. Как выглядит оператор присваивания?
III. Объяснение нового материала
Составьте блок-схему к данному алгоритму
ЭВМ запрашивает: “Сколько вам лет?”. Если ответ больше 100, то отвечает: “Вы хорошо сохранились!”. В противном случае желает: “Лет до ста расти вам без старости!”. (задача №1)
На что вы обратили при составлении блок-схемы. Вспомните какая это алгоритмическая структура? (показывается структура ветвления на доске)
Давайте теперь составим алгоритм решения квадратного уравнения в виде блок-схемы. (сначала в тетради, затем выносится на доску уже в готовую форму алгоритма, задача№2).
На языке Pascal мы тоже можем записать эти задачи в виде программы. Она будет записываться с помощью оператора if -else.
Ветвление (альтернатива) одной из основных алгоритмических структур является.
(Объяснение на задаче №1,3)
Если условие выполняется, то будет выполнена инструкция «1», если нет, то - инструкция «2». Несмотря на то, что в схеме присутствуют два действия, выполнено будет только одно, так как условие либо ложно, либо истинно. Третьего не дано. Такая схема позволяет решать задачи, в которых в зависимости от сложившихся обстоятельств требуется совершить то или иное действие. Нет никакого сомнения, что число задач такого рода огромно. Более того, очень сложно придумать реально значимое задание, алгоритм выполнения которого содержал бы в себе простое прямое следование команд. Даже примитивный пример, взятый из курса математики, как вы увидите, не может быть решен без использования ветвления. Итак, необходимо вычислить значение выражения y=1/x. Вам известно, что данная функция не всегда имеет значение, то есть не для всех значений аргумента существует значение результата. Наша задача так составить алгоритм, чтобы исполнитель ни в коем случае не встал в тупик, даже при получении нуля в качестве аргумента. Сформулировать это на естественном языке не трудно:
1. Получить значение x.
2. Если x=0, то сообщить, что выражение значения не имеет, иначе - вычислить y как 1/x.
Таким образом используется приведенная выше алгоритмическая структура. Она может быть выражена простыми словами:
Если <усл.>{Если выполняется условие}
то <действие 1>{то выполнить действие № 1 }
иначе <действие 2>{иначе - выполнить действие № 2 }
все
Как это записать на Паскале? Да точно так же, только по-английски.
Формат условного оператора на языке Паскаль:
If <условие>
Then <оператор 1>
Else <оператор 2>;\\Обратите внимание на то, что в Then- и Else- части стоит только один оператор. Но что делать, чтобы решить задачу, в которой по выполнению или невыполнению условия нужно совершить не одно, а несколько действий? Здесь приходит на помощь уже известный вам составной оператор. В операторные скобки можно заключить любое количество операторов.
Вариант условного оператора в этом случае:
If <условие>
Then Begin <группа операторов 1> end
Else Begin < группа операторов 2> end;
Знак «точка с запятой» не ставится перед служебным словом Else, но операторы в группах, естественно, отделяются друг от друга этим знаком.
Теперь поговорим об условиях. В программах на языке Паскаль условия представляют собой выражения, значением которых является величина логического (Boolean) типа. Это может быть как просто переменная указанного типа, так и сложная последовательность высказываний, связанных логическими операциями.
В простых условиях могут применяться знаки операций сравнения: >(больше), <(меньше), =(равно), <>(не равно), >=(больше или равно), ⇐(меньше или равно).
Примеры простых условий: A=5 {Значение переменной А равно 5}
(C+D3)>=(D1*(45-2)) {Значение выражения в левой части больше либо равно значению выражения из правой части}
S<>„ABC“ {Значение переменной S не равно строковой константе „ABC“}
Приведем пример решения еще одной задачи: «Из двух чисел выбрать наибольшее».
На первый взгляд решение очевидно, но оно не столь тривиально, как кажется.
Program Example;
Var A,B,C : Real; {A,B - для хранения аргументов, C - результат}
Begin
Writeln(„Введите два числа“);
Readln(A,B);{Вводим аргументы с клавиатуры}
If A>B Then C:=A Else C:=B; {Если A>B, то результат - A, иначе результат - B}
Writeln(C);{Выводим результат на экран} (ЗАДАЧА №3)
End.
Давайте с вами решим несколько задач. (слайд № 11, 12, 13)
Работа с квадратным уравнением.
Давайте попробуем нашу блок-схему с квадратным уравнением представить в виде программы на Pascal (не используя сложных условий).
А теперь давайте посмотрим как бы выглядела эта же программа с учетом всех условий при стандартом решении квадратного уравнения в математике.
IV. Итог/Домашнее задание
К программе нарисовать блок — схему.
Методический материал к уроку:
условный_оператор_if-else.odp