Головна > Типи даних, прості типи даних в Turbo Pacal

Типи даних

Поняття типу даних в Турбо Паскаль

Для обробки ЕОМ дані представляються у вигляді величин та їх сукупностей. З поняттям величини пов'язані така важлива характеристика, як її тип.

Тип визначає:

  • можливі значення змінних, констант, функцій, виразів, що належать до даного типу;
  • внутрішню форму представлення даних в ЕОМ;
  • операції та функції, що можуть виконуватися відносно до величин, котрі належать до даного типу.

У мові Паскаль тип величини визначають заздалегідь. Всі змінні, що використовуються в програмі, повинні бути оголошені в розділі опису разом із зазначенням їх типу. Обов'язковий опис типу призводить до надмірності в тексті програми, але така надмірність є важливим допоміжним засобом розробки програм і розглядається як необхідна властивість сучасних алгоритмічних мов високого рівня.

Ієрархія типів у мові Паскаль наступна:

  • Прості
    • Порядкові
      • Цілі
      • Логічні
      • Символьні
      • Перераховувані
      • Інтервальні
    • Дійсні
  • Структуровані
    • Масиви
    • Рядки
    • Множини
    • Записи
    • Файли
  • Покажчики

Прості типи даних

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

Ідентифікатор Довжина (байт) Діапазон значень Операції
Цілі типи
integer 2 -32768..32767 +, -, /, *, Div, Mod, >=, <=, =, <>, <, >
byte 1 0..255
word 2 0..65535
shortint 1 -128..127
longint 4 -2147483648..2147483647
Дійсні типи
real 6 2,9x10-39 - 1,7x1038 +, -, /, *, >=, <=, =, <>, <, >
single 4 1,5x10-45 - 3,4x1038
double 8 5x10-324 - 1,7x10308
double 8 5x10-324 - 1,7x10308
Логічний тип
boolean 1 true, false Not, And, Or, Xor, >=, <=, =, <>, <, >
Символьний тип
char 1 Всі символи коду ASCII +, >=, <=, =, <>, <, >

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

Порядкові типи, які виділяються з групи простих типів, характеризуються наступними властивостями:

  • всі можливі значення порядкового типу являють собою обмежену впорядковану множину;
  • до будь-якого порядкового типу може бути застосована стандартна функція Ord, яка в якості результату повертає порядковий номер конкретного значення в даному типі;
  • до будь-якого порядкового типу можуть бути застосовані стандартні функції Pred і Succ, які повертають попереднє і наступне значення відповідно;
  • до будь-якого порядковому типу можуть бути застосовані стандартні функції Low і High, які повертають найменше і найбільше значення величин даного типу.

У мові Паскаль введено поняття еквівалентності і сумісності типів. Два типи Т1 і Т2 є еквівалентними (ідентичними), якщо виконується одна з двох умов:

  • Т1 і Т2 є одне і те ж ім'я типу;
  • тип Т2 описаний з використанням типу Т1 за допомогою рівності або послідовності рівності. Наприклад:
	type
	  T1 = Integer;
	  T2 = T1;
	  T3 = T2;
				

Менш строгі обмеження накладаються на сумісність типів. Так, типи є сумісними, якщо:

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

У Турбо Паскаль обмеження на сумісність типів можна обійти з допомогою приведення типів. Приведення типів дозволяє розглядати ту саму величину в пам'яті ЕОМ як належить різним типам. Для цього використовується конструкція

Ім‘я_Типу (змінна чи значення)

Наприклад, Integer ('Z') являє собою значення коду символу 'Z' в двобайтному поданні цілого числа, а Byte (534) дасть значення 22, оскільки ціле число 534 має тип Word і займає два байти, а тип Byte займає один байт, і в процесі приведення старший байт буде відкинутий.

У вас є питання? Щось не розумієте? Будемо раді вас бачити на українському форумі програмістів.