- •Інформація та інформаційні процеси Поняття інформації.
- •Одиниці вимірювання інформації.
- •Подання інформації та типи комп'ютерів.
- •Способи пересилання інформації.
- •Будова комп'ютера
- •Пристрої введення-виведення інформації.
- •Процесор
- •Принципи функціонування комп'ютера Фізичні принципи
- •Програмний принцип
- •Поняття про середовища програмування
- •Загальна характеристика мови паскаль
- •Поняття інтегрованого середовища
- •Команда New
- •Команда Open
- •Основи алгоритмізації Алгоритми та їх властивості
- •Блок-схеми
- •Загальна характеристика Паскаль-програми
- •Структура Паскаль-програми
- •Елементи мови Паскаль
- •Прості типи даних
- •Стандартні типи даних
- •Дійсний тип
- •Логічний тип
- •Символьний тип
- •Конструйовані типи
- •Перелічуваний тип
- •Оператори надання значень змінним Оператор присвоєння
- •Уведення-виведення
- •Порядок виконання операцій
- •Складений оператор
- •Стиль запису програми
- •Структури керування
- •Структура послідовного виконання
- •Структура розгалуження
- •Умовний оператор
- •Оператор варіанта
- •Оператор безумовного переходу
- •Структура повторення
- •Цикл з параметром
- •Цикл з передумовою
- •Цикл з післяумовою
- •Ітераційні цикли
- •Обчислення суми знакозмінного ряду із заданою точністю
- •Процедури і функції
- •Процедури з параметрами. Параметри-значення
- •Одномірні масиви
- •Поняття масиву. Одномірний масив та його опис в програмі
- •Обчислення скалярного добутку двох векторів
- •Знаходження найбільшого (найменшого) значень серед елементів масиву
- •Обчислення суми та добутку елементів масиву
- •Перетворення масиву по заданому закону
- •Впорядкування одномірних масивів
- •Впорядкування шляхом вибору
- •Впорядкування обмінами
- •Впорядкування вставками
- •Зливання впорядкованих масивів
- •Двомірні масиви Поняття двомірного масиву та його опис у програмі
- •Ввід та вивід значень елементів двомірного масиву Ввід значень елементів двомірного масиву
- •Вивід значень елементів двомірного масиву a[m,n]
- •Рядковий тип (string)
- •Комбіновані типи Організація комбінованих типів у Паскалі
- •Оператор приєднання
- •Множинні типи Організація множин
- •Файлові типи Організація файлів
- •Підготовчі та завершальні операції
- •Операції уведення-виведення
- •Стандартні файли input і output
- •Модулі Модуль і його структура
- •Стандартні модулі
- •Наближене знаходження коренів рівнянь Дослідження рівняння. Відокремлення коренів
- •Метод поділу проміжку пополам
- •Метод хорд
- •Метод дотичних
- •Чисельне інтегрування
- •Квадратурні формули прямокутників
- •Загальні формули прямокутників
- •Квадратурна формула трапецій
- •Практичні оцінки точності квадратурних формул. Вибір кроку інтегрування
- •Список літератури
Прості типи даних
З кожною змінною програми пов'язаний один і тільки один тип. Він характеризує діапазон значень, яких може набувати ця змінна, а також операції, які можна з нею виконувати.
У мові Паскаль є чотири стандартні типи даних: цілий (integer), дійсний (real), логічний (boolean) і символьний (char).
Типи змінних описують у розділі описання змінних. Типи всіх змінних потрібно зазначати. Загальний вигляд розділу опису змінних такий:
var <список змінних>: <тип змінних>;
Сталі теж належать до деякого типу, проте їх описувати не потрібно, оскільки їхній тип легко визначає компілятор. Приклад описання даних:
var
lich, ind, NomSym: integer;
znach, MaxZnach: real;
EndStr: boolean;
sym, sent: char;
Змінним можна надавати значення за допомогою оператора присвоєння, що описано нижче, або процедурою read. У круглих дужках після імені процедури задають список змінних, значення яких вводять з клавіатури. Наприклад,
read(ind, sym)
означає введення значень змінних ind і sym. Аналогічно для виведення значень на екран монітора використовують процедуру write:
write(kilk, NomSym).
Результатом виконання цієї процедури буде виведення на екран значень змінних kilk і NomSym.
Вирази
З констант і змінних можна будувати вирази за правилами, що подібні до алгебраїчних. Тип виразу визначений типом змінних і операціями, які над ними виконують. Наприклад, після опису:
var
poch, krok, kilk: integer;
можна скласти вираз
poch+krok*kilk.
Цей вираз матиме тип integer, оскільки всі змінні є цілими й операції"+" і "*" теж дають цілий результат.
Крім арифметичних виразів, які одержують за допомогою арифметичних операцій над змінними, є ще логічні (бульові) вирази, які одержують шляхом логічних операцій або операцій порівняння (їх розглянуто нижче).
Стандартні типи даних
Цілий тип
Значеннями типу integer є елементи підмножини цілих чисел. Цю підмножину визначає конкретна реалізація мови. Для кожної реалізації є деяке число maxint - ціла стала, така, що ціле число N можна використати в програмі, якщо воно не виходить за межі діапазону -maxint<=N<=maxint.
Цілий тип у ТР наводять за допомогою п'яти стандартних типів (табл. 2.1).
Шістнадцяткові сталі в ТР записують зі знаком $ перед числом: $8В34, $312.
Спроба обчислити вираз, значення якого виходить за межі діапазону, призводить до помилки під час виконання програми.
Таблиця 2.1. Цілий тип у Турбо Паскалі
Тип |
Діапазон |
Ємність пам'яті, байт |
shortint |
-128.. 127 |
1 |
integer |
-32768..32767 |
2 |
longint |
-2 1 47483648. .2 1 47483647 |
4 |
Byte |
0..255 |
1 |
Word |
0.. 65535 |
2 |
Наступні операції, застосовані до цілих операндів (тобто змінних, сталих, над якими виконують операції), дають цілі значення: + , - , * , div (ділення з відкиданням остачі) і mod (взяття остачі від ділення).
Відповідно й вирази, які об'єднують цими знаками цілочислові змінні і сталі, даватимуть цілі значення. Приклад цілочислових виразів:
const
d=10;
var
a, b, c: integer;
Тоді можна будувати такі цілочислові вирази:
а+b;
a+b div с; b-100; b mod d+1;
Операції множення, ділення і взяття остачі рівноцінні щодо послідовності виконання і виконуються перед додаванням та відніманням. Як і в звичайних алгебраїчних позначеннях, послідовністю виконання операцій можна керувати за допомогою дужок: (3+6)*2=18.
У результаті цілочислового ділення одержують завжди ціле число, остачею ігнорують:
5 div 2 = 2, (-7) div 2 =-3, (-7) div (-2) = 3, 3 div 4 = 0,
тобто результат операції div дорівнює 0, якщо дільник більший від діленого.
Знаходять остачу так:
14 mod 5 = 4, 3 mod 5 = 3, (-14) mod 3 = 1.
Значення цілочислового виразу можна присвоїти змінній як цілого, так і дійсного типів. У другому випадку ціле значення виразу перетворюється до дійсного типу і присвоюється змінній дійсного типу. Це так зване неявне перетворення типу.
Якщо п - ціла змінна, то процедура read(n) приводить до введення числа із зовнішнього середовища, перетворення його до цілого значення і присвоєння цього значення змінній n. Якщо числам, що вводять, передують пропуски, то процедура read їх ігнорує.
Аналогічно процедура write(n:p), де п - змінна типу integer або вираз цілого типу, виводить ціле число на зовнішній пристрій (р - ширина поля). Ціле число буде розміщене в правій частині поля, а ліва доповниться пропусками. Якщо заданої ширини поля замало для розміщення числа, то поле автоматично розширюється. Параметр "ширина поля" можна і не зазначати, тоді буде деяка стандартна ширина поля для заданої системи, наприклад 10, тобто write(n) тотожне write(n:10).
Такі функції дають цілочисловий результат:
abs(n) - абсолютне значення числа п, де п - ціле;
sqr(n) - піднесення до квадрата числа п. Однак, якщо аргумент цих функцій - дійсне число, то результатом теж буде дійсне число.
Функції pred і succ мають завжди цілочислові аргументи і дають цілочислове значення:
pred(i) - дає попереднє ціле значення, що дорівнює (М);
succ(i) - дає наступне ціле значення, що дорівнює (і+1).
Функції sin, cos, arctan, In, exp і sqrt можна виконувати з цілочисловими аргументами, проте результат буде завжди дійсний.
Функції trunc і round можна виконувати тільки з дійсними аргументами, однак вони дають цілочисловий результат:
trunc(r) - якщо r - дійсне, то результат - його ціла частина, оскільки дробова відкидається: trunc(3.7)=3;
round(r) - якщо r - дійсне, то результат - заокруглене ціле; round(r) для r>0 означає trunc(r+0.5), а для r<0 - trunc(r-0.5).