Студопедия

КАТЕГОРИИ:


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

Оператор вибору CASE




...

11: Writeln (a);


При використанні оператора переходу goto необхідно враховувати таке:

ü Мітка, на яку передається керування, повинна бути описана в розділі опису міток.

ü Областю дії мітки є блок, у якому вона записана.

ü Перехід можливий лише в межах блоку;

П р и к л а д:

Program jump; Label mіtka; {Опис мітки} Var x, y:real; {Опис змінних} Begin Writeln (“Введіть значення х в діапазоні 1 …10”); Readln (x); If (x<1) or (x>10) then goto mitka {Аналіз х, організація переходу} else y:=Ln(x); Writeln (y); Mitka: {Передача керування на мітку} End.

____________________________________ 4.СТРУКТУРА РОЗГАЛУЖЕННЯ. УМОВНИЙ ОПЕРАТОР.

Умовні оператори забезпечують виконання або невиконання деякого оператора або групи операторів в залежності від заданих умов. У мові Pascal використовуються два види умовних операторів: оператор умови IF та оператор вибору CASE.

 

Умовний оператор IF - змінює послідовний порядок виконання операторів програми. Він може мати одну з наступних форм:

1. Коротка форма.

IF < умова> THEN <оператор1>;

       
 
   
 


Дія оператора полягає в тому, що спочатку обчислюється значення умови, якщо умова істинна, яка записана після ключового слова IF, буде виконуватися <оператор1>, який стоїть після THEN, в іншому випадку він виконуватися не буде.

Якщо потрібно, щоб в іншому випадку виконувався інший оператор, використовують повний опис оператору умови.

П р и к л а д: Прочитати літеру з вхідного файлу INPUT. Якщо це літера Т, або передує їй, то вивести на дисплей цю букву та наступну за нею. В протилежному випадку вивести букву, котра передує введеній.

PROGRAM Litery;

VAR letter: CHAR;

BEGIN

READ (letter);

IF letter<='T' THEN WRITELN (letter,SUCC(letter))

ELSE WRITELN(PRED(letter));

END.

Логічна умова також може бути і логічним виразом.

П р и к л а д:

If (x>0) and (x<=10) then y:=sin(x)+10;

2. Повна форма.

IF < умова> THEN <оператор1> ELSE <оператор2>;

           
 
   
     


Дія оператора полягає в тому, що спочатку обчислюється значення умови. Якщо отримане значення істинне (true), то виконується оператор, записаний після ключового слова THEN. Якщо ж значення умови хибне (false), то виконується оператор, записаний після ключового слова ELSE. Якщо після ключових слів THEN i ELSE необхідно записати кілька операторів, то їх слід об'єднати в складний оператор з допомогою операторних дужок BEGIN, END (перед першим поставити begin, а після останнього – end;).

П р и к л а д: Обчислити значення функції за однією з двох формул залежно від значення аргументу:

Y=

Оператор, що реалізує ці обчислення, має вигляд: If x>0 then y:=ln(x) else y:=exp(x);

П р и к л а д: Дано два числа,визначити серед них більше, збільшити його на 2 і вивести на екран.

if a>b then begin

a:=a+2;

write(a)

end;

else begin

b:=b+2;

write(b)

end;

Необхідно пам’ятати, що перед ELSE крапка з комою в кінці попереднього оператору не ставиться.

В умові також широко можуть використовуватися три логічних оператора: NOT, AND, і OR.

Умовні оператори можуть бути вкладеними, причому ступінь вкладеності в мові Pascal не обмежена.

Н а п р и к л а д:

IF x>0 then y:=1

else IF x<0 then y:=-1

else y:=0;

При вкладеності операторів IF один в інший може виникнути синтаксична помилка неоднозначності. До якого із двох ключових слів IF відноситься ключове слово ELSE в операторі IF x then IF y then s1 else s2; Для того, щоб не було цієї синтаксичної помилки можна ввести операторні блоки Begin …End.
Перший варіант IF x then begin IF y then s1 end else s2; Другий варіант IF x then begin IF y then s1 else s2; end;
 

Н а п р и к л а д: Визначити і вивести на дисплей більше з двох чисел.

Program maximum(INPUT,OUTPUT);

Var

a,b:Integer;

Begin

Writeln('Введіть два цілі числа');

Write('a=');

Readln(a);

Write('b=');

Readln(b);

Write('Більше з двох чисел');

IF a>=b then writeln(a) else writeln(b);

End.

 

Більш загальним випадком умовного оператора є оператор вибору CASE. Оператор CASE дає можливість виконувати один з декількох операторів і має такий синтаксис:

       
   

 


 

 

CASE <селектор> OF

<список значень 1>: <оператор 1>;

<список значень 2>: <оператор 2>;

< список значень n>: <оператор n>

ELSE

<оператор n+1>

END;

 

Тут case, of, else — це зарезервовані слова, що перекладаються як «вибір», «із», «інакше»;

<селектор> — змінна або вираз, який має довільний перелічуваний тип;

<список значень> — перелік розділених комами значень того самого типу, що і се­лектор;

<оператор> — будь-який оператор;

end — кінець оператора CASE.

Оператор вибору виконується за таким алгоритмом. Спочатку обчислюється значення виразу-селектора. Потім вибирається той список констант, до якого на­лежить отримане значення, виконується відповідний оператор і на цьому дія опе­ратора case завершується. Якщо поточне значення селектора не збігається з жод­ною з констант вибору, то виконується гілка else, а якщо її немає, то виконання оператора вибору завершується.

Тип селектора має бути перелічуваним. Неприпустимим є використання селекторів дій­сних або структурованих типів.

Крім одиночних констант, в варіантах оператора CASE можуть використовуватися діапазони значень і списки (перераховані через кому).




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1333; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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