Завдання

- виконати операції над заданими множинами a i b:

1.

 

2.

 

3.

 

4.

 

5.

 

6.

7.

 

8.

 

 

9.

 

10.

 

 

11.

 

12.

 

 

13.

 

14.

 

15.

 

16.

 

 

17.

 

18.

19.

 

20.

 

21.

 

22.

 

23.

 

24.

 

25.

 

26.

 

27.

 

28.

 

29.

 

30.

 

6.2. Контрольні запитання з теми

1. Що розуміють під множиною у мові Turbo Pascal ? Наведіть приклад множини.

2. Як описати множинний тип ? Наведіть приклад.

3. Які типи даних використовуються в якості базових при побудові множинних типів.

4. Що таке діапазон значень множинного типу? Наведіть приклад.

5. Які дії можна виконувати над множинами? Результатом яких дій буде множина?

6. Які логічні операції" визначені над множинами?

7. Визначте операцію перевірки на належність множині. Наведіть приклад.

8. Визначте операцію перерізу множин. Наведіть приклад.

9. Оголосіть нетиповану константу множинного типу.

10. Оголосіть типовану константу множинного типу.

 


Лабораторна робота № 7

Тема:

Записи

Мета:

Використовувати стуктурований тип запису

7.1. Теоретичні відомості

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

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

Шифр

Автор

Назва

Видавництво

Рік видання

Анотація

Ціна

Таким чином записи, як і масиви, використовуються для опису впорядкованої сукупності величин. Проте є певні відмінності:

Компоненти масиву повинні бути одного типу, а компоненти запису можуть мати різні типи.

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

Означення запису в Pascal:

Type <ім'я типу> = RECORD

< ім'я m1 >[,< ім'я n1 >,...] : < тип 1 >;

< ім'я m2 >[,< ім'я n2 >,...] : < тип 2 >;

. . . . . . . . . . . . . . . . .

< ім'я mk >[,< ім'я nk >,...] : < тип k >

END;

тут mj, nj (j=1, 2 ,..., k) – імена полів, які є окремими компонентами запису.

Приклади:

Type Complex = Recod

re : Real;

іm : Real

end;

Type Book = Record

Shіfr : Real;

Autor : Strіng[10];

Nazv : String[30];

Vydaw : String[20];

Year : Integer;

Anot : String[225];

Prise : Real;

end;

Type Plan = Record

a1,a2,a3 : Complex;

x1,x2,x3 : Integer;

y : Real;

end;

Для звертання до компонентів (полів) запису треба вказати ім'я змінної-запису, поставити крапку, а після неї – ім’я поля.

Приклад:

Var Book1: Book;

Book1.Avtor:='Петриченко';

Book1.Year:=1991;

a:=Book1.Shifr;

В операторах присвоєння можна використовувати не тільки імена полів, але й імена записів. Так, для двох записів Book1 та Book2, які відносяться до одного типу Book, можна записати оператор присвоювання Book1:=Book2;

В мові Pascal можна використовувати тип запис при формуванні інших складних типів даних. Так, можна побудувати масив, елементами якого є записи, наприклад: Type BIBL = array[1..1000] of Book; Тут елементи масиву BIBL мають тип Book.

Звертання до полів запису має дещо громіздкий вид. При звертанні до полів можна використовувати спеціальний оператор WITH, що має формат:

WITH <змінна типу запису> DO <оператор>;

Один раз вказавши змінну типу запис в операторі WITH, можна працювати з іменами полів, як із звичайними змінними, тобто без вказання перед індентифікатором імені змінної, що визначає запис.

Приклад:

Var Book1 : Book;

. . . . . . . . .

Wіth Book1 do

begіn

Shіfr:=123.7;

Avtor:=Пастух_Р.;

Nazv:=Вулицями_Дрогобича;

Vydaw:=Відродження;

Year:=1992;

Prise:=2000

end;

Pascal допускає вкладення записів один в другий (тобто поле в записі в свою чергу може бути записом), відповідно оператор With також може бути вкладеним:

With RV1 do

With RV2 do

With RV3 do

Рівень вкладення не повинен перевищувати 9.