ПРАКТИЧНА РОБОТА № 05_01
Тема роботи: Записи (структури).
Виконавець: Безкороваєва Н.В.
ЗАВДАННЯ РОБОТИ
Варіант завдання: 01_02
Завдання на розробку: Описати структуру з іменем GROUP, що містить поля: Name – прізвище та ініціали, DAT – дата народження (рік, місяць, число), SES – успішність (масив з трьох елементів). Написати програму, яка виконує:
- введення з клавіатури даних в масив GR5, який складається з 10 структур типу GROUP;
- виведення на екран записів, що впорядковані за зростанням поля SES;
- виведення списку студентів, вік яких на 01.12.2010 року не перевищив 20 років;
- якщо таких студентів немає – вивести повідомлення.
АНАЛІЗ ЗАВДАННЯ
-
Загальні уявлення про завдання: Заданий список студентів. Обрати з них такі, що відповідають заданим умовам. Якщо таких не існує, вивести відповідне повідомлення.
-
Модель завдання: Дана структура, яка містить наступні відомості: - прізвище та ініціали, - дату народження в заданому форматі, SES- успішність з трьох предметів. Ввести з клавіатури дані про 10 студентів. Вивести ті записи, які впорядковані за зростанням поля успішності (приймемо сумарний бал). Вивести список студентів, вік яких на 01.12.2010 не перевищує 20 років. Якщо таких студентів немає, вивести повідомлення.
-
Можливі обмеження: За умовою дата народження задається одним полем запису, тому задається відповідний формат введення даних: спочатку рік, потім місяць, потім число, які розділяються крапками (наприклад 2008.05.30) . Інші змінні мають бути довільні.
-
Задача на програмування: Потрібно ввести такі константи n=10 – кількість студентів (при налагодженні програми зручно ставити менше число, наприклад 3), m=3 – кількість оцінок. Описуємо новий тип GROUP – запис, що містить наступні поля: Name – строковий тип – обмеження 50 символів, DAT – строковий тип – обмеження 10 символів, SES – масив з трьох цілих змінних. У розділі опису змінних var описуємо: змінну GR5 – масив записів. Для розрахунку додатково опишемо масив s – для підрахунку сумарних балів. Також потрібні додаткові змінні: i,j – лічильники циклів, c,о – додаткові змінні для обміну значень при сортуванні, k- кількість студентів яким менше ніж 20 років, g,mm – змінні для виділення із дати народження року та місяця в строковому вигляді, god,mes – змінні для переведення року та місяця народження із строкового формату в числовий. Використовуються функції обробки строкових величин: copy – копіювання частини рядка, val - переведення рядкової величини у число. Для вводу даних використовується оператор readln (з переходом на новий рядок), для виводу даних використовується оператор write. Для виконання обчислень використовується оператор присвоювання := Для звертання до записів використовується оператор приєднання with або у формі і’мя змінної.ім’я поля. Після введення даних про студентів, перевіряємо чи є серед них ті, яким не виповнилося 20 років (складна умова – перевірка року і місяця), якщо таких немає виводимо повідомлення. Потім підраховуємо сумарний бал для кожного студента з трьох предметів. Впорядкування сумарного балу за зростанням здійснюється «методом пузирька». В кінці виводяться на екран всі дані про студентів за зростанням сумарного балу.
-
Алгоритм вирішення задачі: Укрупненна блок-схема
ТЕСТУВАННЯ ПРОГРАМИ
Вхідні дані програми:
Вихідні дані програми:
Аналіз результатів тестування: Програма працює на тестових прикладах. При введенні значень вхідних даних, що не відповідають умові, програма видає повідомлення.