52841.fb2 Я готуюсь до курсу інформатики. Алгоритмізація та програмування - читать онлайн бесплатно полную версию книги . Страница 9

Я готуюсь до курсу інформатики. Алгоритмізація та програмування - читать онлайн бесплатно полную версию книги . Страница 9

УРОК 8. Величини. Типи даних

Мета уроку: дати поняття величини та типів даних, визначити стандартні типи даних, їх опис та набір функцій і операцій .

Теоретичний матеріал

У своїй роботі програміст завжди стикається з таким поняттям, як величина. Що ж таке величина? З точки зору програмування величини — це дані, що обробляються програмами.

Мова Паскаль інтерпретує дані, як константи або змінні. Як перші, так і другі визначаються ідентифікаторами (іменами), за допомогою яких можна звертатися для одержання відповідних значень.

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

Для визначення констант служить зарезервоване слово const.

Формат опису.

Const < ідентифікатор > = < значення константи >;

Приклад:

Const Max=1000;

Vxod=’сегмент 5’;

Є ряд констант, до значень яких можна звертатися без попереднього опису. Наприклад:

Ідентифікатор

Тип

Значення

Опис

True

Boolen

True

Істина

False

Boolen

False

Хибність

Maxint

integer

32767

Максимальне ціле

Змінні, на відміну від констант, можуть змінювати свої значення в процесі виконання програми. Кожна змінна і константа належать до визначеного типу даних. Тип констант визначається компілятором автоматично. Тип змінних обов’язково вказується перед тим, як їх використати. Для опису змінних призначено зарезервоване слово var.

Формат опису:

Var <ідентифікатор> : <тип даних>;

Приклад:

Var Sum1, Sum2 : real;

Тип даних - це діапазон значень, що можуть приймати об’єкти програми, і сукупність операцій, які дозволяється виконувати над цими значеннями. Усі типи даних у мові програмування Паскаль розділяються на дві групи: скалярні (прості), структуровані (складені).

Скалярні типи у свою чергу підрозділяються на стандартні та типи користувача. Стандартні типи пропонуються користувачам розроблю-вачами системи Turbo Pascal. Типи користувача - розроблюються самим програмістом.

До стандартних скалярних типів відносяться наступні типи: цілі, дійсні, літерні, булівські.

Величини цілих типів можуть бути подані як у десятковій, так і в шістнадцятковій системах. Якщо число представлене в шістнадцятковій системі, перед ним без проміжку записується знак $. Діапазон зміни шістнадцяткових чисел від $0000 до $FFFF.

Цілі типи даних являють собою значення, що можуть використовуватися в арифметичних виразах. Стандартні цілі типи зведені в таблицю:

Тип

Діапазон

Необхідна пам’ять (байт)

Byte

0...255

1

Shortint

-128... 127

1

Integer

-32768... 32767

2

Word

0... 65535

2

Longint

-2147483648 ... 2147483647

4

Дійсні типи даних являють собою дійсні значення, що використовуються в арифметичних виразах і займають у пам’яті від 4 до 10 байт. У програмі мовою Паскаль допускається представлення дійсних значень у вигляді як із плаваючою, так і з фіксованою точкою.

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

Якщо десяткова точка відсутня, число вважається цілим. Перед числом може знаходитися знак «+» або «-». Якщо знак відсутній, за замовчуванням число вважається додатнім.

Дійсні десяткові числа у форматі з плаваючою точкою подаються в наступному (експоненціальному) вигляді:

mЕ+р,

де m - мантиса (ціле або дробове число з фіксованою десятковою точкою), Е - означає «десять у степені», р - порядок (ціле число).

Взагалі мантиса має бути нормалізованою, тобто представленою у вигляді числа, що належить діапазону від 0 до 1 (це означає, що точка завжди знаходиться перед першою цифрою числа). Однак можна записати мантису у вигляді будь-якого дробового числа з фіксованою точкою. Нормалізація при цьому виконується системою автоматично. Приклад:

Число v форматі з плаваючою крапкою

Значення числа

0.4500Е+02

0.45*102 = 45

--2.600Е05

--2.6*105 = -260000

+0.45670Е-02

0.4567*10-2 = 0.004567

Стандартний найчастіше використовуваний дійсний тип даних наведений у таблиці1:

Тип

Діапазон значень

Мантиса (кількість значущих цифр)

Необхідна пам’ять

Real

2.9*10Е-39.. 1.7*10Е38

11-12

6

Літерний (символьний) тип може набувати значень кодової таблиці комп’ютера. Символьній змінній в пам’яті виділяється один байт, тому вона можна зберегти тільки один символ ASCII таблиці.

Булівський тип подається двома значеннями: True (істина) або False (хибність). Цей тип застосовується в логічних виразах і виразах відношення.

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

Змінні і константи всіх типів використовуються у виразах.

Вираз задає порядок виконання дій над елементами даних і складається з операндів (констант, змінних, звертань до функцій), круглих дужок і знаків операцій. Круглі дужки ставляться, як і в математиці, для керування порядком виконання операцій. Якщо дужки відсутні, операції виконуються в залежності від їх пріоритетів, про що буде сказано далі.

У мові Паскаль є такі операції: арифметичні; відношення (порівняння); логічні. Операції можуть бути унарними та бінарними.

У першому випадку операція відноситься до одного операнду і завжди записується перед ним, у другому операція виражає відношення між двома операндами і записується між ними.

Арифметичні операції задають арифметичні дії у виразах над значеннями операндів цілих та дійсних типів.

Найчастіше використовуються арифметичні операції, що подані в наступній таблиці:

Операція

Дія

Тип операндів

Тип результату

Бінарні

+

Додавання

Цілий

Цілий

Дійсний

Дійсний

-

Віднімання

Цілий

Цілий

Дійсний

Дійсний

* * *

Множення

Цілий

Цілий

Дійсний

Дійсний

/

Ділення

Цілий

Дійсний

Дійсний

Дійсний

Div

Ділення націло

Цілий

Цілий

Mod

Залишок від ділення

Цілий

Цілий

Унарні

+

Збереження знака

Цілий

Цілий

Дійсний

Дійсний

-

Заперечення знака

Цілий

Цілий

Дійсний

Дійсний

Операції відношення виконують порівняння двох операндів і визначають значення виразу є істинним або хибним. Результат завжди має булівський тип одного з двох значень: True (істина) або False (хибність).

Операція

Назва

Вираз

Результат

=

Дорівнює

А=В

True, якщо А дорівнює В

<>

Не дорівнює

А<>В

True, якщо А не дорівнює В

>

Більше

А>В

True, якщо А більше В

<

Менше

А<В

True, якщо А менше В

>=

Більше або дорівнює

А>=В

True, якщо А більше або дорівнює В

<=

Менше або дорівнює

А<=В

True, якщо А менше або дорівнює В

Результатом виконання логічного (булівського) виразу є логічнезначення True або False. Список логічних операцій наведений у наступнійтаблиці:

Операція

Дія

Вираз

А

В

Результат

not

Логічне

заперечення

not A

True

False

False

True

and

Логічне

«І»

A and В

True

True

True

True

False

False

False

True

False

False

False

False

or

Логічне

«АБО»

A or В

True

True

True

True

False

True

False

True

True

False

False

False

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

Операція

Приоритет

Вид операції

Not, унарні«—» і «+»

перший (вищий)

Унарна операція

*, /, div, mod, and

другий

Операції типу множення

+, -, or

третій

Операції типу додавання

=, <>, <, >, <=, >=

четвертий (нижчий)

Операції відношення

Арифметичні вирази у якості операндів можуть містити імена функцій. З поняттям функції ми будемо знайомитись пізніше в курсі програмування, але стандартні функції (cos, sin, х2та інші) вам знайомі з курсу математики, і їх використання у курсі інформатики відрізняється тільки правилами запису (синтаксису). Так, на відміну від математики, в програмуванні аргумент функції обов’язково береться в круглі дужки. Нижче поданий список цих функцій, де літерами X та І позначені відповідно: X - цілі та дійсні типи, І - тільки цілі.

Abs(X) — обчислення абсолютного значення (модулю) X. Тип результату збігається з типом параметра.

АrсТап(Х) — обчислення кута, тангенс якого дорівнює X, значення кута подано в радіанах і може знаходитися в діапазоні від --π/2 до π/2. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/ π. Результат має дійсний тип.

Cos(X) — обчислення косинуса X, параметр задає значення кута в радіанах. Для перетворення значення кута з радіанної міри в градусну слід значення кута помножити на число 180/ π. Результат має дійсний тип.

Ехр(х) — обчислення значення експоненти аргументу (Ех). Результат завжди має дійсний тип.

Frac(X) — знаходження дробової частини X. Результат має дійсний тип.

Int(Х) — знаходження цілої частини X (дробова частина відкидається). Результат має дійсний тип.

Ln(x) — обчислюється натуральний логарифм аргументу. Результат має дійсний тип. За допомогою функцій Ехр та Lп можна обчислити довільний степінь числа наступним чином: ab=Exp(b*Ln(a)).

Pi — повертає значення числа π (3.1415926).

Sin(X) — обчислення синуса X. Параметр задає значення кута в радіанах. Для перетворення значення кута з радіанної міри в градусну слід значення кута помножити на число 180/ π. Результат має дійсний тип.

Sqr(X) — піднесення до квадрату значеннях. Тип результату збігається з типом параметра.

Sqrt(X) — обчислення квадратного кореня зХ. Тип результату дійсний.

Random — генерує значення випадкового числа з діапазону від 0 до 0.99. Тип результату дійсний.

Random(P) — генерує значення випадкового числа з діапазону від 0 до Р-1. Тип результату цілий. Щоб випадкові числа були «більш випадковими», необхідно періодично змінювати базу генерації. Для цього використовується процедура Randomize, що дозволяє при кожному новому запуску програми отримувати різні випадкові числа.

Домашнє завдання:

• Прочитати сторінки 26 - 31,39 - 42 запропонованого підручника;

• Вивчити означення, що прочитані на лекції;

• 3 підручника розглянути практичні завдання на стор. 38 - 39.