Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lr2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
502 Кб
Скачать
☆
  • Прості типи даних

Прості типи даних названі простими, тому що вони не містять всередині себе ніяких інших типів. Крім того, прості типи даних забезпечують зберігання в пам'яті лише одного значення. До простих типів даних відносять такі:

• цілочисельні;

• дійсні;

• логічні;

• рядкові (символьні).

Всі ці типи за винятком речового, впорядковані, тобто в рамках даного типу значення розташовані не в довільному порядку, а в порядку зростання. Відповідно всі значення утворюють кінцеву послідовність (наприклад, немає числового типу даних, який дозволив би зберігати як завгодно велике число; "Великі" типи є, але "число" "нескінченність" вони зберігати не можуть).

  • Функції і процедури для порядкових типів даних

Існує декілька корисних функцій та процедур для роботи з порядковими типами даних:

Функція

Пояснення

Приклад

Pred()

функція повертає попереднє значення висловлення, зазначеного в якості єдиного аргументу

Pred(5) = 4,

Pred('E') = 'D', Pred(True) = False

Succ()

функція, обернена для Pred () - повертає наступне значення.

Succ(5) = 6,

Succ('E') = 'F',

Succ(False) = True.

Ord()

повертає порядковий номер значення в списку значень типу даних. З цією функцією ми вже зустрічалися при роботі з рядками - з її допомогою ми дізнавалися код символу.

Ord('A') = 65,

Ord(True) = 1.

Low()

повертає мінімальне значення зазначеного типу даних

Low(Byte) = 0,

Low(Boolean) = False,

Low(Char) = #0 (символ с кодом 0).

High()

повертає максимальне значення зазначеного типу даних.

High(Byte) = 255,

High(Boolean) = True,

High(Char) = #255 (в

русской это символ "я").

Dec()

зменшує значення на одиницю.

Dec(1)=0

Inc()

збільшує значення на одиницю.

Inc(1)=2

  • Цілочисельні типи

Як випливає з назви, цілочисельні типи дозволяють зберігати цілі числа. Серед них є типи, які зберігають числа зі знаком (тобто позитивні або негативні), а є й такі, які зберігають тільки позитивні. Чим більша кількість значень може містити тип, тим більше пам'яті він займає.

Беззнакові типи, тобто ті, які дозволяють зберігати лише позитивні числа і нуль:

Byte - значення 0 .. 255 - займає в пам'яті 1 байт.

Word - значення 0 .. 65535 - 2 байта.

LongWord - значення 0 .. 4294967295 - 4 байта.

Типи зі знаком (негативні числа записуються зі знаком мінус "-" попереду, невід'ємні можуть записуватися як зі знаком "+", так і без нього):

ShortInt - значення -128 .. 127 - 1 байт.

SmallInt - значення -32768 .. 32767 - 2 байта.

LongInt - значення -2147483648 .. 2147483647 - 4 байта.

Int64 - значення -2 ^ 53 .. 2 ^ 53-1 - 8 байт.

Існують також 2 загальних типу, які знаходять своє відображення в перерахованих вище. Рекомендується використовувати саме ці типи, т.к. компілятор "заточений" під них і створює більш швидкий і ефективний код:

Integer - значення -2147483648 .. 2147483647 - 4 байта.

Cardinal - значення 0 .. 4294967295 - 4 байта.

Цілі числа можуть бути представлені не тільки в десятковій, але і в шістнадцятковій системі числення, тобто у вигляді $ xxxxxxxx, де x - один із символів 0, 1, ..., 8, 9, A, B, ..., E, F. Приміром, всі кольори (точніше, їх коди) представляються саме у вигляді шістнадцятиричних чисел.

  • Логічні типи

Прикладом логічного типу даних є тип Boolean, що приймає значення True і False. У деяких мовах допускається використання чисел замість цих змінних: 1 - істина, 0 - відповідно брехня. Отже, логічний тип даних вказує, чи є щось або його немає, чи вірно щось чи невірно.

Крім Boolean існують такі логічні типи: ByteBool, WordBool і LongBool. Однак останні введені лише для обспеченія сумісності з іншими мовами і системами програмування. Використовувати рекомендується тільки тип Boolean. Логічне значення в пам'яті займає 1 байт.

Простий приклад оголошення логічної змінної і присвоєння їй значення "брехня":

var X: Boolean;

X: = False; {змінна X приймає значення "істина"}

  • Символьні типи

Символьні типи забезпечують збереження окремих символів. Основний тип даних - Char, який містить символи з кодами 0 .. 255. Існують ще типи AnsiChar і WideChar. Тип AnsiChar еквівалентний типу Char, тобто по суті це один і той же тип. Займає в пам'яті 1 байт. Для кодування символів використовується код ANSI (American National Standards Institute). Тип WideChar кодується міжнародним кодом Unicode і займає в пам'яті 2 байта. Таблиця Unicode включає символи практично всіх мов світу.

  • Дійсні типи

Дійсні типи даних використовуються для зберігання речових, тобто дійсних чисел. Відрізняються вони кордонами допустимих значень і точністю, тобто числом цифр після коми.

Real (він же Double) - значення від 5.0x10 ^ -324 до 1.7x10 ^ 308, точність - 15-16 цифр, займає в пам'яті 8 байт.

Real48 - значення від 2.9x10 ^ -39 до 1.7x10 ^ 38, точність - 11-12 цифр, 6 байт пам'яті.

Single - значення від 1.7x10 ^ -45 до 3.4x10 ^ 38, точність - 7-8 цифр, 4 байта.

Extended - від 3.6x10 ^ -4951 до 1.1x10 ^ 4932, точність - 19-20 цифр, 10 байт пам'яті.

Comp - від-2x10 ^ 63 +1 до 2x10 ^ 63-1, точність - 19-20 цифр, 8 байт.

Currency - від -922337203685477.5808 до 922337203685477.5807, точність - 19-20 цифр, в пам'яті займає 8 байт.

Як і у випадку з цілими числами, перед числами може стояти знак "+" або "-". Існує 2 форми запису дійсних чисел - з фіксованою точкою і з плаваючою. Запис з фіксованою точкою являє собою звичайну запис, в якому ціла і дробова частини відділені один від одного крапкою / комою.

Запис з плаваючою точкою на увазі запис порядку числа, який відокремлюється від самого числа буквою "E" (запис "e" теж припустима).

Наприклад, запис 1.5e2 означає число 1.5 з порядком +2, тобто це 1.5x10 ^ 2 = 150.

Типи Comp і Currency були введені спеціально для твору точних грошових розрахунків. При цьому, тип Comp, як видно із значень меж діапазону, зберігає цілі числа, тому при завданні чисел з дробовою частиною вони автоматично перетворюються найближчим ціле число.

  • Операції над логічними виразами

Для логічних виразів введені 4 операції. Робота з ними чимось схожа на роботу з числами. Розглянемо детальніше ці операції.

1. Заперечення: NOT ("ні")

Як зрозуміло з назви, дана операція змінює значення логічного виразу на протилежне: якщо була істина, то стане брехня, а якщо була брехня, то стане істина. Вираз, над яким буде зроблена операція, вказується або після слова NOT через пробіл, або в дужках.

Приклади:

n: = not m;

2. Логічне множення (кон'юнкція) - AND ("і")

На відміну від розглянутого вище NOT, оператор AND працює вже з двома (і більше) виразами. Логічне множення одно істини тоді і тільки тоді, коли всі вирази, пов'язані цим оператором, правдиві. Якщо хоча б один є брехнею, то весь результат буде також брехнею. Тому, власне, операція і називається множенням: якщо істину позначити за 1, а брехня - за 0, а числа перемножити, то при наявності хоча б одного нуля весь результат буде нульовим.

Приклади:

a: = True;

b: = False;

d: = a and b;

3. Логічне додавання (диз'юнкція) - OR ("або")

Як і AND, OR працює з кількома операндами. Назва "або" вже відповідає на запитання "що буде в підсумку": якщо хоча б один з операндів - істина, то все вираз буде істиною. Результат False буде тільки у випадку, якщо всі операнди будуть помилковими.

a: = False;

b: = True;

c: = a or b;

d: = not (b) or a;

Значення змінної c стане True, а змінній d - False.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]