ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Типи і види даних на мові Pascal 7.0
         

     

    Інформатика, програмування

    Учня 11-А класу

    ТИПИ ДАНИХ

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

    Турбо Паскаль характеризується розгалуженою структурою типів даних.

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

    ПРОСТІ ТИПИ

    До простих типів відносяться порядкові і речові типи.

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

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

    Порядковий ТИПИ

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

    Цілі типи. Діапазон можливих значень цілих типів залежить від їхвнутрішнього уявлення, яке може займати один, два або чотирибайти
    | ЦІЛІ ТИПИ |
    | Назва | Довжина, | Діапазон значень |
    | | Байт | |
    | Byte | 1 | 0 ... 255 |
    | ShortInt | 1 | -128 ... +127 |
    | Word | 2 | 0 ... 65535 |
    | Integer | 2 | -32768 ... 32767 |
    | LongInt | 4 | -2 147 483 648 ... +2 147 483 647 |

    При використанні процедур і функцій з цілочисельними параметрамислід керуватися «вкладень» типів, тобто скрізь, де можевикористовуватися Word, допускається використання Byte (але не навпаки), в
    LongInt "входить" Integer, який, у свою чергу, включає в себе
    ShortInt.

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

    Логічний тип
    | Логічні ТИПИ |
    | Назва | Довжина, Байт | OS | Значення |
    | BOOLEAN | 1 | Linux, DOS | False, True |
    | BYTEBOOL | 1 | Сумісний з С | False, True |
    | WORDBOOL | 2 | Win | False, True |
    | LONGBOOL | 4 | Win | False, True |

    . Значеннями логічного типу може бути один із заздалегідьоголошених констант FALSE (неправда) або TRUE (істина).

    Оскільки логічний тип відноситься до порядковим типами, його можнавикористовувати в операторі рахункового типу.

    символьний тип. CHAR - займає 1 байт. Значним символьного типує безліч всіх символів ПК. Кожному символу присвоюється цілечисло в діапозоні 0 ... 255. Це число служить кодом внутрішнього поданнясимволу.

    Для кодування іспоьзуется код ASCII (American Standart Code for
    Information Interchange - американський стандартний код для обмінуінформацією). Це 7-бітний код, тобто з його допомогою можн озакодіровать лише
    128 символів у діапозоні від 0 до 127. У той же час у 8-бітному байті,відведеному для зберігання символу в Турбо Паскалі, можна закодувати в дварази більше символів у дапозоне від 0 до 255. Перша половина символів ПК зкодами 0 ... 127 відповідає стандарту ASCII. Друга половина символів зкодами 128ююю255 не обмежена жорсткими рамками стандарту і може змінюватисьна ПК різних типів.

    Символи з кодами 0 ... 31 відносяться до слжебним кодами. Якщо ці кодивикористовувати в символьному тексті програми, вони вважаються пробілами.

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

    Type

    Colors = (red, white, blue);

    Застосування перелічуваних типів робить програми наочніше.

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

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

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

    Тип-діапазон задається межами своїх значень всередині базового типу:

    ..

    Тут - мінімальне значення типу-діапазону.

    - максимальне його значення.

    Type

    Digit = '0 '.. '9';

    Dig2 = 48 .. 57;

    При визначенні типу-діапазону потрібно керуватися наступнимиправилами:

    1. два символи «..» розглядаються як один символ, тому між ними неприпустимі пробіли.

    2. ліва межа діапазону не повинна перевищувати його праву кордон.

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

    Речовий ТИПИ < p> На відміну від порядкових типів, значення яких завжди зіставляютьсяз низкою цілих чисел і, отже, представляється в ПК абсолютно точно,значення речових типів визначають довільне число лише з деякоюкінцевою точністю, яка залежить від внутрішнього формату дійсного числа.


    | Довжина, | Назва | Кількість | Діапазон десяткового |
    | байт | | значущих цифр | порядку |
    | 6 | Real | 11 ... 12 | -39 ... +38 |
    | 4 | Single | 7 ... 8 | -45 ... +38 |
    | 8 | Double | 15 ... 16 | -324 ... +308 |
    | 10 | Extended | 19 ... 20 | -4951 ... 4932 |
    | 8 | comp | 19 ... 20 | -2 * 1063 +1 ... +2 * 1063-1 |

    Структуровані ТИПИ

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

    Масиву

    Массіиви в Турбо Паскалі багато в чому схожі з аналогічними типами данихв інших мовах програмування. Відмінна риса масивівполягає в тому, що всі їх компоненти суть дані одного типу (можливоструктурованого). Ці компоненти можна легко впорядкувати і забезпечитидоступ до будь-якого з них простим зазначенням порядкового номера.

    Опис масиву задається наступним чином:

    = array [] of

    Тут - правильний індіфікатор;

    Array, of - зарезірвірование слова (масив, з);

    - список з одного або декількох індексних типів,розділених комами; квадратні дужки, що обрамляють список, - вимогасинтаксису;

    - будь-який тип Турбо Паскаля.

    Як індексних типів у Турбо Паскалі можна використовувати будь-якіпорядкові типи, крім LongInt і типів-діапазонів з базовим типом LongInt.

    Глибина вкладеності структурованих типів взагалі, а отже, імасивів - довільна, тому кількість елементів у списку індексівтипів (розмірність масиву) не обмежена, однак сумарна довжинавнутрішнього подання будь-якого масиву не може бути більше 65520 байт.

    ЗАПИСИ

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

    Структура оголошення типу запису така:

    = RECORD END

    Тут - правильний індіфікатор;

    RECORD, END - зарезервірование слова (запис, кінець);

    - список полів, представляє собою послідовністьрозділів записи, між якими ставиться крапка з комою.

    МНОЖЕСТВ

    Безліч - це набір однотипних логіческх пов'язаних один з однимоб'єктів. Характер зв'язків між об'єктами лише мається на увазі програмістіві ніяк не контролюється Турбо Паскалем.колічество елементів, що входять добезліч, може змінюватись в межах від 0до 256 (безліч, що не міститьелементів, називається порожнім). саме мінливістю кількості своїхелементів множини відрізняються від масивів і записів.

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

    Опис типу безлічі має вигляд:

    = SET OF

    Тут - правильний індіфікатор;

    SET, OF - зарезірвірованние слова (безліч, з);

    - базовий тип елементів множини, в якості якого можевикористовуватися будь-який порядковий тип, крім WORD, INTEGER і LONGINT.

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

    СТРОКИ

    Тип STRING (рядок) у Турбо Паскалі широко використовується для обробкитекстів. Він багато в чому схожий на одновимірний масив символів ARRAY [0 .. N] OF
    CHAR, проте, на відміну від останнього, кількість символів у рядку --змінної може змінюватись від 0 до N, де N - кількість максімалльноесимволів в рядку. Значення N визначається оголошенням типу STRING [N] N іможе бути будь-якою константою порядкового типу, але ен більше 255. Турбо
    Паскаль дозволяє не вказувати N, у тому випадку довжина рядка приймаєтьсямаксимально можливою, а саме N = 255.

    Рядок у Турбо Паскалі трактується як ланцюжок символів. До будь-якогосимволу в рядку можна звернутися точно так само, як до елементу одновимірногомасиву ARRAY [0 .. N] OF CHAR.

    ФАЙЛИ

    Під файлом розуміється або іменована область зовнішньої пам'яті ПК, абологічний пристрій - потенційне джерело або приймач інформації.

    Будь-який файл має три характерні особливості. По-перше, у нього єім'я, що дає можливість програмі працювати одночасно з декількомафайлами. По-друге, він містить компоненти одного типу. Типом компонентівможе бути будь-який тип Турбо Паскаля, крім файлів. Іншими словами, недьзястворити «файл файлів». По-третє, довжина знову створюваного файла ніяк необмовляється при його оголошенні і обмежується лише розміром пристроївзовнішньої пам'яті.

    Файловий тип або змінну файлового типу можна поставити одним з трьохспособів:

    = FILE OF;

    = TEXT;

    = FILE;

    Тут - ім'я файлового типу (правильний індіфікатор);

    FILE, OF - зарезервовані слова (файл, з);

    TEXT - ім'я стандартного типу текстових файлів;

    - будь-який тип Турбо Паскаля, крім файлів.

    Залежно від способу оголошення можна виділити три види файлів:

    . типізовані файли (задаються пропозицією FILE OF ...);

    . текстові файли (визначаються типом TEXT);

    . нетипізовані файли (визначаються типом FILE).

    ПРОЦЕДУРНІ ТИПИ

    Процедурні типи - це нововедення фірми Borland (у стандартному
    Паскалі таких типів немає). Основне призначення цих типів-дати програмистгнучкі засоби передачі функцій і процедур в якості фактичнихпараметрів звернення до інших процедур та функцій.

    Для оголошення процедурного типу використовується заголовок процедури
    (функції), в якому опускається її ім'я, напріме: type

    Proc = procedure;

    Proc1 = procedure (var X, Y: Integer);

    StrProc = procedure (S: String);

    MathFunc = function (X: Real): Real:

    DeviceFunc = function (var F: Text): Integer;

    MaxFunc = function (A, B: Real; F: MathFunc): Real;

    Як видно з наведених прикладів існує два види процедурнихтипів: тип-роцедура і тип-функція.

    У програмі можуть бути оголошені змінні процедурних типів,наприклад, так:

    Var

    P1: Proc1;

    F1, f2: MathFunc;

    Ap: array [1 .. N] of Proc1

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

    ТИП Об'єкт

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

    Тип об'єкт може успадковувати компоненти від іншого типу об'єкта.

    Сфера дії типу об'єкта складається з нього самого і всіх йогопороджених типів.

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

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

    ТИП ВКАЗІВНИК

    Тип покажчик (контрольний тип) визначає безліч значень, яківказують на динамічні змінні певного типу, званогобазовим типом. Змінна з типом покажчик містить адресу динамічноїзмінної в пам'яті.

    Якщо базовий тип є ще не описаним ідентифікатором, то вінповинен бути описаний в тій же самій частині опису типів, що й типпокажчик.

    Змінній-вказівником може мати значення за допомогою процедури New,@ операції або функції Ptr. Процедура New відводить нову область пам'яті вдинамічно розподіляє області для динамічних змінних і зберігаєадресу цієї області у змінній покажчика. Операція @ орієнтуєзмінну вказівник на область пам'яті, що містить існуючу змінну,включаючи і ті змінні, які мають ідентифікатори. Функція Ptrорієнтує змінну покажчика на певну адресу в пам'яті.
    Зарезервоване слово nil позначає константу зі значенням покажчика,яка ні на що не вказує.

    Вбудований вказівник типу позначає нетіпізованний покажчик, тобтопокажчик, який не вказує ні на який певний тип. Зміннітипу Pointer можуть бути разименовани; вказівку символу ^ після такоїзмінної викликає появу помилки. Як і значення, що позначається словомnil, значення типу Pointer сумісні з усіма іншими типами покажчиків.

    У розділі "Покажчики та динамічні змінні" в Главе4 ви можетезнайти синтаксис посилання на динамічні змінні, які вказуються здопомогою покажчика-змінної.

    типізований КОНСТАНТА

    У Турбо Паскалі допускається використання типізованих констант. Вонизадаються в розділі оголошення констант в такий спосіб:

    : =

    Тут - індіфікатор константи;

    - тип константи;

    - значення константи .

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

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

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

    КОНСТАНТА простих типів І ТИПУ STRING

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

    КОНСТАНТА-масиви

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

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

    КОНСТАНТА-ЗАПИСИ

    Визначення константи-запису має такий вигляд:

    : ()

    Тут - індіфікатор константи;

    - тип запису;

    - список значень полів.

    Список значень полів являє собою список з послідовностейвиду: ім'я поля, двокрапка і константа. Елементи списку відокремлюються один віддруга двокрапками.

    КОНСТАНТА-множина

    Значення типізований константи-безлічі задається у виглядіправильного конструктора множин.

    КОНСТАНТА-ПОКАЖЧИКИ

    Єдиним значенням типізований константи-покажчика може бутитільки NIL.
    -----------------------

    Порядкові

    Об'єкти

    Процедурні

    Масиви

    Структуровані

    Файли

    Записи

    Безліч

    Строки < p> Покажчики

    Цілі

    Тип-діапазон

    Логічний

    символьний

    перераховуються < p> Прості типи

    Речові

    ТИПИ


         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status