Лабораторна робота N 7.
Тема: Записи і файли в мові програмування PASCALМета: навчитися складати програми задач, використовуючи записи і файли.
Теоретичні відомості
Записи відносяться до структурованих типів даних. Відмінність запису від масиву полягає в тому, що компоненти запису можуть бути різного типу.
Синтаксис запису: TYPE індентифікатор типу = RECORD Записи містять певну кількість полів, кожному з яких присвоюється певний тип.
Наприклад:
Type AVTO=RECORD
N: INTEGER;
NAME : CHAR; поля запису
PRICE : REAL; END;
Var A: array[1..5] of AVTO;
Звернення до компонентів запису відбувається наступним чином: Вказується ідентифікатор змінної типу запис , ставиться крапка та назва потрібного поля. Наприклад: А[і].Ргісе; A[i].Name
Розгалуженні структури даних мають той недолік, що вони зберігаються в ОЗП. Для зберігання інформації на зовнішньому носієві необхідно використати файлову структуру даних.
Синтаксис файлу.
TYPE ідентифікатор типу = FILE OF тип компонентів.
І
Приклад:
Туре Р =FILE OF REAL, де Р - файлова змінна.
Всі операції над компонентами файлу виконуються як операції
над файловою зміною
Для роботи з файлами використовуються такі оператори:
ASSIGN- для утотожнення між файловою змінною і повним іменем файла на диску
Приклад:
ASSIGN (Р, ім’я файлу1)
REWRITE(P) - відкриття файлу для запису даних у файл; RESET(Р) - відкриття файлу для обробки; WRITELN(Р,ім'я змінноі)- запис даних у файл; Readln(P, ім’я змінної) - зчитування даних з файлу; Close(P) - закриття файлу.
Практичне завдання.
1 .Розв'язати задачі і скласти PASCAL- програми до них.
2.Ввести іі в ЕОМ, скомпелювати і запустити на виконання.
3.Результати розв'язку записати у звіті до лабораторноі роботи.
Завдання 1. -
Скласти схему алгоритму і написати ТП - програму обробки масивів - записів, кожна з яких містять інформацію про студента. В кожному записі:
- прізвище студента;
- рік його народження;
- кількість пропусків;
- оцінку за 1 екзамен;
- оцінку за 2 екзамен;
- оцінку за 3 екзамен;
І Виконати завдання під номером, що співпадає з номером студента у журналі академічної групи. Вивести на екран:
1. Список студентів, які за три екзамени в сумі набрали 14 балів.
2. Прізвище самого старшого студента.
3. Список відмінників.
4. Прізвище наймолодшого студента.
5. Список студентів, що не мають пропущених занять.
6. Список "хорошистів".
7. Список двійочників.
8. Прізвище студента, що має найбільшу кількість пропущених занять.
9. Список студентів, яким в цьому році виповнюється 20 років.
10. Прізвище студента, що має найменшу кількість пропущених занять.
11. Середній бал здачі студентами першого екзамену.,
12. Середній бал здачі студентами сесії.
13. Середній бал здачі студентами другого екзамену.
14. Список студентів, що отримали трійку за третій екзамен.
15. Середній бал здачі студентами третього екзамену.
16. Середній вік студентів групи.
17. Список студентів, що отримали трійку за всі екзамени.
18. Список студентів, що мають однакові прізвища, за умови, що прізвище-еталон вводиться з екрана дисплея.
19. Прізвище студента, що взагалі не має пропущених занять.
20. Список студентів, що здали на двійку другий екзамен.
Завдання2
Створити файл, помістити туди 23 елементи. Зчитати їх із файлу і виконати завдання під номером, який співпадає із вашим номером у журналі академічної групи:
1. Вивести список додатніх елементів;
2. Вивести кількість додатніх елементів;
3. Вивести кількість нульових елементів;
4. Вивести кількість елементів, котрі більші ЗО;
5. Вивести максимальний елемент;
6. Вивести мінімальний елемент;
7. Вивести всі додатні елементи;
8. Вивести всі від"ємні елементи;
9.Вивести модулі від"ємних елементів;
10.Вивести суму всіх елементів;
11. Вивести добуток додатніх'елементів;
12.Вивести суму елементів, більших 6;
13. Вивести два останні елементи;
14.Вивести 1-ий і 8-й елемент;
15.Вивести всі елементи ;
16.Вивести суму квадратів додатніх елементів;
17. Вивести різницю першого і останнього елемента;
18. Вивести кадрат десятого елемента.
19. Вивести всі елементи, які більші від 15.
20. Вивести всі елементи, які по модулю більші від 14.