
- •Лабораторна робота №2 Розгалужені структури ObjectPascal
- •1 Мета роботи
- •2 Основні теоретичні відомості
- •2.1 Оператор безумовного переходу goto
- •2.2 Логічні вирази
- •Varp,q: Boolean;
- •2.2.1 Операції відношення
- •2.2.2 Бупеві операції
- •2.2.3 Лорозрядні (побітові) булеві й сдвигові операції
- •2.2.4 Пріоритети й асоціативність операцій
- •2.3 Умовний оператор
- •2. 4 Оператор вибору варіанта
- •2.5 Приклади розв’язання задач із операторами ifі case
- •ShowMessage («Повідомлення»);
- •Xналежить до
- •Begin Readln
- •3.Контрольні запитання
- •4.Лабораторне завдання
2.2.3 Лорозрядні (побітові) булеві й сдвигові операції
Логічні порозрядні операції оперують з двійковими представленнями цілих чисел, тобто працюють із двійковими розрядами операндів (табл.2.5):
Таблиця 2.5 - Лорозрядні (побітові) булеві й сдвигові операції
Позначення операції |
Операція |
Тип операндів |
Тип результату |
Приклад |
not |
Порозрядні операції “НІ” |
Цілий |
Цілий |
not X |
and |
Порозрядне ИГ>9 |
Цілий |
Цілий |
х and у |
or |
Порозрядне “АБО” |
Цілий |
Цілий |
х or у |
хог |
Порозрядне виняткове “АБО” |
Цілий |
Цілий |
х хог у |
shl |
Порозрядний зсув вліво |
Цілий |
Цілий |
х shl2 |
shr |
Порозрядний зсув вправо |
Цілий |
Цілий |
у shlі |
Наприклад, X 001101
Y100001
X or Y101101
X and Y 000001
При порозряднихопераціях чинні є такі правила. Результат, що визначає not, має той самий тин, що й її операнд. Результат операцій and, or, хог мас цілий найменший тип, що включає всі значення типів обох операндів. Вирази х shlу і х shrу зміщують значення х вліво і вправо на у бітів. Це еквівалентне помноженню * на 2у. результат має той самий тип що і х.
Розглянемо приклади. Якщо операнди А і В будуть мати тип Byte, то виконання операцій при А=11, У=2 дає результати, подані в таблиці 2.6.
Таблиця 2.6 Десяткові та двійкові значення логічних операцій
Операції |
Десяткові значення |
Двійкові значення |
ОперандА |
11 |
00001011 |
ОперандВ |
2 |
00000010 |
Not А |
244 |
11110100 |
A and В |
2 |
00000010 |
A or В |
11 |
00001011 |
А хог В |
9 |
00001011 |
A shl В |
44 |
00101100 |
A shr В |
2 |
00000010 |
Результати логічних операцій, що використовують до операндів цілого типу (порозрядно 1,0) і логічного типів (true, false), подано в таблиці 2.7.
Таблиця 2.7 - Результати операцій над даними цілого та логічного типу
Операнд 1 |
Операнд 2 |
NOT |
AND |
OR |
XOR |
1, true |
- |
false |
— |
— |
— |
0, false |
- |
true |
— |
— |
» |
0, false |
0, false |
true |
0, false |
0, false |
0, false |
0, false |
1, true |
true |
0, false |
1, true |
1, true |
1, true |
0, false |
false |
0, false |
1, true |
1, true |
1 ,true |
1 ,true |
false |
1, true |
1, true |
0, false |
На рисунку 2.1 зображено логічні блоки у відповідності з міжнародними стандартами.
а→→→ →a+bсхема «АБО», що реалізує операцію логічного додавання
1
в→
а→ →a*bсхема «І», що реалізує операцію логічного множення
&
в→
а→ →aсхема «НІ», що реалізує операцію інверсії
1
З логічних блоків складаються складні логічні пристрої. Перед побудовою логічних схем пристроїв логічну функцію мінімізують, тобто приводять до більш простого виду, користуючись співвідношеннями алгебри логіки (булевої алгебри).
Для логічних схем “АБО”, “І” та “НІ” існують технічні схеми, що реалізовують їх на реле, півпровідникових або ферритових елементів. У сучасних комп'ютерів звичайно використовують системи інтегральних елементів, у яких з метою більшої уніфікації в якості базової логічної схеми застосовують одну зі схем: “І”—”НІ” (штрих Шеффера), “АБО”-”НІ” (стрілка Пирса) або “І”-”АБО”-”НІ.