- •Міністерство освіти і науки Україні
- •Закарпатський державний університет
- •Природничо-гуманітарний коледж
- •Методичні вказівки
- •До лабораторних робіт по дисципліні
- •Лабораторна робота № 1. Лінійні програми.
- •Короткі теоретичні відомості.
- •Структура програми.
- •Приклад розділу змінних
- •Тип даних Integer .
- •Тип даних Real.
- •Тип даних Сhar.
- •Тип даних Boolean (логічний).
- •Хід роботи
- •Контрольні питання.
- •Варіанти завдань.
- •Лабораторна робота № 2. Оператори повторення.
- •Короткі теоретичні відомості.
- •1. Оператор циклу з параметром.
- •2. Циклічні програми. Складність циклічної програми.
- •3. Оператори повторення While і Repeat.
- •4. Обмежені типи.
- •5. Мітки. Оператор переходу. Застосування оператора переходу для дострокового виходу з циклу.
- •Хід роботи.
- •Контрольні питання.
- •Лабораторна робота № 3. Масиви. Алгоритми сортування та пошуку.
- •Короткі теоретичні відомості.
- •1. Складні (складені) типи.
- •2. Регулярний тип. Масиви.
- •3. Пошук елемента в масиві.
- •4. Постановка задачі сортування.
- •Хід роботи.
- •Контрольні питання.
- •Лабораторна робота № 4 Рядки та засоби їх обробки. Короткі теоретичні відомості.
- •Хід роботи
- •Контрольні питання.
- •Лабораторна робота №5 Процедури та функції. Короткі теоретичні відомості.
- •1. Опис процедур.
- •2.Формальні параметри. Локальні і глобальні об’єкти.
- •3. Оператор процедури. Фактичні параметри.
- •4. Функції.
- •5. Рекурсивно-визначені процедури і функції.
- •Хід роботи
- •Контрольні питання.
- •Лабораторна робота № 5. Складні типи даних: записи. Короткі теоретичні відомості.
- •1. Записи.
- •2 .Записи з варіантами.
- •3.Оператор приєднання.
- •Хід роботи.
- •Контрольні питання.
- •Лабораторна робота № 6. Множини. Короткі теоретичні відомості.
- •1.Множинний тип.
- •2.Конструктор множини.
- •3. Операції і відношення.
- •4. Застосування множин у програмуванні.
- •Хід роботи.
- •Контрольні питання.
- •Лабораторна робота № 7 Файли. Управління файлами. Короткі теоретичні відомості.
- •Хід роботи.
- •Контрольні питання.
Лабораторна робота № 5. Складні типи даних: записи. Короткі теоретичні відомості.
1. Записи.
Запис - це набір різнотипних даних, що об’єднані спільним іменем. Більш формально, запис містить визначене число компонент, що називаються полями.
У визначенні типу запису задається ім’я і тип кожного поля запису:
<комбінований тип >::= Record < список описань полів > End
<список полів>::= <фіксов. част.> | <фіксов. част.>;<варіант. част.> | <варіант. част.>
<фіксована частина >::= <секція запису > {,<секція запису >}
< секція запису >::= <ім’я поля >{,<ім’я поля >}:< тип > < пусто >
Синтаксис записів, що містять варіантну частину - записів з варіантами - ми визначимо нижче. Відповідні синтаксичні діаграми записів з варіантами:
К
омбінований
тип
Фіксована частина
Приклад 1
Type Name = array [1..15] of Char;
Student = Record
F1,F2,F3 : Name;
Day : 1..31;
Month : 1..12;
Year : integer;
StudDoc : integer
end;
Var Group : array [1..25] of student;
S : Student;
При позначенні компоненти запису в програмі слідом за іменем запису ставиться точка, а потім ім’я відповідного поля. Таким чином здійснюється доступ до цієї компоненти. Наприклад:
S.Year := Group[i + 1].Year;
Запис може входити у склад даних більш складної структури. Можна говорити, наприклад, про масиви і файли, що складаються з записів. Запис може бути полем іншого запису.
2 .Записи з варіантами.
Синтаксис комбінованого типу містить і варіантну частину, що припускає можливість визначення типу, який містить визначення декількох варіантів структури. Наприклад, запис у комп’ютерному каталозі бібліотеки може мати наступну структуру:
Фіксована частина
-
Прізвище Ім’я по батькові
{автора}
Назва
{книги}
Видавництво
{його атрибути}
Шифр
{бібліотеки}
Стан
(видана, у фонді, в архіві)
Варіантна частина
-
Значення признака
видана
у фонді
в архіві
Поля Варіантної
части
Прізвище ім’я, по батькові
N% {чит.квитка}
Дата {видачі}
адрес {схову}
ім’я {архіву}
адрес {схову}
дата {архівації)
Синтаксис варіантної частини:
<варіантна частина >::= case <поле ознаки > <ім’я типа > of < варіант >{;<варіант >}
< варіант >::=<список міток варіанта >:(<список полів >) _ < пусто >
<список міток варіанта >::=<мітка варіанта >{;<мітка варіанта >}
<мітка варіанта >::=< константа >
<поле ознаки >::=<ім’я >:< пусто >
Відповідні синтаксичні діаграми:
Варіантна
ч
астина
поле варіант
о
знаки
Описання типу запису в розглянутому прикладі може мати вид:
Приклад
Book = record
Author : FullName; {фіксована частина}
BookName: String;
BookCode: Code;
Station : (Readed, inFile, inArchive);
case Station of {поле ознаки}
Readed: Reader : FullName; {варіантна частина}
ReadCode : Integer;
ReadDate : Date;
inFile: FilAdress : Adress;
inArc : ArcName : Srting;
ArcAdress: Adress
end
end;
У нашому прикладі на варіанти вказує поле Station. У залежності від значення цього поля запис має ту чи іншу структуру. Це часта ситуація. Звичайно на варіант запису вказує одне з полів фіксованої частини цього запису. Тому синтаксисом допускається скорочення: опис компоненти, що визначає варіант, (яка називається полем ознаки - дискримінантом), включається в заголовок варіанта:
Type BookStation = (Readed, inFile, inArc);
Book = record
Author : FullName;
BookName : String;
BookCode : Code;
case Station : BookStation of
Readed : Reader : FullName;
ReadCode : Integer;
ReadDate : Date;
inFile : FilAdress: Adress;
inArc : ArcName : String;
ArcAdress: Adress
end
end;
Всі імена полів повинні бути різними, навіть якщо вони зустрічаються в різних варіантах. (Наприклад, Author, Reader - імена людей, а FilAdress і ArcAdress - адреси, що вказують на місцезнаходження книги на полках сховища). У випадку, коли один з варіантів не містить варіантної частини, він повинен бути оформлений наступним чином:
EmptyVariant :( ) {EmptyVariant - мітка порожнього варіанта}
