|
Case c of
#0..#31: writeln(‘командний’);
‘A’..’Z’,’a’..’z’: writeln(‘англійська буква’);
‘0’..’9’: writeln(‘цифра’);
#128..#255: writeln(‘альтернативна частина таблиці’);
End
else writeln (розділовий знак‘’)
until c=#27;
End.
ТЕМА: Система типів мови Pascal.
Мову програмуванняTurbo Pascal відносять до строго типізованих мов. Це означає, що всі елементи програми повинні бути оголошені явним чином. Явне оголошення типу визначає діапазон допустимих значень та допустимими операціями.
Компілятор мови здійснює перевірку типів у всіх типів даних.
Мова програмування має розгалужену систему типів. Частина з них є скалярними, інші є структурними або складеними.
ТИПИМОВИПРОГРАМУВАННЯTURBOPASCAL:
1. Скалярні / прості / стандартнітипиданих:
а) Ціліабоцілочисельнітипи
В Pascal є 5 типів цілих чисел. Поділ на ці типи пов’язаний із діапазоном допустимих значень і розміром комірок пам’яті.
Тип | Діапазон | розмір в байтах |
Byte | 0..255 | |
Shoting | -128..127 | |
Integer | -32768..32767 | |
Word | 0..65535 | |
longint | -2147483648..2147483647 |
Над цілими числами виконуються 4 операції:
ціле + ціле = ціле ціле * ціле = ціле
ціле – ціле = ціле ціле / ціле = дійсне
Також використовуються 2 операції:
Div, mod – результат цілий.
Наприклад
5 div 2 =2, 5 mod 2 =1.
Необхідно відзначити, що, при виході значень даних цілого типу за вказаний діапазон, помилки виконання програми не виникає, але результат при цьому буде неправильний.
Наприклад
при виконанні додавання чисел 32767+1 отримаємо результат -
-32768.
б) Дійснітипи
B Pascal є 5 типів дійсних чисел. Поділ на ці типи визначається розміром у пам’яті, а отже, діапазоном допустимих значень.
Тип | Діапазон | розмір в байтах |
Real | 2.9*Е-39..1.7*Е38 | |
Single | 1.5*Е-45..3.4*Е38 | |
Double | 5.0*Е-324..1.7*Е308 | |
Extended | 3.4*Е-4932..1.1*Е4932 | |
Сomp | -2*Е63..2*Е63-1 |
Над дійсними числами використовують +, -, *, /, операції порівняння.
В програмі дійсні числа можуть задаватися у двох формах: з фіксованою десятковою крапкою та з плаваючою
У випадку фіксованої крапки запис числа має чотири частини.
[знак] ціле. ціле.
Плаваюча крапка.
[знак] мантиса Е [знак] порядок.
Мантиса є фактично записом числа з фіксованою крапкою без знака. Положення десяткової крапки визначається порядком в записі числа.
По замовчуванню мантиса числа вибирається в межах 1<=мант <10.
в) Логічнітипи
BOOLEAN (булевий тип).
Цей тип має всього два значення:
FALSE (хибна), TRUE (істина).
В пам’яті логічний тип займає 1 байт.
False<True.
Над логічними величинами можна виконувати логічні операції.
X | y | or | and | xor |
True | True | True | True | False |
False | False | False | False | False |
True | False | True | False | True |
False | True | True | False | True |
г) Символьнийтип
CHAR.
Pascal використовує всі символи стандарту ASCII (American Standard Code for Information Interchange).
Всього є 256 символів, що кодуються байтовими значеннями від 0 до 255.
Перші 128 символів, що відповідають від 0 до 127 є так званою основною частиною таблиці ASCII.
Вона містить 32 командних символи від 0 до 31. Ці символи не мають зображення і використовуються для передачі команд в системі ЕОМ. Вони вводяться за допомогою комбінацій клавіш.
Входять: 52 англійські букви, 10 арабських цифр і 34 символи розділових знаків.
Останні 128 символи утворюють альтернативну частину таблиці, яка містить символи національних алфавітів та псевдографіки.
Символи в Pascal можуть записуватися або явно, за допомогою пари апострофів (‘a’, ‘G’), або через його код (#64 (A)). Код символа може задаватися в 10-вій і в 16-вій формах.
Над символами можуть виконуватися операції порівняння. Символ вважається більшим за інший, якщо його код більший.
Над символьними типами виконуються операції приведення символів, що дозволяють по коду визначити символ, або навпаки.
CHR (<код>) – визначення символа за кодом;
ORD (<символ>) – визначення коду символа.
2. Скалярнітипикористувача:
а) Перелічувальнийтип
Pascal дозволяє будувати скалярні типи даних довільної природи шляхом оголошення повної сукупності його елементів. При цьому перелічення значень здійснюється через розділював кому і обмежується дужками, значення задаються у вигляді певних зображень, згідно з правилом побудови ідентифікаторів мови.
Наприклад
Type rainbow = (read, orange, yellow, green, blue, dark blue, magenta);
Порядок перелічення значень і визначає порядок зростання, тобто лівіші значення менші ніж правіші.
Величини перелічувального типу зберігаються однобайтових значень, які відповідають порядку перечислювання їх. Першому значенню відповідає 0.
Кількість елементів перелічувального типу не перевищує 256.
При обробці даних перелічувального типу можна користуватися як значеннями, що задані при оголошені типу, так і відповідними байтовими числами. Другий випадок використовується для реалізації вводу та виводу даних цього типу. Це пов’язано з тим, що стандартні процедури вводу-виводу не допускають використання в якості параметрів вводу-виводу величини перелічувального типу. Це можна здійснити за допомогою механізму перетворення типів даних. А саме: вводиться байтове числове значення, що відповідає деякому із перелічених значень і через ідентифікатори перелічувального типу здійснює присвоєння цього значення.
Наприклад
Var x:rainbow; i:byte;
…
Дата добавления: 2015-09-11; просмотров: 92 | Поможем написать вашу работу | Нарушение авторских прав |