Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записи.doc
Скачиваний:
7
Добавлен:
01.12.2018
Размер:
240.64 Кб
Скачать
  1. Підпрограма SaveToFile «Збереження каталогу у файл»

Опис змінних:

fname – назва файлу, в якому зберігається каталог книг;

сatalog – каталог книг;

size – кількість книг у файлі;

f – файлова змінна для роботи з типізованим файлом;

i – номер книги в каталозі.

Початок

Зв’язування f з файлом fname

Відкриття файлу f для запису

Файл f відкрито?

+

-

i = від 1 до size

SaveToFile = False

Запис у файл книги у catalog[i]

Закриття файлу f

SaveToFile = True

Кінець

  1. Підпрограма SortCatalog «Сортування книг в каталозі за назвою»

Опис змінних:

сatalog – каталог книг;

size – кількість книг у файлі;

i, j – номера книги в каталозі;

book – змінна для перестановки двох книг в каталозі.

Початок

i від 2 до size

j від size до i

catalog[j-1].name >

+

catalog[j].name

-

Поміняти місцями книги

з номерами j та j-1 за допомогою змінної book

Кінець

  1. Підпрограма PrintCatalog «Друк каталогу книг»

Опис змінних:

сatalog – каталог книг;

size – кількість книг у файлі;

i – номер книги в каталозі.

Початок

Друк заголовку таблиці

i від 1 до size

Друк книги catalog[i]

Кінець

  1. Підпрограма AddBook «Додавання книги до каталогу»

Опис змінних:

сatalog – каталог книг;

max – максимальна можлива кількість книг в каталозі;

size – кількість книг у файлі;

s – рядок для вводу чисел;

er – ознака наявності помилки при перетворенні рядка в число.

Початок

(size + 1) <=max

+

-

size = size + 1

AddBook = False

Завдання назви книги catalog[size].name,

авторів catalog[size].author,

жанру catalog[size].style

Завдання року видання книги s

Перетворення рядка s у рік видання catalog[size].year

er = 0 та catalog[size].year>0 та catalog[size].year<=2008

Завдання кількості томів s

Перетворення рядка s у кількість томів catalog[size].tom

er = 0 та catalog[size].tom>0

AddBook = True

Кінець

6.3. Текст програми

program Catalog;

uses crt;

const n = 20; {максимальна кількість книг в каталозі}

type

TBook = record {Тип для опису книги}

name : string; {назва книги}

author : string; {автори книги}

style : string; {жанр}

year : word; {рік видання}

tom : integer; {кількість томів}

end;

{Тип «Масив записів» – каталог книг}

TCatalog = array [1..n] of TBook;

{Функція LoadFromFile призначена для завантаження каталогу книг з файлу.

Вхідні дані:

fname – назва файлу, в якому зберігається каталог книг;

max – максимальна можлива кількість книг в каталозі;

Вихідні дані:

True – каталог книг завантажено з файлу та

сatalog – каталог книг;

size – кількість книг у файлі;

False – файл не відкрито і каталог книг не завантажено з файлу.}

function LoadFromFile(fname : string;var catalog : TCatalog; max : integer;