Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра інформаційних
систем та мереж
Лабораторна робота №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.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!