Программа SCHOOL на Паскаль

Дан файл SCHOOL, в котором содержится информация о школьниках:
1) Ф.И.О.;
2) Число, месяц, год рождения;
3) Оценки экзаменов;
а) отсортировать записи по возрастанию среднего экзаменационного балла;
б) по запросу на Ф.И.О.- выдавать средний балл;
в) распечатать ведомость школьников со средним баллом меньше 3.

Решение состоит из 2 направлений:
Создаем 1 решение, так как файла с базой нет.
[code]
Program balls;
// запись Фамилия, Имя, Отчество, 4 оценки
type Scolnik = record
F: String[20];
N: String[20];
S: String[20];
Rating: array [1..4] of Byte;
end;

Var
i:Integer;
j:Integer;
files: file of Scolnik; // структурный файл для записей
P:Scolnik; // одна запись Scolnik

Begin
Assignfile(files,’SCOOL.DAT’); // связь с файлом переменной
rewrite(files); // файл открывается для записи

For i:=1 to 10 do // 10 записей
begin
write(‘Введите фамилию — ‘);
readln(P.F);
write(‘Введите Имя — ‘);
readln(P.N);
write(‘Введите Отчество — ‘);
readln(P.S);
write(‘Введите 4 оценки :’);
For j:= 1 to 4 do readln(P.Rating[j]); // 4 оценки
write(files,P); // после заполнения 1 записи — запись в файл
end;

Close(files); // закрываем файл
End.
[/code]
Второе решение.
[code]
Program balls;
// запись Фамилия, Имя, Отчество, 4 оценки
type Scolnik = record
F: String[20];
N: String[20];
S: String[20];
Rating: array [1..4] of Byte;
end;

Var
i:Integer;
j:Integer;
sred:Real;
files: file of Scolnik; // структурный файл для записей
P:Scolnik; // одна запись Scolnik

Begin
Assignfile(files,’SCOOL.DAT’); // связь с файлом переменной
Reset(files); // файл открывается для чтения

While not EOF(files) do
begin
Read(files,P);
i:=0;
For j:= 1 to 4 do
begin
i:=i+P.Rating[j];
end;
sred:=i/4;
if (sred<3) then WriteLn(P.F,’ ‘,P.N,’ ‘,P.S);
end;
Close(files); // закрываем файл
End.
[/code]

1 Star2 Stars3 Stars4 Stars5 Stars (2 голосов, средний:5,00 из 5)
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Оставить комментарий