Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Оператор IF THEN може використовуватися в одній з наступних форм:
IF __expression THEN __statement; __statement; ELSIF __expression __statement; __statement; ELSE __statement; __statement; END IF; | IF __expression THEN __statement; __statement; ELSE __statement; __statement; END IF; | IF __expression THEN __statement; __statement; END IF; |
Даний оператор, у загальному випадку, дозволяє послідовно оцінити істинність декількох логічних виразів і відповідно до отриманих результатів виконати ті або інші дії.
Розглянемо використання оператора IF THEN на прикладі опису пріоритетного шифратора, заданого в модулі TRUTH_TABLE таблицею істинності.
SUBDESIGN IF_THEN
(
high, middle, low:INPUT;
highest_level[1..0]:OUTPUT;
)
BEGIN
IF high == 1
THEN
highest_level[]=3;
ELSIF middle == 1
THEN
highest_level[]=2;
ELSIF low == 1
THEN
highest_level[]=1;
ELSE
highest_level[]=0;
END IF;
END;
Відзначимо, що операторові IF THEN внутрішньо властива пріоритетність. Так, вхід high, який перевіряється першим, має вищий пріоритет: якщо high=1, то при будь-яких значеннях сигналів на входах middle і low (їхні значення навіть не перевіряються) групі виходів highest_level буде присвоєне двійкове число В" 11". Вхід middle має більше низький пріоритет, а вхід low - нижчий.
Складений оператор IF THEN - оператор, що включає вираз ELSIF, компілятор інтерпретує в такий спосіб:
Вихідний текст IF high == 1 THEN highest_level[]=3; ELSIF middle == 1 THEN highest_level[]=2; ELSIF low == 1 THEN highest_level[]=1; ELSE highest_level[]=0; END IF; END; | Інтерпретація компілятора IF high THEN highest_level[]=3; END IF; IF!high & middle THEN highest_level[]=2; END IF; IF!high &!middle & low THEN highest_level[]=1; END IF; IF!high &!middle &!low THEN highest_level[]=0; END IF; |
Дата публикования: 2014-11-29; Прочитано: 207 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!