Типи даних в мові Паскаль
У мові Паскаль будь-яка змінна характеризується своїм типом. Під типом в даному випадку розуміється безліч значень, які може приймати змінна і, як наслідок, безліч операцій, допустимих над змінної.
Паскаль є мовою жорсткої типізації. Це означає, що тип змінної визначається при її описі і не може бути змінений. Змінна може брати участь тільки в операціях, визначених її типом. Такий підхід сприяє більшої акуратності та відповідальності при складанні програми, робить їх піддаються автоматичної (при компіляції) перевірці на коректність і в кінцевому підсумку призводить до більш високої надійності створюваних програм.
Паскаль має розвинену і витончену систему типів. На основі невеликого числа стандартних типів програміст може конструювати дані довільної структури і складності, адекватно відображають інформаційну природу завдання.
Паскаль успадковує систему типів еталонного мови, істотно розширюючи її як в сенсі додавання очевидних практично корисних типів (наприклад, строкових), так і введенням принципово нових понять, які відкривають нетрадиційні можливості в програмуванні (зокрема, об'єктів).
Базовими в системі типів є прості типи. Складові типи за певними правилами будуються з простих. Довідкові типи утворюються з будь-яких інших типів. Складові і посилальні типи можна вважати деякими правилами для побудови більш складних типів з більш простих. Обмежені типи формуються з простих типів шляхом звуження їх області допустимих значень. Первинними в ієрархії типів є стандартні скалярні типи, що представляють традиційні в мовах програмування безлічі значень (цілі, речові, символьні, булевские) і їх модифікації, що враховують архітектурні особливості апаратури.
Процедурні типи в деякому відношенні розширюють традиційне поняття підпрограм, що дозволить отримувати доступ з підпрограмами як зі змінними.
Дещо осібно стоять об'єктні типи, або об'єкти. Будучи, з формальної точки зору, узагальненням комбінованих типів (записів), вони дозволяють радикально змінити підхід до розробки програм, пропонуючи так званий об'єктно-орієнтована стиль програмування.
I. Прості типи: порядкові, речові, дата-час.
Порядковий тип в свою чергу ділиться на:
2. логічний тип або булевский тип;
3. символьний тип;
4. перераховуються типи;
5. обмежені типи або тип-діапазон.
На основі стандартних скалярних типів є можливість утворювати призначені для користувача скалярні типи. Є два способи породження нових скалярних типів - обмежені і перелічуваних типи.
Будь-скалярний тип характеризується великою кількістю його різних значень, серед яких встановлений лінійний порядок. Все скалярні типи, крім речових, називаються дискретними.
Ця група типів позначає безліч цілих чисел в різних діапазонах. Є п'ять цілих типів, що розрізняються допустимим діапазоном значень і розміром займаної пам'яті. Цілі типи позначаються ідентифікаторами Integer, Byte, ShortInt, Word, LongInt; їх характеристики наведені в таблиці 1.
Значення цілих типів можуть зображуватися в програмі двома способами: в десятковому вигляді та в шістнадцятковому коді. В останньому випадку на початку такого коду ставиться символ '$'.
$ F1 (десяткове подання 241)
2. булевскому (логічний) тип
До логічним відносяться типи Boolean, ByteBool, Bool, wordBool і LongBool. У стандартному Паскалі визначений тільки тип Boolean, інші логічні типи введені в Object Pascal для сумісності з Windows: типи Boolean і ByteBool займають по одному байту кожен, Bool і WordBool - по 2 байта, LongBool - 4 байта.
Є два значення булевского типу, що представляють логічні істинності значення (істина / неправда). Ці значення позначаються за допомогою стандартних ідентифікаторів:
Значеннями символьного типу є символи з безлічі ASCII (American Standard Code for Information Interchange - американський стандартний код для обміну інформацією). Це безліч складається з 256 різних символів, упорядкованих певним чином, і містить символи великих і малих літер, цифр і різних інших символів, включаючи спеціальні керуючі символи. Допускаються деякі відхилення від стандарту ASCII, зокрема, при наявності відповідної системної підтримки це безліч може містити літери російського алфавіту.
Порядкові номери (кодування) значень символьного типу можна дізнатися з відповідних розділів технічних описів. Ці значення займають один байт. Якщо символьне значення має графічне представлення, то воно зображується відповідним знаком, укладеними в одинарні лапки (апострофи), наприклад:
Для уявлення самого апострофа його зображення подвоюється.
Якщо символ, який потрібно зобразити, не має графічного представлення, то можна скористатися наступною еквівалентної формою записи, що складається з символу '#' (решітка, дієз) і целочисленного коду символу (від 0 до 255):
4. Рахункова типи
Скалярні типи, введені раніше, в цілому не виходять за рамки інтуїтивно зрозумілій трактування типу як безлічі традиційних (цілих, дійсних або символьних) значень з певного діапазону. Рахункова типи вводять певна просте узагальнення такого трактування за допомогою абстрагування від "фізичної" природи значень.
Іншими словами, можна визначити новий тип шляхом явного перерахування всіх можливих його значень, причому кожне таке значення буде визначатися тільки ім'ям.
Наприклад: Нехай необхідно розробити програму управління вуличним світлофором. Ясно, що програма буде моделювати світлофор за допомогою вказівки його поточного стану, тобто включеного в даний момент світла. Таким чином, змінна програми, що представляє світлофор, може приймати одне з трьох значень, що відповідають червоному, жовтому і зеленому кольорам. Можна було б ввести для цього змінну цілого типу і встановити, що, наприклад, значення 1, 2, 3 відповідають зазначеним квітам. Однак очевидно, що числа, які кодують кольору, не мають прямого відношення до розв'язуваної задачі і, отже, ускладнюють програму і затемнюють її сенс. Тому найбільш природним рішенням в даному випадку буде введення перечислимого типу з трьох значень, які охоплюють іменами Red, Yellow, Green, і змінної цього типу.
Синтаксис визначення перечислимого типу:
(Ідентифікатор 1, ідентифікатор 2. ідентифікатор N)
Приклади перелічуваних типів:
(Red, Yellow, Green)
(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)
(Left, Up, Right, Down)
Рахункова типи вважаються дискретними типами. Над значеннями перелічуваних типів визначені операції порівняння (вважається, що значення перечислимого типу вказані в списку в порядку зростання). Крім того, допускається утворення обмежених типів з перелічуваних за звичайними правилами, наприклад:
Імена зі списку перечислимого типу вважаються константами відповідного перечислимого типу. Ці ідентифікатори повинні бути унікальні в межах блоку; неприпустимі опису двох і більше перелічуваних типів з співпадаючими константами.
5. Обмежені типи (тип-діапазон)
Стандартні скалярні типи, перераховані раніше, є зумовленими в мові Паскаль; їх зміст в мові фіксований і його не потрібно описувати. На основі стандартних скалярних типів програміст може визначити нові, власні скалярні типи, керуючись декількома досить простими правилами.
Найпростішим способом утворення нових типів з уже існуючих є обмеження (а саме, звуження) допустимого діапазону значень деякого стандартного скалярного типу. Це обмеження визначається завданням мінімального і максимального значень діапазону.
Синтаксис визначення такого типу:
В даному прикладі показано визначення трьох нових типів значень. Перші два типи утворені обмеженнями діапазону деякого цілого типу, третій тип є похідним цілого типу. Введений таким чином тип можна позначити ім'ям і використовувати для визначення змінних, а також будувати з його допомогою інші типи.
Допускається створення обмежених типів з дискретних типів, тобто з усіх скалярних типів, крім речового. Обмежений тип успадковує всі властивості базового типу (зокрема, набір базових операцій).
Потрібно всіляко вітати активне використання в програмі обмежених типів. Всякий раз, коли заздалегідь відомо, що значення деякої змінної лежать всередині деякого діапазону, слід використовувати обмежений тип. Це істотно підвищує наочність програм, а, крім того, дозволяють більш надійно контролювати помилкові виходи значень за межі заданого діапазону (як при трансляції, так і в процесі виконання програми).
6. Речові типи
Ця група типів позначає безлічі дійсних значень в різних діапазонах Паскаль підтримує чотири різних речових типу. Вони іменуються ідентифікаторами Real, Single, Double, Extended і Comp і мають характеристики, представлені в таблиці 2.
Схожі роботи:
Мова програмування Паскаль
Реферат >> Інформатика, програмування
Основні елементи Паскаля Структура програми Організація і опис даних Основні відомості ЯзикПаскаль є одним. структурних тіповданних. масивів, записів, записів з варіантами, множин, файлів і т.д. Деякі недоліки мови. 1). відсутність.
Строковий ТіпДанних в мові Pascal (2)
Курсова робота >> Інформатика
Перевагою язикаПаскаль є можливість використання широкого набору різних тіповданних. Познайомимося з тіпомданних. який відноситься.
структурні тіпиданних
Лекція >> Інформатика, програмування
Комбінований ТіпДанних. Записи. Розділ типів Перераховуються тип Поряд з стандартними тіпаміданних в язикеПаскаль широко використовуються типи. визначаються програмістом.
Прості тіпиданних. лінійні програми
Лекція >> Інформатика, програмування
Boolean; 4.Стандартние прості тіпиданних В язикеПаскаль визначені 4 стандартних простих тіпаданних. Integer (цілий); Real (. (Логічний); Для повного опису кожного тіпаданних. Використовуваних в мові програмування, необхідно знати: безліч.
основи язикаПаскаль
язикаПаскаль. Алфавіт мови. В алфавіт будь-якого алгоритмічного мови входить фіксований набір основних символів. У алфавіті язикаПаскаль. об'єкта залежить від його типу. Набір тіповданних. використовуваних в Паскалі. Прості Структуровані Порядкові -.