- •Лабораторна робота № 2
- •1. Загальне завдання:
- •2. Порядок виконання лабораторної роботи:
- •4. Індивідуальне завдання
- •5. Теоретичні відомості
- •5.1. Тип даних «Запис»
- •5.2. Робота з типізованими файлами
- •6. Приклад виконання лабораторної роботи
- •Підпрограма LoadFromFile «Завантажити каталог книг з файлу»
- •Підпрограма SaveToFile «Збереження каталогу у файл»
- •Підпрограма SortCatalog «Сортування книг в каталозі за назвою»
- •Підпрограма PrintCatalog «Друк каталогу книг»
- •Підпрограма AddBook «Додавання книги до каталогу»
- •Var size : integer):boolean;
- •Val(s,year,er);
- •Val(s,number,er);
- •If (LoadFromFile(fname,books,n,size)) then
- •If (SaveToFile(fname,books,size)) then
- •If (AddBook(books,n,size)) then
- •Каталог
- •Каталог (сортування по назві)
- •7. Питання для захисту лабораторної роботи:
6. Приклад виконання лабораторної роботи
Написати програму для роботи з каталогом книг. Книга описується такими полями: назва книги, автори, жанр, рік видання та кількість томів. Сортування каталогу книг проводити по назві книг (по алфавіту).
Увага! В програмі не реалізовано роботу з вікнами.
6.1. Декомпозиція завдання
Виконаємо декомпозицію завдання. Оскільки в завданні зазначено, що дані слід зберігати та завантажувати з типізованого файлу, тоді необхідно передбачити в програмі відповідні підпрограми:
-
функція LoadFromFile буде читати дані з типізованого файлу та записувати їх у масив. Якщо файл не існує, то відповідно дані не запишуться у масив. Параметри функції:
-
ім’я файлу;
-
масив;
-
максимальна можлива кількість елементів в масиві;
-
кількість елементів масиву, які були прочитані з файлу.
-
функція SaveToFile буде зберігати дані з масиву у файл. Якщо неможливо створити файл із вказаним ім’ям, то відповідно дані не будуть збережені у файл. Параметри функції будуть такі:
-
ім’я файлу;
-
масив;
-
кількість елементів масиву, що містять інформацію.
Також для сортування каталогу по назві книг необхідно розробити відповідну підпрограму:
-
процедура SortCatalog буде сортувати дані в масиву по назві книг по алфавіту. Параметри підпрограми:
-
масив;
-
кількість елементів масиву, що містять інформацію.
Для виводу інформації про каталог книг можна розробити процедуру для його друку у вигляді таблиці:
-
процедура PrintCatalog буде виводити на екран монітору інформацію з каталогу книг. Параметри підпрограми:
-
масив;
-
кількість елементів масиву, що містять інформацію.
Оскільки в програмі необхідно передбачити можливість вводу користувачем з клавіатури даних про книги, тому слід розробити підпрограму для додавання нової книги до каталогу:
-
функція AddBook призначена для додавання нової книги до каталогу. Якщо каталог вже заповнений, тобто в масиві немає вільних елементів, тоді книгу неможливо додати до каталогу. Параметри підпрограми:
-
масив;
-
максимальна можлива кількість елементів в масиві;
-
кількість елементів масиву, що містять інформацію.
6.2. Схеми алгоритмів
-
Підпрограма LoadFromFile «Завантажити каталог книг з файлу»
Опис змінних:
fname – назва файлу, в якому зберігається каталог книг;
max – максимальна можлива кількість книг в каталозі;
сatalog – каталог книг;
size – кількість книг у файлі;
f – файлова змінна для роботи з типізованим файлом;
i – номер книги в каталозі.
Початок |
|||
Зв’язування f з файлом fname |
|||
Відкриття файлу f для читання |
|||
Файл f відкрито? + |
- |
||
Визначення кількості книг size в файлі |
LoadFromFile = False |
||
size> + |
max - |
||
size = max |
|
||
|
i = від 1 до size |
||
|
Читання з файлу i-тої книги у catalog[i] |
||
Закриття файлу f |
|||
LoadFromFile = True |
|||
Кінець |