Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабороторные 2 семестр.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
435.71 Кб
Скачать

2.4 Контрольні питання

  1. Коли доцільно використовувати комбінований тип даних?

  2. Як описується комбінований тип даних?

  3. Перерахуйте особливості введення-виведення записів при роботі зі стандартними текстовими файлами і файлами комбінованого типу.

  4. Які типи даних можуть використовуватися для опису полів?

  5. Які складові типи даних можуть будуватися на базі комбінованого типу даних?

  6. З якою метою використовується оператор приєднання?

  7. Чи можуть збігатися назви полів різних записів? Назви полів і змінних?

  8. Опишіть комбінований тип даних для подання таких понять: ціна, комплексне число, час, адреса.

3 Сортування масивів комбінованого типу даних

Мета роботи - отримання практичних навичок з написання та налагодженню програм сортування масивів записів.

3.1 Підготовка до лабораторної роботи

При підготовці до роботи необхідно вивчити особливості формування масивів комбінованого типу з файлів; вивчити алгоритми сортування масивів.

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

Для вирішення ряду завдань необхідно використовувати масиви комбінованого типу даних, в яких інформація відсортована по якомусь полю. Після сортування однакові значення полів розташовуються поспіль, тому можна підрахувати кількість записів з певним значенням у цьому полі, а для числових полів знайти суму, середнє, максимальне або мінімальне значення.

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

TYPE AUTO=RECORD

MARK, NOM, COL:STRING;

CENA:REAL;

GOD:INTEGER;

END;

VAR

F:FILE OF AUTO;

M: AUTO;

A:ARRAY [1..50] OF AUTO;

I, J, K, N: INTEGER;

CY: STRING;

S, SR: REAL;

BEGIN

ASSIGN(F, 'Combo.dat');

RESET(F);

I:=0;

{запис інформації з файлу в масив }

WHILE NOT EOF(F) DO

BEGIN

I:=I+1;

READ(F,A[I]);

END;

N:=I; {кількість записів у масиві }

{сортування масиву за кольором автомобіля }

FOR J:= N DOWNTO 2 DO

FOR I:= 1 to J-1 DO

IF A[I].COL>A[I+1].COL THEN

BEGIN

M:=A[I-1];

A[I-1]:=A[I];

A[I]:=M;

END;

{обробка списку автомобілів кожного кольору }

I:=1;

WHILE I<=N DO

BEGIN

K:=0;

CY:=A[I].COL

WHILE CY=A[I].COL DO

BEGIN

K:=K+1;

I:=I+1;

END;

WRITELN('КОЛІР АВТОМОБІЛІВ - ',CY,' КІЛЬКІСТЬ - ',K);

END;

CLOSE(F);

END.

3.3 Варіанти завдань

З файлу комбінованого типу, створеного у попередній роботі, переписати всі записи в масив. Відсортувати масив і виконати його обробку відповідно до завдання.

  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. Підрахувати кількість студентів-практикантів на кожному підприємстві.