Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методтичка по контрольной Частина 1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
413.7 Кб
Скачать

2.6 Бітова арифметика

Бітова чи поразрядна арифметика введена в TURBO PASCAL для забезпечення можливості роботи з двійковими розрядами (бітами). Операції бітової арифметики застосовують тільки до цілих типів.

Перша група операцій - логічні операції not, and, or і xor.

Операція not є одномісною, вона змінює кожен біт цілого числа на зворотній.

Операції and, or і xor - двомістні, операнди цих операцій - цілі величини однакової довжини. Операції виконуються попарно над усіма двійковими розрядами операндів.

Друга група операцій - це операції зрушення вліво shl і зрушення вправо shr:

I shl N

I shr N.

Ці операції зрушують двійкову послідовність значення I вліво чи вправо на N двійкових розрядів. При цьому біти, що виходять за межі розрядної сітки, губляться, а двійкові розряди, що звільнилися, заповнюються нулями. При зрушенні вправо розряди з від’ємними значеннями, що звільнилися, заповнюються одиницями.

2.7 Завдання типів даних

2.7.1 Тип даних, які перелічуються

Тип, що перелічується, являє собою обмежену упорядковану послідовність скалярних констант, що складають даний тип. Значення кожної константи задається її ім'ям. Імена окремих констант відокремлюються один від одного комами, а вся сукупність констант, що складають даний тип, який перелічується, лягає в круглі дужки.

Програміст поєднує в одну групу відповідно до певної ознаки всю сукупність значень, що складають тип, який перелічується.

Наприклад, тип, що перелічується Rainbow(ВЕСЕЛКА) поєднує скалярні значення RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (ЧЕРВОНИЙ, ЖОВТОГАРЯЧИЙ, ЖОВТИЙ, ЗЕЛЕНИЙ, БЛАКИТНИЙ, СИНІЙ, ФІОЛЕТОВИЙ). Тип, що перелічується, Traffic_Light (СВІТЛОФОР) поєднує скалярні значення RED, YELLOW, GREEN (ЧЕРВОНИЙ, ЖОВТИЙ, ЗЕЛЕНИЙ).

Тип, що перелічується, описується в розділі опису типів, що починається зі службового слова type, наприклад:

type

Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

Кожне значення є константою свого типу і може належати тільки одному з типів, що перелічуються, заданих у програмі. Наприклад, тип що перелічується Traffic_Light не може бути визначений в одній програмі з типом Rainbow, тому що обидва типи містять однакові константи.

Опис змінних, приналежних до скалярних типів, що оголошені в розділі опису типів, виробляється за допомогою імен типів. Наприклад:

type Traffic_Light= (RED, YELLOW, GREEN);

var Section: Traffic_Light;

Це означає, що змінна Section може приймати значення RED, YELLOW чи GREEN.

Змінні типу, що перелічується, можуть бути описані в розділі опису змінних, наприклад:

var Section: (RED, YELLOW, GREEN);

При цьому імена типів відсутні, а змінні визначаються сукупністю значень, що складають даний тип, що перелічується.

До змінних типу, що перелічується, може бути застосовано оператор присвоювання:

Section:= YELLOW;

Упорядкована послідовність значень, що складають тип, що перелічується, автоматично нумерується, починаючи з нуля і далі через одиницю. Звідси випливає, що до переліка змінних і констант можуть бути застосовані операції відношень і стандартні функції Pred, Succ, Ord.

Змінні і константи типу, що перелічується, не можуть бути елементами списку вводу чи виводу.