Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Типи даних.






 

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

· константи та змінні;

· скалярні та структуровані;

· стандартні та дані користувача.

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

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

Стандартні величини реалізовані в трансляторі мови ПАСКАЛЬ, тому їх можна використовувати без додаткового оголошення. Крім того, користувач може оголошувати і використовувати власні величини, які називаються даними користувача.

Тип даних визначає множину значень, що може приймати змінна. Кожній змінній в програмі необхідно задати один, і тільки один тип даних. Хоча ПАСКАЛЬ може опрацьовувати достатньо складні типи даних, усі вони складаються з простих (неструктурованих) типів.

Вивчення типів даних розпочнемо зі скалярних стандартних типів даних. Їх в ПАСКАЛІ є чотири: integer (тип цілих чисел), real (тип дійсних чисел), char (літерний тип) та boolean (логічний тип).

У ТУРБО ПАСКАЛЬ існує п’ять вбудованих цілочисельних типів: Shortint (коротке ціле), Integer (ціле), Longint (довге ціле), Byte (довжиною в байт) і Word (довжиною в слово). Кожний тип визначає певну підмножину цілих чисел, як це показано таблиці 5.2.1.

 


Таблиця 5.2.1 Вбудовані цілочисельні типи

 

Тип Діапазон Формат
Shortint -128.. 127 8 бітів із знаком
Integer -32768.. 32767 16 бітів із знаком
Longint -2147483648.. 2147483647 32 біта зі знаком
Byte 0.. 255 8 бітів без знака
Word 0.. 65535 16 бітів без знака

 

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

Є п’ять видів дійсних типів: Real, Single, Double, Extended і Comp.

Дійсні типи розрізняються діапазоном і точністю пов’язаних з ними значень. Основним є перший тип, тому детально зупинимось саме на його вивченні.

Перш за все, дані дійсного типу можуть подаватись у двох формах: з фіксованою точкою та плаваючою точкою (експоненційній формі). Перша форма подання чисел більш звична. В ній явно задана ціла та дробова частина, які відокремлені точкою Так, числа 2.729, -89.084109, 134 подані у формі з фіксованою точкою.

Експоненційна форма подає число у так званому нормалізованому вигляді: мантиси і порядку. Мантиса лежить у діапазоні [1; 10) і складається з 12 символів: однієї цифри на цілу частину, одного символу на десяткову точку і десяти цифр на дробову частину. Якщо дробова частина містить менше цифр, то решта заповнюється нулями. Порядок складається з чотирьох символів і починається літерою Е, після якої йде знак порядку та дві цифри – його значення. Приклад запису чисел поданий в таблиці 5.2.2.

 

Таблиця 5.2.2. Запис дійсних чисел

 

Форма з фіксованою точкою Експоненційна форма
1.4529 1.4529000000Е+00
  3.9870000000Е+04
0.000029 2.9000000000Е-05

 

Дані булевого типу (іноді його називають логічним) можуть приймати значення, обумовлені стандартними ідентифікаторами true (істина) і false (неправда). При виконанні операцій відношення вважають справедливим співвідношенням: false< true. Змінна булевого типу займає в пам’яті 1 байт.

Значенням змінної літерного типу може бути один із символів, що входять у таблицю символів.. Символи впорядковані один щодо одного відповідно до їх значень в коді ASCII, наприклад: “А” < “У”. Значення кодів символів у ASCII змінюються від 0 до 255. Змінна символьного типу займає один байт пам’яті

 

5.2.3. Запис арифметичних виразів.

 

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

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

Будь-який операнд, тип якого є піддіапазоном порядкового типу, опрацьовується так, якби він був порядкового типу.

Якщо обидва операнди в операторах +, -, *, div або mod є операндами цілого типу, то тип результату є таким же, як спільний тип обох операндів.

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

Значення виразу x/y завжди є Real незалежно від типів операндів. Якщо y дорівнює 0, то виникає помилка.

Значення виразу i div j являє собою цілу частину від ділення i/j. Якщо j дорівнює 0, то виникає помилка. Наприклад, 25 div 4 = 6, 21 div 3 = 7.

Оператор mod повертає залишок, отриманий при діленні двох його операндів. Наприклад, 25 mod 4 = 1, 21 mod 3 = 0.

Знак результату оператора mod є тим же, що і знак змінної i. Якщо j дорівнює 0, то виникає помилка.

 

Таблиця 5.3.3 Бінарні арифметичні операції

 

Оператор Операція Тип операндів Тип результату
+ додавання цілий цілий
дійсний дійсний
віднімання цілий цілий
дійсний дійсний
* множення цілий цілий
дійсний дійсний
/ ділення цілий дійсний
дійсний дійсний
div цілочисельне ділення цілий цілий
mod залишок цілочисельного ділення цілий цілий

 

Таблиця 5.3.4 Унарні арифметичні операції

 

Оператор Операція Тип операндів Тип результату
+ збереження знака цілий цілий
    дійсний дійсний
- заперечення знака цілий цілий
    дійсний дійсний

 

Таблиця 5.3.5. Основні арифметичні функції.

 

Математичний запис Запис в ПАСКАЛІ Тип операнду Тип результату
1. sin x sin(x) real real
2. cos x cos(x) real real
3. ex exp(x) real real
4. ln x ln(x) real real
5. |x| abs(x) real real
  integer integer
6. x2 sqr(x) real real
  integer integer
7. sqrt(x) real real
8. Ab Exp (B*Ln(A)) real real
9. Ln (x) Ln(x) real real

 

Таблиця 5.3.6. Булевскі операції

 

Операція Дія Типи операндів Тип результату
not заперечення булевский булевский
and логічне “i” булевский булевский
or логічне “ілі” булевский булевский
xor логічне включає “ілі” булевский булевский

 

Результати цих операцій відповідають звичайній булевскій

Логіці. Наприклад, вираження a and b є вірним (приймає значення True) тільки в тому випадку, якщо обоє операнди а і b мають вірне значення (True).

Операції відносин

Типи операндів і результати операцій відносин приведені в таблиці 5.3.7.

 

Таблиця 5.3.7. Операції відносин

 

Операція Дія Типи операндов Типи результату
= дорівнює сумісний простий, множинний строковий булевский
< > не дорівнює сумісний простий, множинний строковий булевский
< менше ніж сумісний простий, множинний строковий булевский
> більше ніж сумісний простий, множинний строковий булевский
< = менше чи дорівнює сумісний простий, множинний строковий булевский
> = більше чи дорівнює сумісний простий, множинний строковий булевский
in елемент множини лівий операнд: будь-який перечислемий тип t; правий: множина сумісна з t булевский

 

Приклади запису арифметичних виразів. Виразів

 

Математичний запис Запис мовою ПАСКАЛЬ
(a+b)/(c*d)
exp(x+1)*(a-x)
sin2x3 sqr(sin(x*x*x))
sin((2*x)/(x+1))/cos(((2*x)/(x+1))
exp(1/3*ln(x+1))

Зауважимо, що можливі й інші вірні варіанти запису виразів.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.015 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал