
- •1 Завдання контрольної роботи
- •1.1 Завдання 1. Робота з елементами одномірного масиву
- •1.2 Завдання 2. Робота з цілочисельною прямокутною матрицею
- •2 Основні теоретичні відомості алгоритмічної мови паскаль
- •2.1 Склад мови
- •2.2 Основні поняття алгоритмічної мови Pascal
- •2.2.1 Основні символи
- •2.2.2 Елементарні конструкції
- •2.2.3 Концепція типу для даних
- •2.2.4 Стандартні типи даних
- •2.2.5 Змінні. Ініціалізація змінних
- •2.2.6 Вирази
- •2.3 Структура програми
- •2.4 Основні оператори
- •2.4.1 Оператор присвоювання
- •2.4.2 Оператори введення і виведення
- •2.4.3 Оператор переходу
- •2.4.4 Умовний оператор
- •2.4.5 Організація циклу
- •2.4.5.1 Безпосередня організація циклу
- •2.4.5.2 Цикл із параметром
- •2.4.5.3 Цикл із передумовою
- •2.4.5.4 Цикл із післяумовою
- •2.4.6 Оператори завершення циклу
- •2.4.7 Оператор варіанту
- •2.4.8 Оператори виходу
- •2.5 Вбудовані функції
- •2.6 Бітова арифметика
- •2.7 Завдання типів даних
- •2.7.1 Тип даних, які перелічуються
- •2.7.2 Інтервальний тип даних
- •2.7.3 Масиви
- •2.7.4 Рядки
- •2.8 Обробляння рядків
- •2.9 Процедури і функції
- •2.10 Модулі
- •2.11 Множини
- •2.12 Записи
- •2.13 Файли
- •2.13.1 Текстові файли
- •2.13.2 Компонентні файли
- •2.13.3 Безтипові файли
- •2.13.4 Послідовний і прямий доступ
- •2.14 Показники
- •3 Варіанти завдань на контрольну роботу
- •3.1 Завдання №1 на контрольну роботу
- •3.2 Завдання №2 на контрольну роботу
- •Література
2.2.4 Стандартні типи даних
До стандартного відносяться цілий, дійсний, логічний, символьний і адресний типи (таблиця 2.1).
Цілі типи визначають константи, змінні і функції, значення яких реалізуються множиною цілих чисел, припустимих у даної ЕОМ.
Таблиця 2.1 – Типи цілих даних
Тип |
Діапазон значень |
Необхідна пам'ять |
Shortint |
-128 .. 127 |
1 байт |
Integer |
-32768 .. 32767 |
2 байти |
Longint |
-2147483648 .. 2147483647 |
4 байти |
Byte |
0 .. 255 |
1 байт |
Word |
0 .. 65535 |
2 байти |
Над цілими операндами можна виконувати наступні арифметичні операції: додавання, різниця, множення, ділення, одержання остачі від ділення. Знаки цих операцій: + - * div mod
Результат арифметичної операції над цілими операндами є величина цілого типу. Результат виконання операції ділення цілих величин є ціла частина частки. Результат виконання операції одержання остачі від ділення - залишок від розподілу цілих. Наприклад:
17 div 2 = 8, 3 div 5 = 0.17 mod 2 = 1, 3 mod 5 = 3.
Операції відношення, застосовані до цілих операндів, дають результат логічного типу TRUE чи FALSE ( істина чи неправда ).
У мові ПАСКАЛЬ маються наступні операції відношень: рівність =, нерівність <>, більше чи дорівнює >=, менше чи дорівнює <=, більше >, менше < .
До аргументів цілого типу застосовують наступні стандартні (вбудовані) функції, результат виконання яких має цілий тип:
Abs(X), Sqr(X), Succ(X), Pred(X),
і які визначають відповідно абсолютне значення Х, Х в квадраті, Х+1, Х-1.
Наступна група стандартних функцій для аргументу цілого типу дає дійсний результат:
Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X).
Ці функції обчислюють синус, косинус і арктангенс кута, заданого в радіанах, логарифм натуральний, експоненту та корінь квадратний відповідно.
Результат виконання функції перевірки цілої величини на непарність Odd(X) має значення істини, якщо аргумент непарний, і значення неправда, якщо аргумент парний:
X=5 Odd(X)=TRUE , X=4 Odd(X)=FALSE.
Для швидкої роботи з цілими числами визначені процедури:
Inc(X) X:=X+1
Inc(X,N) X:=X+N
Dec(X) X:=X-1
Dec(X,N) X:=X-N
Дійсні типи визначають ті дані, що реалізуються підмножиною дійсних чисел, припустимих у даної ЕОМ (таблиця 2.2).
Таблиця 2.2 – Типи дійсних даних
Тип |
Діапазон значень |
Кількість цифр мантиси |
Необхідна пам'ять (байт) |
Real |
2.9e-39 .. 1.7e+38 |
11 |
6 |
Single |
1.5e-45 .. 3.4e+38 |
7 |
4 |
Double |
5.0e-324 .. 1.7e+308 |
15 |
8 |
Extended |
3.4e-4932 .. 1.1e+4932 |
19 |
10 |
Comp |
-9.2e+18 .. 9.2e+18 |
19 |
8 |
Тип дійсний у стандартному ПАСКАЛІ визначений і математичним співпроцесором не підтримується.
Інші дійсні типи визначені стандартом IEEE 457 і реалізовані на всіх сучасних комп'ютерах.
Для їхнього використання при наявності співпроцесора чи при роботі на ЕОМ типу 80486 необхідно компілювати програму з ключем {$ N+}, а при відсутності співпроцесора - із ключами {$N-,E+}.
Тип Comp хоча і відноситься до дійсних типів, але зберігає тільки довгі цілі значення.
Над дійсними операндами можна виконувати наступні арифметичні операції, що дають дійсний результат:
додавання + , різниця - , множення * , ділення / .
До величин дійсного типу застосовують всі операції відношень, що дають булевський результат.
Один з операндів, що бере участь у цих операціях, може бути цілим.
До дійсних аргументів застосовні функції, що дають дійсний результат:
Abs(X), Sqr(X), Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X), Frac(X), Int(X), Pi.
Функція Frac(X) повертає дробову частину X, функція Int(X) - цілу частину X.
Безаргументна функція Pi повертає значення числа Пі дійсного типу.
До аргументів дійсного типу застосовують також функції Trunc(X) і Round(X), що дають цілий результат. Перша з них виділяє цілу частину дійсного аргументу шляхом відсікання дробової частини, друга округляє аргумент до найближчого цілого.
Логічний тип (Boolean) визначає ті дані, що можуть приймати логічні значення TRUE і FALSE.
До булевських операндів застосовують наступні логічні операції:
not and or xor.
Логічний тип визначений таким чином, що FALSE < TRUE. Це дозволяє застосовувати до булевских операндів всі операції відношень.
У ТУРБО ПАСКАЛІ введені ще деякі різновиди логічного типу: ByteBool, WordBool і LongBool, що займають у пам'яті ЕОМ один, два і чотири байти відповідно.
Символьний тип (Char) визначає упорядковану сукупність символів, припустимих у даної ЕОМ. Значення символьної змінної чи константи - це один символ із припустимого набору.
Символьна константа може записуватися в тексті програми трьома способами:
як один символ, укладений в апострофи, наприклад: 'А' 'а' 'Ю' 'ю';
за допомогою конструкції виду #K, де K - код відповідного символу, при цьому значення K повинне знаходитися в межах 0..255;
за допомогою конструкції виду ^C, де C - код відповідного керуючого символу, при цьому значення C повинне бути на 64 більше коду керуючого символу.
До величин символьного типу застосовують всі операції відношень.
Для величин символьного типу визначені дві функції перетворення
Ord(C) Chr(K).
Перша функція визначає порядковий номер символу С в наборі символів, друга визначає по порядковому номері К символ, що стоїть на К-ому місці в наборі символів. Порядковий номер має цілий тип.
До аргументів символьного типу застосовуються функції, що визначають попередній і наступний символи:
Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' .
При відсутності попереднього чи наступного символів значення відповідних функцій не визначено.
Для літер з інтервалу 'а'..'z' застосовна функція UpCase(C), що переводить ці літери у верхній регістр 'A'..'Z'.
Адресний тип (Pointer) визначає змінні, котрі можуть містити значення адресу чи даних фрагментів програми. Для збереження адреси потрібні два слова (4 байти), одне з них визначає сегмент, друге - зсув.
Робота з адресними змінними (покажчиками) буде розглянута пізніше, зараз відзначимо, що для одержання значення адреси якої-небудь змінної введена унарна операція @.
Тип констант у мові ПАСКАЛЬ визначається по їхньому виду: константи цілого типу - це цілі числа, що не містять десяткової крапки, константи дійсного типу - дійсні числа, логічні константи - логічні значення TRUE і FALSE, символьні константи - або рядка довжиною в один символ, або конструкції виду #K чи ^K.
Мова ПАСКАЛЬ допускає використовування синонімів для позначення констант, у цьому випадку текст програми містить розділ опису констант, наприклад: {}