Паскаль: область дії, модулі, структури, Детальна інформація

Паскаль: область дії, модулі, структури
Тип документу: Реферат
Сторінок: 10
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 22.1
Скачувань: 952
Задача

5. Оформити модуль PlaneGeo і використати його в розв'язанні задач 3.20–3.22.

3. Структури, вони ж записи

У програмі Intriang і підпрограмах модуля PlaneGeo із прикладу 7.3 точки площини подано двома дійсними числами, а прямі – трьома. Ці пари та трійки дійсних значень по суті подають два нових види об'єктів – точки та прямі. У модулі було також означено специфічні операції над цими об'єктами, наприклад, побудова коефіцієнтів рівняння прямої за парою точок. Ще раніш було означено функцію обчислення відстані між двома точками.

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

record

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

end.

Наприклад, тип точок площини, або пар дійсних, можна задати так:

type Point =

record

x : real; y : real

end;

Це означення задає ім'я типу Point для елементів, утворених парами дійсних значень. Змінна типу Point складається з двох компонентів – дійсних змінних, що називаються її полями та іменуються x і y.

Слово record означає "запис", і цей термін не зовсім удалий. Слово structure (структура), напевно, було б краще. Значення типу "запис", тобто пари, трійки тощо значень, а також змінні таких типів називаються записами, або структурами. Типи структур називаються структурними. На відміну від скалярних типів, їх елементи складені з частин, які ідентифікуються окремо.

Імена однотипних полів запису можна означити разом, подібно до імен однотипних змінних. Наприклад, в означенні типу Point можна було б написати x,y:real. Аналогічно, тип трійок дійсних коефіцієнтів рівнянь, якими задаються прямі на площині, можна означити так:

type Line = record

a, b, c: real

end

У загальному випадку вираз вигляду

record

ім'я1 : тип-1;

ім'я2 : тип-2;

...

ім'яN : тип-N

end

задає структурний тип. Його носій – множина N-ок, у яких на першому місті стоїть значення типу-1, на другому – типу-2 тощо. Ця множина називається декартовим добутком носіїв типів, указаних у списку. Такий вираз можна використовувати в означеннях як типів, так і змінних. Наприклад,

var lin : record

a, b, c : real;

end;

The online video editor trusted by teams to make professional video in minutes