модулі та робота з файлами в Паскаль

модулі та робота з файлами в Паскаль

Робота з файлами.

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

Файл – це сукупність даних однакового типу. Таке визначення

збігається з визначенням масиву, але, на відміну від останнього, файл

зберігають на диску, кількість даних у файлі при його описуванні не

вказується, елементи файла не мають індексів, що ускоаднює роботу з ними.

Опис файлового типу має вигляд:

Type = File of ;

Процедури і функції для роботи з файлами:

Assign – зв'язує деякий зовнішній файл на диску з файловою змінною.

Reset – відкриває уже раніше створений файл данних на диску, ім'я якого

було перед цим пов'язане процедурою Assign.

Rewrite – створює новий файл і відкриває його. Якщо файл вже існує вміст

знищується, а сам файл відкривається знову.

Close – закриває файл, який зв'язаний з файловою змінною.

Eof – набуває значення true, якщо досягнуто кінець файла, інакше набуває

значення false.

IOResult – використовується для пошуку помилок, які виникають при роботі

з файлами.

Індивідуальне завдання

Задача 1.

Написати програму контролю знань студентів з літератури.

Оформити файл відповідей та файл питань.

Задача 2.

Написати програму що виводить на екран студентів, що набрали прохідний бал

не нижче 8.

Задача 1:

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.

Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И :

Вміст файлу протоколу:

Бригіда e02

толстой

поет

да

Всього питань :

3

Правильних питань :

2

Задача 2:

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;

end.

Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И :

абiтурiент 1:

im`я: Саша мае оцiнки: 4, 5,

З А Ч И С Л Е Н И Й !

абiтурiент 2:

im`я: Петро мае оцiнки: 3, 4,

абiтурiент 3:

im`я: Олег мае оцiнки: 4, 2,

абiтурiент 4:

im`я: Микола мае оцiнки: 2, 2,

Висновок:поглибив знання, вміння та навички розробки з використанням

текстових та типизованих файлів, закріпив свої знання в області записів та

типизованих файлів.