Робота з файлами. p>
Теоретичні відомості p>
Файл - це сукупність даних однакового типу. Таке визначеннязбігається з визначенням масиву, але, на відміну від останнього, файлзберігають на диску, кількість даних у файлі при його опісуванні НЕвказується, елементи файла не мають індексів, що ускоаднює роботу з ними. p>
Опис файлового типу має вигляд: p>
Type = File of; p>
Процедури і функції для роботи з файлами:
Assign - зв'язує деякий зовнішній файл на диску з файловою змінною.
Reset - відкриває уже раніше створений файл данних на диску, ім'я якогобуло перед цим пов'язане процедурою Assign.
Rewrite - створює новий файл і відкриває його. Якщо файл вже існує вмістзнищується, а сам файл відкривається знову.
Close - закриває файл, який зв'язаний з файловою змінною.
Eof - набуває значення true, якщо досягнуто кінець файла, інакше набуваєзначення false.
IOResult - використовується для пошуку помилок, які виникають при роботіз файлами. p>
Індивідуальне завдання p>
Завдання 1. p>
Написати програму контролю знань студентів з літератури.
Оформити файл відповідей та файл питань. P>
Завдання 2. P>
Написати програму що виводить на екран студентів, що набрали прохідний балне нижче 8. p>
Завдання 1: p>
program zavd1;uses crt;const qfile = 'quest.txt'; afile = 'ansver.txt';var f1, f2: text; i, k: integer; name, ansv: string;begin clrscr; assign (f1, qfile); assign (f2, afile); rewrite (f2); reset (f1); write ( 'Введіть своє ім `я, групу:'); readln (name); writeln (f2, name); while not eof (f1) do begin readln (f1, name); writeln (name); write ( 'Ваша відповідь:'); readln (name); writeln (f2, name); readln (f1, ansv) ; if ansv = name then k: = k +1; i: = i +1; end; writeln (f2, 'Всього питань:'); writeln (f2, i); writeln (f2, 'Правильне харчування:') ; writeln (f2, k); close (f1); close (f2);end. p>
Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И: p>
Вміст файлу протоколу: p>
Брігіда e02товстоїспіваєда
Всього питань:
3
Правильне харчування:
2 p>
Завдання 2: p>
program typefiles;uses crt;const kolocenok = 2;type abiturient = record fio: string; marks: array [1 .. kolocenok] of integer; end;var ser, i, j, k: integer; abit: array [1 .. 40] of abiturient; temp: abiturient;begin clrscr; write ( 'Введiть кiлькiсть абiтурiентiв:'); readln (k); for i: = 1 to k do begin writeln ( 'абiтурiент', i ,':'); write ( 'im `я:'); readln (temp.fio); writeln ( 'Введiть оцiнки:'); for j: = 1 to kolocenok do readln (temp.marks [j]); abit [i]: = temp; end; clrscr; for i: = 1 to k do begin writeln ( 'абiтурiент', i ,':'); write ( 'im `я:', abit [i]. fio); write ( 'травні оцiнки:'); ser: = 0; for j: = 1 to kolocenok do begin write (abit [i]. marks [j], ','); ser: = ser + abit [i]. marks [j]; end; writeln; if ser> 8 then writeln ( 'З А Ч И С Л Е Н И Й!'); writeln; end; p>
end. p>
Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И: p>
абiтурiент 1:im `я: Саша травні оцiнки: 4, 5,
З А Ч И С Л Е Н И Й! p>
абiтурiент 2:im `я: Петро травні оцiнки: 3, 4, p>
абiтурiент 3:im `я: Олег травні оцiнки: 4, 2, p>
абiтурiент 4:im `я: Микола травні оцiнки: 2, 2, p>
Висновок: поглибив знання, вміння та навички розробки з використаннямтекстових та тіпізованіх файлів, закріпив свої знання в області записів татіпізованіх файлів. p>