
- •1 Виділення слів у текстових файлах
- •1.1 Підготовка до лабораторної роботи
- •Теоретичні відомості
- •Варіанти завдань
- •1.4 Контрольні питання
- •2 Комбінований тип даних
- •2.1 Підготовка до лабораторної роботи
- •2.2 Теоретичні відомості
- •2.3 Варіанти завдань
- •2.4 Контрольні питання
- •3 Сортування масивів комбінованого типу даних
- •3.1 Підготовка до лабораторної роботи
- •3.2 Теоретичні відомості
- •3.3 Варіанти завдань
- •3.4 Контрольні питання
- •4 Підпрограми-процедури
- •4.1 Підготовка до лабораторної роботи
- •4.2 Теоретичні відомості
- •4.3 Варіанти завдань
- •4.4 Контрольні питання
- •5 Підпрограми-функції
- •5.1 Підготовка до лабораторної роботи
- •5.2 Теоретичні відомості
- •5.3 Варіанти завдань
- •Контрольні питання
- •6 Організація односпрямованого списку
- •6.1 Підготовка до лабораторної роботи
- •6.2 Теоретичні відомості
- •6.3 Варіанти завдань
- •6.4 Контрольні питання
- •7 Обробка матриць у середовищі lazarus
- •7.1 Теоретичні відомості
- •7.2 Варіанти завдань
- •7.3 Контрольні питання
- •Перелік посилань
2.4 Контрольні питання
Коли доцільно використовувати комбінований тип даних?
Як описується комбінований тип даних?
Перерахуйте особливості введення-виведення записів при роботі зі стандартними текстовими файлами і файлами комбінованого типу.
Які типи даних можуть використовуватися для опису полів?
Які складові типи даних можуть будуватися на базі комбінованого типу даних?
З якою метою використовується оператор приєднання?
Чи можуть збігатися назви полів різних записів? Назви полів і змінних?
Опишіть комбінований тип даних для подання таких понять: ціна, комплексне число, час, адреса.
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 Варіанти завдань
З файлу комбінованого типу, створеного у попередній роботі, переписати всі записи в масив. Відсортувати масив і виконати його обробку відповідно до завдання.
Визначити, на яку суму отримані товари від кожного постачальника.
Визначити вид спорту, яким займається найбільша кількість спортсменів.
Визначити найпопулярніший жанр фільму.
Визначити сумарну кількість очок, яку набрали команди кожної країни.
Визначити групу, студенти якої взяли найбільшу кількість книг.
Створити новий файл, який містить інформацію про кількість незадовільних оцінок в кожній групі.
Визначити відділ, в якому більше всього співробітників.
Визначити суму заборгованостей по кожному ЖЕКу.
Визначити кількість літаків кожного типу.
Визначити групу, в якій отримано найбільшу кількість незадовільних оцінок.
Визначити власників, що мають більше одного автомобіля.
Визначити кращий клас по успішності.
Визначити найпопулярнішу марку автомобіля.
Створити новий файл з інформацією про кількість ВНЗ в кожному з міст.
Визначити виконавця з найбільшою кількістю записів.
Підрахувати кількість поставок в кожен магазин.
Підрахувати кількість спортсменів кожного виду спорту.
Підрахувати кількість студентів, що народилися в кожному році.
Підрахувати кількість студентів у кожній групі.
Підрахувати кількість інженерів у кожному цеху.
Визначити місяць, у якому загальний обсяг продажів був максимальним.
Підрахувати кількість найменувань товару кожного виробника.
Підрахувати загальну кількість жителів міст кожної країни.
Визначити партію з найбільшою кількістю кандидатів.
Підрахувати кількість студентів-практикантів на кожному підприємстві.