Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра інформаційних
систем та мереж
Лабораторна робота №8
на тему
ЗАПИСИ В PASCAL. РОБОТА З ФАЙЛАМИ
Львів-2010
Мета роботи ознайомитись із особливостями застосування структурованих типів (записів) у алгоритмічній мові Pascal.
Перший рівень
1. Організувати та продемонструвати роботу приклада 1 для п’яти студентів.
2. Організувати та продемонструвати роботу приклада 2 для п’яти студентів, використовуючи типізовані файли.
3. Організувати та продемонструвати роботу приклада 6 для п’яти студентів, використовуючи текстові файли.
program laba8_1;
uses crt;
var
a :text;
temp : string;
begin
clrscr;
readln (temp);
assign (a,temp);
rewrite (a);
writeln (a,'Petrov');
writeln (a,'Ivanov');
writeln (a,'Sidorova');
writeln (a,'Leh');
writeln (a,'Volodin');
close(a);
end.
program InPutGroup;
uses crt;
type
Student = record
Sname, Name : string;
Ball : real;
end;
var
a : file of Student;
temp: string;
procedure OpenFile;
begin
writeln('Zadajte imja fajla, sh4o bude stvoriuvatys: ');
readln(temp);
assign(a,temp);
rewrite(a);
end;
procedure InPutFile;
var St : Student;
Ch : char;
begin
repeat
writeln('Vvedit dani pro studenta:');
write('Prizvyshche>'); readln(St.SName);
write('Imja>'); readln(St.Name);
write('Serednij bal uspishnosti>'); readln(St.Ball);
write(a, St);
write('Treba vvodyty dani pro inshogo studenta? "Y"/"N"> ');
readln(Ch);
until (Ch = 'n') or (Ch = 'N');
close(a);
end;
begin
clrscr;
writeln('Programa stvorennia fajla danyh pro uspishnist');
openfile;
InPutFile;
end.
Program laba8_13;
Uses Crt;
Type Stud=record
Prizv:string[20];
Imja:string[12];
S_bal:real;
End;
Var
myfile:file of stud; Ch : char;
Student:stud; temp : string;
Max_S_bal:real; Max_Prizv:string[20]; Max_Imja:string[12];
Min_S_bal:real; Min_Prizv:string[20]; Min_Imja:string[12];
Begin
Clrscr;
Max_S_bal:=0; Max_Prizv:=''; Max_Imja:='';
Min_S_bal:=5; Min_Prizv:=''; Min_Imja:='';
readln (temp);
Assign(myfile,temp);
rewrite (myfile);
repeat
writeln('Vvedit dani pro studenta:');
write('Prizvyshche>'); readln(Student.Prizv);
write('Imja>'); readln(Student.imja);
write('Serednij bal uspishnosti>'); readln(Student.S_Bal);
write(myfile, Student);
write('Treba vvodyty dani pro inshogo studenta? "Y"/"N"> ');
readln(Ch);
until (Ch = 'n') or (Ch = 'N');
close(myfile);
Reset (myfile);
While not eof(myfile) do
With student do
Begin
Read (myfile, student);
Writeln (Prizv:20, Imja:20, S_bal:8:1);
If S_bal> Max_S_bal then
Begin
max_s_bal:=s_bal;Max_Prizv:=Prizv; Max_Imja:=Imja;
End;
If S_bal<Min_S_bal then
Begin
min_S_bal:=s_bal;Min_Prizv:=Prizv; Min_Imja:=Imja;
End;
End;
Writeln('Sudent z najvyshchym balom: ', Max_Prizv:20, Max_Imja:12);
Writeln('Sudent z najnyzchym balom: ', Min_Prizv:20, Min_Imja:12);
Readkey;
End.
Другий рівень
Модифікувати завдання першого рівня для розв’язання наступної задачі (згідно номера варіанта).
5. Обчислити середній бал групи і роздрукувати список студентів, які мають середній бал, більший середнього балу групи.
Program laba8_13;
Uses Crt;
Type Stud=record
Prizv:string[20];
Imja:string[12];
S_bal:real;
End;
Var
myfile:file of stud; Ch : char;
Student:stud; temp : string;
Sbg : real; i:integer;
Begin
Clrscr;
readln (temp);
Assign(myfile,temp);
rewrite (myfile);
repeat
writeln('Vvedit dani pro studenta:');
write('Prizvyshche>'); readln(Student.Prizv);
write('Imja>'); readln(Student.imja);
write('Serednij bal uspishnosti>'); readln(Student.S_Bal);
sbg:= sbg+Student.S_Bal; i:=i+1:
write(myfile, Student);
write('Treba vvodyty dani pro inshogo studenta? "Y"/"N"> ');
readln(Ch);
until (Ch = 'n') or (Ch = 'N');
close(myfile);
sbg:=sbg/i;
Reset (myfile);
While not eof(myfile) do
With student do
Begin
Read (myfile, student);
If S_bal>sbg then
Writeln (Prizv:20, Imja:20, S_bal:8:1);
End;
Readkey;
End.
Висновок: на лабораторній роботі набув практичних навиків із особливостями застосування структурованих типів (записів) у алгоритмічній мові Pascal.