Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Оператор альтернативы

Условные операторы

СТРУКТУРНЫЕ ОПЕРАТОРЫ

Структурные операторы содержат другие операторы и руководят последовательностью их выполнения.

В OP структурными операторами есть:

1. составной оператор;

2. условные операторы:

оператор альтернативы іf,

оператор поливариантного выбора case;

3. операторы цикла:

оператор цикла с предусловием (while);

оператор цикла с постусловием (repeat … until);

оператор цикла со счетчиком (For);

4. оператор присоединения (with).

Составным оператором является группа операторов, расположенная между ключевыми словами begin и end, которые называются операторными скобками.

Составной оператор используют в тех случаях, когда синтаксис языка ОР допускает в определенной точке программы использования только одного оператора, а по алгоритму в этом месте надо выполнить группу операторов.


В ОP включены два условных операторы – If и Case, каждый из которых может быть записан в двух формах: полной и неполной.

Оператор if предназначен для реализации алгоритмической конструкции разветвления.

 

Полная форма оператора if имеет вид:

if Условие then Оператор1

else Оператор2;

где if, then, else – зарезервированные слова;

Условие – произвольное логическое выражение;

Оператор1, Оператор2 – произвольные операторы.

Блок-схема оператора представлена на рис..


Задача: «Нужно проверить принадлежит ли значение действительной переменной х отрезку [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.

 

 


Действие оператора.

Сначала вычисляется Условие. Если это выражение является истинным (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 символ ";" никогда не ставится.


Пример. Даны два целых числа А и В. Если число А является положительным, то прибавить к нему 1, а число В увеличить вдвое. В противном случае числа оставить без изменения. Вывести числа.

 

program Primer;

var A,B:integer;

begin

writeln('Enter integer A, B');

readln(A,B);

If A>0 then

begin

A:=A+1;

B:=B*2;

end;

writeln('A=',A,' B=',B);

readln

end.

 
 

По синтаксису после ключевых слов then и else может стоять всего лишь один оператор.

 

Если же в какой-нибудь из ветвей альтернативы (then или else) или сразу в обеих нужно выполнить больше операторов, то следует воспользоваться, составным оператором begin.. end, который разрешает интерпретировать группу операторов как один оператор.

 

Заметим, что операторы, расположенные между ключевыми словами begin... end, также как и везде, должны разделяться точкой с запятой.


 

Решим задачу. Данная целое значение а. Если число а – четное, то вычислить значение переменной b (b=4a), иначе вычислить переменную c ().

 

Четность определять будем с помощью операции mod. Обратите внимание, что тип переменной с будет действительным, так как в вычислении используется операция деления.

 
 


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; Просмотров: 413; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.022 сек.