Урок 6. Условный оператор if
Урок из серии: «Язык программирования Паскаль»
Один из важнейших операторов Паскаля – условный оператор. Он позволяет изменять порядок выполнения операторов в зависимости от некоторого условия, представляющего собой логическое выражение типа Boolean. Если значение равно True, то выполняется одна группа операторов, если False, то другая группа операторов или не выполняется ничего.
В языке Паскаль имеются два условных оператора: if (оператор ветвления) и case (оператор выбора). Оператор if обеспечивает выбор из двух альтернатив, оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов.
На этом уроке рассмотрим оператор If.
Условный оператор If (оператор ветвления)
Полная формы условного оператора называется If-then-else, имеет вид:
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
Слова if (если) и Then (то) – зарезервированные.
Замечание. Перед ключевым словом else (иначе) точка с запятой не ставится, она ставиться после всего оператора If.
Условие представляют собой логические выражение. Простые условия записываются в виде равенств или неравенств. В сложных условиях несколько простых условий объединяются с помощью логических операций or, and. В этом случае простые условия заключаются в круглые скобки.
На рисунке показана блок-схема полной формы оператора.
Алгоритм выполнения полного условного оператора:
Неполная форма условного оператора называется if-then, имеет вид:
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
В неполном ветвлении ветвь Else отсутствует.
На рисунке показана блок схема оператора if-then.
Алгоритм выполнения неполного условного оператора
Операторы ветвления могут быть вложенными, т.е. один оператор if можно расположить внутри другого. В этом случае он позволяет производить выбор более чем из двух вариантов. При написании исходного кода с вложенными операторами для удобочитаемости кода вложенные операторы выделяются отступами.
Применение условного оператора if рассмотрим на примерах.
Пример 1. С клавиатуры ввести два различных числа. Найти большее из них и вывести его на экран.
В этом примере нужно произвести выбор одного из двух вариантов, для этого используется оператор if—then—else.
Пример 2. Даны три отрезка. Можно ли из них построить треугольник?
Решение. Для любого треугольника сумма его двух сторон должна быть больше третьей стороны (неравенство треугольника). Если a, b, c – стороны предполагаемого треугольника, то нужно сравнить длину каждого отрезка с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольник из таких отрезков не построить.
Для решения этой задачи используется оператор if—then—else со сложным условием.
Задачи для самостоятельного выполнения
На этом уроке рассказывалось об условном операторе if и его применении при решении задач. Простой оператор ветвления используется для для выбора одного из двух возможных продолжений алгоритма, для выбора более чем из двух продолжений можно использовать вложенный оператор ветвления.
Pascal-Паскаль
Программирование. Условные операторы Pascal-Паскаль
Программирование. Условные операторы Pascal-Паскаль
Условные операторы Pascal-Паскаль
Условные операторы позволяют выбирать для выполнения те или иные части программы в зависимости от некоторых условий. Если, например, в программе используются вещественные переменные x и z, и на каком-то этапе решения задачи требуется вычислить z=max(x, y), то желаемый результат получается в результате выполнения либо оператора присваивания z:=x, либо оператора присваивания z:=y. Поскольку значения переменных x и y заранее неизвестны, а определяются в процессе вычислений, то в программе необходимо предусмотреть оба эти оператора присваивания. Однако на самом деле должен выполниться один из них. Поэтому в программе должно содержаться указание о том, в каком случае надо выбирать для исполнения тот или иной оператор присваивания.
Это указание естественно сформулировать с использованием отношения x>y. Если это отношение при текущих значениях x и y справедливо (принимает значение true), то для исполнения должен выбираться оператор z:=x; в противном случае для исполнения должен выбираться оператор z:=y (при x=y безразлично, какой оператор выполнять, так что выполнение оператора z:=y в этом случае даст правильный результат).
Для задания подобного рода разветвляющихся вычислительных процессов в языках программирования существуют условные операторы. Рассмотрим полный условный оператор Паскаля:
Здесь if (если), then (то) и else (иначе) являются служебными словами, В – логическое выражение, а S1 и S2 – операторы.
Выполнение такого условного оператора в Паскале сводится к выполнению одного из входящих в него операторов S1 или S2: если заданное в операторе условие выполняется (логическое выражение В принимает значение true), то выполняется оператор S1, в противном случае выполняется оператор S2.
Алгоритм решения упомянутой выше задачи вычисления z= max( x, y) можно задать в виде условного оператора Паскаля
При формулировании алгоритмов весьма типичной является такая ситуация, когда на определенном этапе вычислительного процесса какие-либо действия надо выполнить только при выполнении некоторого условия, а если это условие не выполняется, то на данном этапе вообще не нужно выполнять никаких действий. Простейшим примером такой ситуации является замена текущего значения переменной х на абсолютную величину этого значения: если x =0, то текущее значение х должно остаться без изменений, т.е. на данном этапе вообще не надо выполнять каких-либо действий.
В подобных ситуациях удобна сокращенная форма записи условного оператора в Паскале:
Правило выполнения сокращенного условного оператора Паскаля достаточно очевидно: если значение логического выражения В есть true, то выполняется оператор S; в противном случае никаких иных действий не производится.
В языке программирования Паскаль в условном операторе между then и else, а также после else по синтаксису может стоять только один оператор. Если же при выполнении (или невыполнении) заданного условия надо выполнить некоторую последовательность действий, то их надо объединить в единый, составной оператор, т.е. заключить эту последовательность действий в операторные скобки begin. end (это важно!). Если, например, при x of
[else ] end
Здесь case, of, else, end – зарезервированные слова (случай, из, иначе, конец);
— произвольные операторы Паскаля.
Например, составим программу, которая по номеру дня недели выводит на экран его название:
Пример программы с использованием Case of
Следует помнить, что все константы из списка выбора должны быть различны.
Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора, разделенных запятыми. Например, следующая программа при вводе одного из символов ‘ y’ или ‘ Y’ выведет на экран «Да», а при вводе ‘ n’ или ‘ N’ – слово «Нет».
Пример программы с использованием Case of с несколькими переменными
Очевидно, что рассмотренные выше программы можно записать с помощью вложенных или последовательно расположенных условных операторов, но в подобных задачах использование оператора выбора является более простым. Основное отличие условного оператора от оператора выбора состоит в том, что в условном операторе условия проверяются одно за другим, а в операторе выбора значение ключа выбора непосредственно определяет одну из возможностей.
Программирование
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Уроки Паскаль № 4 Условные операторы
Здравствуйте, сегодня мы поговорим про условные операторы. В статье мы обсудим тему условий в программировании.
Урок № 4 Условные операторы
Для начала наберем заготовку с двумя переменными a и b типа integer. Зададим им значение a := 0;
b := 7;. Далее идет оператор вывода writeln(‘a =’, a); writeln(‘b =’, b);
Это заготовка поможет нам в этом уроке. Мы подошли к такой теме как условные операторы, но прежде чем её изучать нужно понимать, что такое условный алгоритм?
Начнем писать конструкцию как она выглядит на языке программирования Паскаль.
Пишется if затем в круглых скобках (условие) если их несколько или это условие одно пишется условие. Далее пишется then и действие которое нам необходимо выполнить если условие, записанное в скобках, выполняется. Надо понимать, что такое истинное и ложное условие?
if (условие) then
действие;
В английском языке существуют 2 слова true правда и false лож. Если в дальнейшем вы будете встречать в различных языках программирования они соответствуют этим значениям.
Также есть переменная типа bool: boolen; она может принимать только два значения true правда и false лож. Если мы переменную bool просто поставим в условие. Выглядеть это будет так.
if bool then действие;
если истина, то дейcтвие;
Это действие будет выполняться всегда потому что у нас стоит истина в переменной bool. Если только мы не поменяем значение bool:= false;, то действие выполняться не будет.
Сильно не заморачиваетесь по поводу этой переменной bool просто надо понимать, что это такой служебный тип данных который применяется в определенных случаях, и принимает только два значения истина и ложь. Он используется в условиях в основном.
Запишем условие if a > 0 then действие; — это простейший вид условия, если, а больше 0 т. е. это истина то выполняется действие. Дальше идет выполнение программы. Если оно не истинно, то действие не выполняется, и мы движемся дальше по программе. Есть более усложненная версия этого оператора.
if a > 0 then
действие один
else
действие два;
Это значит, что если условие истинно, то выполняем действие.
Перевод на русский. Если, а больше нуля истина, то выполняй действие один, иначе действие два.
if then else Если то иначе.
Некоторая сложность то что в блоке после then и else мы можем писать только одно действие в том виде которое оно есть и перед else точка с запятой не ставиться.
Если нам нужно перечислить несколько действий, то нужно воспользоваться такой конструкцией.
if a > 0 then
begin
действие1;
действие2;
end
else
действие3;
Если после else мы пишем begin end то после end должна стоять точка с запятой. Потому что мы закончили блок.
Не забываем про табуляцию она позволяет понимать логику кода, то что вложено в какой блок лучше видно, чем без табуляции. Если в будущем вы планируете быть программистом, ну конечно Паскаль для этого будет недостаточно. Когда вы будете писать свой код, скорей всего будете работать в компании, где вы будете не один такой программист. Удобно, когда несколько человек используют одинаковый способ вывода кода, вам легко будет разбираться в чужом коде, другому человеку будет легко разбираться в вашем коде. Особенно в крупных компаниях код пишется несколькими отделами в каждом отделе работает куча человек и без стандартизации такой подобной, там просто не получиться работать, будет большая трата времени на разбор кода. Так что привыкайте писать грамотно и красиво.
Давайте придумаем какие-то действия. Если, а > 0 мы будем присваивать значения переменным определенные, выводить и смотреть что у нас срабатывает.
if a > 0 then
begin
a := 78;
b := 22;
end
else
begin
a := 33;
b := 39;
end;
Если, а больше 0 то переменным, а и b присваивается значение 78 и 22 соответственно. Если это условие не выполняется то переменным, а и b присваивается значение 33 и 39.
По логике видно, что у нас а больше 0 то естественно выводиться будет этот блок.
begin
a := 78;
b := 22;
end
Этот блок будет игнорироваться.
begin
a := 33;
b := 39;
end;
Наша программа будет выглядеть так.
Как и планировали видим значение 78 и 22.
Теперь присвоим переменной, а значение 0 и посмотрим что получится.
На этом у меня все. До встречи в следующем уроке в нем мы поговорим про математические функции.
Pascal: Занятие №2. Часть 1: Условный оператор в Паскале (If)
Условный оператор в Паскале
До рассмотрения данной темы в основном использовались линейные алгоритмы в Паскале, характерные для весьма простых задач, когда действия (операторы) выполняются последовательно, одно за другим. Более сложные алгоритмы предусматривают использование конструкция ветвления.
Блок-схема условного оператора:
Условный оператор в Паскале имеет следующий синтаксис:
if условие then оператор;
Полный вариант:
if условие then оператор else оператор;
Условный оператор в Паскале — if — служит для организации хода задачи таким образом, при котором изменяется последовательность выполнения операторов в зависимости от какого-либо логического условия. Логическое условие может принимать одно из двух значений: либо true (истина), либо false (ложь), соответственно, оно может быть либо истинным, либо ложным.
Составной оператор
Операторные скобки и составной оператор в Паскале:
if логическое выражение then begin оператор1; оператор2; end else begin оператор1; оператор2; end;
Перевод с английского оператора условия облегчит понимание его использования:
IF | THEN | ELSE |
ЕСЛИ | ТО | ИНАЧЕ |
В условии (в логическом выражении) используются операторы отношения.
Рассмотрим список операторов отношения Паскаля:
Подробно разобраться в работе условного оператора в Паскале можно, просмотрев видеоурок:
begin var x:=readReal(‘введите х’); var y: real; if x>0 then y:=ln(x) else y:=exp(x); writeln (‘y=’, y:6:2) end.
Таким образом, использование такой записи в pascal практически позволяет выполнить округление до сотых, тысячных и т.п.
[Название файла: L2task0.pas ]
[Название файла: L2task1.pas ]
[Название файла: L2task2.pas ]
Логические операции в Паскале (в логическом выражении)
Когда необходимо использовать двойное условие в Pascal, то понадобятся логические операции.
var n:integer; begin n:=6; if (n>5) and (n 7) or (n 7) xor (n 7) then writeln(‘истина’); end.
var a,b: integer; begin write(‘Введите A: ‘); read(a); b := a mod 2; if b>0 then writeln(‘true’) else writeln (‘false’) end.
var a,b: integer; begin write(‘Введите A: ‘); read(a); b := a mod 2; writeln(b>0); end.
[Название файла: L2task3.pas ]
[Название файла: L2task4.pas ]
Построение блок-схем по коду Паскаль
Существуют управляющие структуры трех типов:
следование | ветвление | повторение или цикл |
Две из трех представленных структур блок-схемы мы уже можем перевести в код Pascal.
Результат:
Как пишется условный оператор в паскаль
В Паскале разветвляющиеся алгоритмы позволяет реализовать условный оператор. Условный оператор позволяет проверить некоторое логическое выражение и в зависимости от результатов проверки выполнить то или иное действие.
Структура условного оператора в полной форме имеет следующий вид:
IF (логическое выражение) THEN (оператор1) ELSE (оператор2);
Блок-схема условного оператора в полной форме:
В условном операторе после then, а также после else по синтаксису может стоять только один оператор. Если же при выполнении (или невыполнении)логического выражения надо выполнить не одно действие, а несколько, то их надо объединить в единый, составной оператор, т.е. заключить эту последовательность действий в операторные скобки.
Составной оператор имеет вид:
Перед служебным словом Else символ «;» не ставится. Структура условного оператора в неполной форме имеет следующий вид: IF (условие) THEN (оператор); Пример: If A then If A then begin Пример 1:
| Программный код на языке Pascal: var n: integer; begin write (‘ Введите целое число : ‘); readln (n); //ввод переменной if n mod 2 = 0 then //определяется четность write (‘Оно четное’) //если выполняется условие четности выводится сообщение «Оно четное» else write (‘Оно нечетное’); //если не выполняется условие четности выводится сообщение «Оно нечетное» readln end |
Пример 2:
Даны два числа, найти наибольшее.
Упражнения «Программирование разветвляющихся алгоритмов»
1. Записать условие, которое является истинным, когда
· каждое из чисел X и Y нечетное;
· только одно из чисел X и Y меньше 20;
· хотя бы одно из чисел X и Y равно нулю;
2. Записать условие, которое является истинным, когда
· каждое из чисел А и В больше 100;
· только одно из чисел А и В четное;
· хотя бы одно из чисел А и В положительно;
· каждое из чисел А, В, С кратно трем;
· только одно из чисел А, В и С меньше 50;
· хотя бы одно из чисел А, В, С отрицательно.
3. Записать условие, которое является истинным, когда
1. целое А кратно двум или трем;
2. целое А не кратно трем и оканчивается нулем.
4. Записать условие, которое является истинным, когда
1. целое N кратно пяти или семи;
2. целое N кратно четырем и не оканчивается нулем.
5. Определите значение переменной С после выполнения фрагмента программы:
if А>В then С:=А+В else С:=А-В;
а) 100 b) 5 с) 105 d)95
6. Укажите правильную запись на языке Паскаль выражения, записанного на русском языке Х>=0 и Х>=3,25 и У