русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Умовний оператор.


Дата додавання: 2014-11-27; переглядів: 1014.


Умовний оператор в ТП призначений для організації процесу обчислення в залежності від якоїсь певної умови.

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

Під умовою розуміється логічне значення TRUE або FALSE , зображене константою, змінною або логічним виразом. Дія умовного оператора зводиться до виконання оператора1, якщо умова виконується., тобто подана значенням TRUE , або до виконання оператора2, якщо умова не виконується, тобто подана значенням FALSE .Таким чином, конструкція умовного оператора цілком відповідає базовій структурі “розвилка”. Головна ідея УО полягає в тому, щоб виконувалася одна із альтернатив, але ніколи не виконувалися обидві.

Приклад: Визначити max ( x,y ) :

IF x>y THEN max := x ELSE max := y ;

Оператори 1 та 2 можуть бути простими і складеними в залежності від того , скільки дій треба виконати відповідно до альтернатив THEN та ELSE. Якщо треба одночасно виконати не один, а два або цілу послідовність операторів, то їх об’єднують за допомогою операторних дужок в складений оператор. Складений оператор – це послідовність операторів, перед якою стоїть службове слово BEGIN , а після останнього оператора послідовності – службове слово END. Оператори в послідовності відокремлюються один від одного крапкою з комою , перед END вона може бути відсутня. Складений оператор може містити будь-яке число простих операторів, в тому числі один або жодного. Він допускає вкладеність , тобто може містити в середині себе інші складені оператори, при цьому внутрішній складений оператор повинен відкриватися пізніше , а закриватися раніше зовнішнього. Складений оператор – дуже важливе поняття в структурному програмуванні. В ТП всі управляючі структури не відрізняють простий та складений оператори: там , де стоїть простий оператор, може стояти і складений.

Приклад .Визначити max ( x, y ) та присвоїти змінній n значення 1 , якщо x>y , або 2 , якщо y>x.

IF x>y THEN BEGIN max:= x; n:=1 END ELSE BEGIN max:=y; n:=2 END ;

Умовний оператор може вживатися в скороченому вигляді , який відповідає спрощеній базовій структурі “розвилка”, де відсутня одна з гілок обчислень:

IF < ЛВ > THEN <оператор> ;

В такому скороченому УО у випадку невиконання умови , тобто коли ЛВ набуває значення FALSE , нічого не відбувається та управління передається на наступний за УО оператор .

Приклад . Визначити max( x,y ) можна за допомогою двох операторів присвоювання та скороченого УО таким чином :

max := y ;IF x>y THEN max:=x ;

Умовні оператори можуть бути вкладеними один в одного, тобто <оператор1> та <оператор2> можуть бути , в свою чергу, умовними операторами. При цьому діє правило: альтернатива ELSE вважається належною найближчому умовному оператору IF , який не має гілки ELSE.

Приклад 1. Розглянемо два УО:

IF <ЛВ1 > THEN IF <ЛВ2> THEN <A> ELSE <B> ;

IF <ЛВ1> THEN BEGIN IF <ЛВ2> THEN <A> END ELSE <B> ;

В першому випадку оператор А виконається , якщо обидва ЛВ наберуть значення TRUE , а оператор В виконається , якщо перший ЛВ набуде значення TRUE , а другий – значення FALSE .В другому випадку умови для виконання оператора А такі ж самі , а для виконання оператора В необхідно тільки , щоб перший ЛВ набув значення FALSE .Треба відзначити, що в першому випадку , якщо перший ЛВ набуде значення FALSE , взагалі жоден з операторів А та В не буде виконаний.

Приклад 2. Запрограмувати обчислення значення Y .

 

 

УО матиме вигляд:

IF X<A THEN Y:= EXP(X-A) ELSE

IF X>B THEN Y:= SQR(B*(X-A)) ELSE Y:= SQRT((B-A)/X) ;

Приклад 3. З трьох чисел A,B,C вибрати найбільше і присвоїти змінній N значення 1, якщо це A; 2, якщо це B , або 3, якщо найбільше число C.Скласти програму.

PROGRAM ABC;

{УМОВНИЙ ОПЕРАТОР }

VAR

A,B,C,MAX: REAL;

N : INTEGER;

BEGIN

WRITELN (‘ВВЕСТИ A,B,C’) ;

READ (A,B,C ) ;

WRITELN (‘A= ‘, A , ‘B= ‘ , B , ‘C= ‘ , C ) ;

IF A>B THEN BEGIN MAX:= A ; N:=1 END

ELSE BEGIN MAX:= B ; N:=2 END;

IF C>MAX THEN BEGIN MAX:= C; N:= 3 END;

WRITELN ( ‘MAX= ‘, MAX , ‘N= ‘, N )

END.


<== попередня лекція | наступна лекція ==>
Логічні вирази. | Оператор вибору CASE.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн