КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Оператор альтернативы. Приоритеты операций сравнения и булевих операций
Условные операторы СТРУКТУРНЫЕ ОПЕРАТОРЫ Приоритеты операций сравнения и булевих операций Все операции сравнения имеют равный приоритет и выполняются слева направо. У булевых операций высочайший приоритет имеет not, за ним идет and, потом or и xor. Группа булевих операций имеет приоритет более высокий чем группа сравнения. Изменить порядок вычисления можно с помощью круглых скобок.
Структурные операторы содержат другие операторы и руководят последовательностью их выполнения.
В OP структурными операторами есть: 1. составной оператор; 2. условные операторы: оператор альтернативы іf, оператор поливариантного выбора case; 3. операторы цикла: оператор цикла с предусловием (while); оператор цикла с посусловием (repeat until); оператор цикла со счетчиком (For); 4. оператор присоединения (with). Составным оператором является группа операторов, расположенная между ключевыми словами begin и end, которые называются операторными скобками. Операторы, которые находятся в составном, выполняются в порядке их расположения. Тело каждой программы представляет собой один составнлй оператор. Составной оператор используют в тех случаях, когда синтаксис языка ОР допускает в определенной точке программы использования только одного оператора, а за алгоритмом в этом месте надо выполнить группу операторов. В ОP включены два условных операторы – If и Case, каждый из которых может быть записан в двух формах: полной и неполной.
Дано два значения x и y (x¹y). Необходимо сравнить эти значения и напечатать имя большей переменной. Для решения этой задачи довольно сравнить оба значения и в зависимости от результата сравнения вывести на печать символ «х» или «y». Третьим шагом алгоритма была структура принятия решения – если х >y, то напечатать «x», иначе напечатать «y». В языке ОР эту структуру можно записать с помощью оператора if. Оператор if предназначен для реализации алгоритмической конструкции разветвления.
Рассмотрим пример который решает выше приведенную задачу. program Ex_3; var x, y: real; begin writeln('Enter x, y'); readln(x, y); If x>y then writeln('X') else writeln('Y') end.
Полная форма оператора if имеет вид: if Условие then Оператор1 else Оператор2; где if, then, else – зарезервированные слова; Условие – произвольное логическое выражение; Оператор1, Оператор2 – произвольные операторы. Блок-схема оператора представлена на рис.. Действие оператора. Сначала вычисляется Условие. Если это выражение является истинным (True), то выполняется Оператор1, который стоит после ключевого слова then и управление передается следующему за условным оператору (Оператор2 пропускается). Если выражение Условие является ошибочным (False), то Оператор1 пропускается, выполняется лишь Оператор2, который стоит после ключевого слова else и управление передается следующему за условным оператору.
Если любое действие должно выполняться лишь при выполнении определенного условия и пропущенно в случае невыполнения этого условия, то оператор if должен быть записан в сокращенной форме.
Сокращенная форма оператора if имеет вид: if условие then Оператор; Блок-схема представлена на рисунке. Действие оператора. Сначала вычисляется Условие. Если это выражение является истинным (True), то выполняется Оператор, который стоит после ключевого слова then и управление передается следующему за условным оператору. Если выражение Условие является ошибочным (False), то Оператор пропускается, управление сразу же передается на следующий за условным оператору.
В Pascal операторы разделяются символом ";". Пример с ошибкой: if A > В then С:= А; ¬ ошибка else С:= В;
В показанном выше примере точка с запятой, которая стоит перед ключевым словом else заканчивает текст оператора if. А это приводит к синтаксической ошибке, поскольку оператора, начинающегося с ключевого слова else в Pascal нет.
Чтобы не допускать таких ошибок, целесообразно запомнить такое правило: Перед ключевым словом else символ ";" никогда не ставится.
Задача: «Нужно проверить принадлежит ли значение действительной переменной х отрезку [0; 1], и вывести соответствующее сообщение». Решение задачи с использованием условного оператора выглядит следующим чином. program Ex_4; var x: real; begin writeln('Enter x'); readln(x); If (x >=0)and(x <= 1) then write ('x belongs to [0; 1]') else write ('x does not belongs to [0; 1]'); end.
Решим задачу. Данная целое значение а. Если число а – четное, то вычислить значение переменной b (b=4a), иначе вычислить переменную c ().
Четность определять будем с помощью операции mod. Обратите внимание, что тип переменной с будет действительным, так как в вычислении используется операция деления.
По синтаксису после ключевых слов then и else может стоять всего лишь один оператор. Если же в какой-нибудь из ветвей альтернативы (then или else) или сразу в обеих нужно выполнить больше операторов, то следует воспользоваться, составным оператором begin.. end который разрешает интерпретировать группу операторов как один оператор. Заметим, что операторы, расположенные между ключевыми словами begin... end, также как и везде, должны разделяться точкой с запятой. program Ex_5; var a, b: integer; c: real; begin writeln('Enter a'); readln(a); If a mod 2 =0 then begin b:= 4*a; writeln('b=', b) end else begin c:= a/3; writeln('c=', c:6:2) end end. Еще одна синтаксическая сложность корректного использования оператора if возникает при написании вложенных операторов if. В случае, если вложенный оператор if располагается в пределах составного оператора, больших проблем не возникает, так как ключевые слова begin и end точно ограничивают область каждой альтернативы. Например; if Условие1
Дата добавления: 2014-01-07; Просмотров: 393; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |