Ход урока
Повторение ранее изученного материала.
Ответьте на следующие вопросы:
1) Как записывается оператор, называемый оператором присваивания?
2) Какие действия выполняет оператор присваивания?
3) Назовите известные вам типы переменных, используемых в паскале.
4) Какие математические действия можно выполнять с переменными типа real?
5) Какие математические действия можно выполнять с переменными типа word?
6) Как записываются в языке Паскаль комментарии и для чего они предназначены?
7) Какими символами нельзя пользоваться при написании программы на языке Паскаль?
Знакомство с программами разветвляющейся структуры.
В жизни часто приходится принимать решения в зависимости от сложившейся ситуации. Если идет дождь, мы надеваем плащ, если жарко и солнечно, идем в легкой одежде. Встречаются и более сложные положения, когда нужно сделать тот или иной выбор в зависимости от того, выполняется или не выполняется некоторое условие.
Мы знаем, что разветвляющиеся алгоритмы выглядят следующим образом:
|
|
Форма организации действий, при которой в зависимости от выполнения некоторого условия совершается одна или другая последовательность действий, называется ветвлением.
Знакомство с условным оператором.
Для реализации на Турбо-Паскале алгоритмов, содержащих структуру ветвления, используется команда If, которая выглядит следующим образом:
If условие Then оператор 1 Else оператор 2;По этой команде сначала проверяется выполнение условия. Простые условия записываются в виде равенств или неравенств. Сложные условия составляют из простых с помощью логических операций. Если условие выполнено, то выполняется оператор 1, стоящий за служебным словом Then. После выполнения оператора 1 выполнение команды If завершается (оператор 2 не выполняется). Если условие не выполнено, то выполняется оператор 2, стоящий после слова Else.
Следует обратить внимание, что в каждой из ветвей условного оператора может стоять всего лишь один оператор языка Турбо-Паскаль. Если в ветви требуется выполнить несколько действий, используется составной оператор Begin … end;
Условный оператор предписывает выполнять некоторое действие только в том случае, когда выполняется заданное условие. Это условие записывается в виде логического выражения, а действие, которое нужно выполнить, задается в виде последовательности операторов.
Заметим, что перед ключевым словом Else недопустимо использование точки с запятой, означающее окончание оператора, так как это ключевое слово, так же как и If и Then, входит в его состав. Точка с запятой указывается только после полного завершения оператора, то есть после действия 2. Написание условного оператора If в одну или в несколько сторок зависит от вкуса программиста и длины самого оператора – в Турбо-Паскале строки с командами не должны превышать 127 символов, включая и используемые в командах пробелы.
|
|
Кроме неё существует неполная структура, графическая схема которой выглядит следующим образом:
Вторая серия команд в условном операторе может отсутствовать. При этом признак ее начала – служебное слово Else – опускается.
Неполная команда ветвления выглядит так:
If условие Then действие;Здесь при справедливости условия выполняется действие, а если условие нарушено, то сразу переходим к оператору, который следует за условным оператором.
Чтобы после ключевых слов Then или Else могла выполняться последовательность операторов, последние должны быть заключены в операторные скобки – ключевые слова Begin и End. Операторные скобки охватывают фрагмент исходного текста программы, который необходимо считать одним оператором. В качестве операторов, используемых в составном операторе, могут использоваться любые операторы, допустимые в Турбо-Паскале, в том числе условные операторы, а также составные операторы.
Решение задач.
1. Составьте программу, удваивающую значение целой переменной а, если а>5.
Решение
Если а > 5, то значение а надо заменить на 2а. В противном случае (а <= 5) никаких действий производить не нужно. Используем неполную команду ветвления.
Program Pr2; Var а: Integer; Begin WriteLn (‘Введите число’); ReadLn (а); If а >5 Then а:= а*2; WriteLn (‘а =', а); End.2. Используя оператор if…then…else составьте программу, которая бы в ответ на введённую оценку по информатике выводила на экран следующий текст:
если оценка «5», то «молодец, я тобой горжусь!»(1)
если оценка «4», то «я рад, надеюсь, будет «5»» (2)
если оценка «3», то «не ленись и всё получится» (3)
иначе «ты, наверное, не ходишь на уроки» (4)
Решение.
Алгоритм решения задачи будет следующим.
ввод оценки
если оценка 5 то вывод на экран текста (1)
Иначе
если оценка 4 то вывод на экран текста (2)
Иначе
если оценка 3 то вывод на экран текста (3)
иначе вывод на экран текста (4)
Конец
Здесь мы используем вложение одного условия в другое несколько раз. Программа на паскале будет иметь следующий вид:
program usl_2;
var x:byte;
begin writeln ('какие оценки по информатике ты получаешь чаще всего?');
readln(x);
if x=5 then writeln('молодец! Я тобой горжусь!')
else
if x=4 then writeln(‘я рад! Надеюсь будет "5"')
else if x=3 then writeln('не ленись и всё получится! ')
else writeln('ты, наверное не ходишь на уроки')
end.
Домашнее задание.
Ответьте на следующие вопросы:
1)Что означает фраза: «задачи с ветвлением»?
2)Как записывается полный условный оператор?
3)Как записывается неполный условный оператор?
4)Какие математические действия можно выполнять в задачах с ветвлением?
5)Какими символами в языке Паскаль можно пользоваться только при написании комментариев?
Составьте программу, удваивающую значение целой переменной а, если а<10 и утраивающую значение переменной, если a>=10.