![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Тексты программ №1.
Программа записи подготовленных данных во внешний файл.
program lab11{вариант № 5};
uses crt;
type data=record
fio:string[30];
godr,godo:integer;
ates:record
mat,fiz,rus:integer;
end;
haus:boolean;
ekz:record
mat,fiz,rus:integer;
end;
end;
var stu:data;
files:file of data;
keys:char;
begin
assign(files,'c:\tp\data.dat');
rewrite(files);
repeat;
clrscr;
writeln(' Вводим данные об абитуриентt');
write('Фамилия Имя Отчество..');readln(stu.fio);
write('Год рождения..........');readln(stu.godr);
write('Год окончания школы...');readln(stu.godo);
writeln(' Оценки в атестате');
write('Метематика.....');readln(stu.ates.mat);
write('Физика.........');readln(stu.ates.fiz);
write('Русский язык...');readln(stu.ates.rus);
writeln('Нуждается ли в общежитии (1-да/2-нет)');
keys:=readkey;if keys='1' then stu.haus:=true
else stu.haus:=false;
writeln(' Оценки на вступительных экзаменах');
write('Метематика.....');readln(stu.ekz.mat);
write('Физика.........');readln(stu.ekz.fiz);
write('Русский язык...');readln(stu.ekz.rus);
write(files,stu);
clrscr;
writeln(' Данные об абитуриенте введены');
writeln('1-Добавить данные');
writeln('2-Выход');
writeln(' (нажмите 1 или 2)');
keys:=readkey;
until keys='2';
close(files);
end.
Тексты программ №2.
Программа обработки созданного внешнего файла.
Удалить из внешнего файла все карточки иногородних студентов которым больше 18 лет, и распечатать записи оставшиеся в файле.
program lab11{вариант № 5};
uses crt;
type data=record
fio:string[30];
godr,godo:integer;
ates:record
mat,fiz,rus:integer;
end;
haus:boolean;
ekz:record
mat,fiz,rus:integer;
end;
end;
var stu:data;
files,filee:file of data;
keys:char;
begin
assign(files,'c:\tp\data.dat');
assign(filee,'c:\datae.dat');
reset(files);rewrite(filee);
while not eof(files)do
begin
read(files,stu);write(filee,stu);
end;
reset(filee);rewrite(files);
while not eof(filee) do
begin
read(filee,stu);
if (stu.godr>=1983)or not(stu.haus) then write(files,stu);
end;
close(files);close(filee);erase(filee);
end.
Тексты программ №3.
Программа обработки созданного внешнего файла.
Добавить 4 записи в начало(конец) внешнего файла и распечатать список студентов не нуждающихся в общежитии.
program lab11{вариант № 5};
uses crt;
type data=record
fio:string[30];
godr,godo:integer;
ates:record
mat,fiz,rus:integer;
end;
haus:boolean;
ekz:record
mat,fiz,rus:integer;
end;
end;
var stu:data;
files,filee:file of data;
keys:char;
procedure add(n:integer);
begin
assign(files,'c:\tp\data.dat');assign(filee,'c:\date.dat');
reset(files);rewrite(filee);
while not eof(files) do begin read(files,stu);write(filee,stu);end;
reset(filee);rewrite(files);
while not eof(filee) do begin read(filee,stu);write(files,stu);end;
for n:=1 to n do
begin
clrscr;
writeln(' Вводим данные об абитуриентt');
write('Фамилия Имя Отчество..');readln(stu.fio);
write('Год рождения..........');readln(stu.godr);
write('Год окончания школы...');readln(stu.godo);
writeln(' Оценки в атестате');
write('Метематика.....');readln(stu.ates.mat);
write('Физика.........');readln(stu.ates.fiz);
write('Русский язык...');readln(stu.ates.rus);
writeln('Нуждается ли в общежитии (1-да/2-нет)');
keys:=readkey;if keys='1' then stu.haus:=true
else stu.haus:=false;
writeln(' Оценки на вступительных экзаменах');
write('Метематика.....');readln(stu.ekz.mat);
write('Физика.........');readln(stu.ekz.fiz);
write('Русский язык...');readln(stu.ekz.rus);
write(files,stu);
end;
close(files);close(filee);erase(filee);
end;
procedure print;
var n:byte;
begin
writeln(' ',stu.fio);
writeln('Год рождения..........',stu.godr);
writeln('Год окончания школы...',stu.godo);
writeln(' Оценки в атестате');
writeln('Метематика............',stu.ates.mat);
writeln('Физика................',stu.ates.fiz);
writeln('Русский язык..........',stu.ates.rus);
writeln(' Оценки на вступительных экзаменах');
writeln('Метематика............',stu.ekz.mat);
writeln('Физика................',stu.ekz.fiz);
writeln('Русский язык..........',stu.ekz.rus);
if stu.haus then writeln('Нуждается в общежитии')
else writeln('Не нуждается в общежитии');
for n:=1 to 79 do write('*');
writeln('Для продолжения нажмите Enter!');
readln;
end;
begin
add(4);
clrscr;
reset(files);
while not eof(files) do
begin
read(files,stu);
if not stu.haus then print;
end;
close(files);
end.
Варианты заданий.
Из внешнего файла, содержащего исходные данные, удалить записи, соответствующие:
1) абитуриентам, получившим хотя бы одну оценку 2.
2) иногородним абитуриентам, получившим все оценки 3.
3) абитуриентам, имеющим средний балл меньше 4 и хотя бы оценку 3 в аттестате.
4) абитуриентам, имеющим средний балл в аттестате меньше 4.
5) абитуриентам, имеющим средний балл больше 4,5 и нуждающимся в общежитии.
6) иногородним абитуриентам, не получившим ни одной оценки 5.
7) абитуриентам, имеющим отличный аттестат и получившим все оценки 3.
8) абитуриентам, нуждающимся в общежитии и получившим хотя бы одну оценку 3.
9) абитуриентам, которые старше 18 лет и имеющим отличный аттестат.
10) абитуриентам, имеющим средний балл в аттестате меньше 4,5.
11) абитуриентам, имеющим средний балл за экзамены меньше 4,5.
12) абитуриентам, имеющим отличный аттестат и получившим за экзамены одну оценку 3.
13) абитуриентам, не имеющим в аттестате оценок 5.
14) абитуриентам, имеющим средний балл в аттестате 4,5 и получившим хотя бы одну оценку 3.
15) абитуриентам, имеющим отличный аттестат и нуждающимся в общежитии.
16) абитуриентам, у которых больше одной оценки 3 в аттестате.
17) абитуриентам, у которых больше одной оценки 3 за экзамены.
18) список абитуриентов, сдавших вступительные экзамены на оценки 4 и 5 и возраст менее 20 лет.
19) список абитуриентов, у которых две оценки 3 за экзамены и отличный аттестат.
20) список абитуриентов, у которых все экзамены сданы на 4 и нуждающимся в общежитии.
21) список абитуриентов, у которых не более двух оценок 5 в аттестате.
22) список абитуриентов, у которых менее двух оценок 5 за экзамены.
23) список абитуриентов, у которых менее одной оценки 5 за экзамены.
24)список абитуриентов, у которых менее одной оценки 5 за экзамены и нуждающимся в общежитии.
Используя внешний файл, содержащий исходные данные, добавить N записей и распечатать:
1) список абитуриентов, имеющих в аттестате только оценки 5 (N=2).
2) список абитуриентов, имеющих в аттестате одну оценку 4, а остальные 5 (N=3).
3) список абитуриентов, имеющих средний балл больше 4,5 (N=4).
4) список абитуриентов, имеющих средний балл меньше 4 (N=1).
5) список абитуриентов, нуждающихся в общежитии (N=3).
6) список абитуриентов, сдавших вступительные экзамены только на оценки 5 (N=4).
7) список абитуриентов, сдавших вступительные экзамены на оценки 4 и 5 (N=2).
8) список абитуриентов, сдавших экзамены с 2-мя оценками 4 и остальными оценками 5 (N=3).
9) список абитуриентов, имеющих средний балл в аттестате 4,5(N=3).
10) список абитуриентов, имеющих в аттестате две оценки 4, а остальные 5(N=2).
11) список абитуриентов, имеющих средний балл меньше 4(N=3).
12) список абитуриентов, у которых все экзамены сданы на 4 (N=4).
13) список абитуриентов, у которых одна оценка 4, а остальные 5(N=3).
14) список абитуриентов, у которых одна оценка 5, а остальные 4(N=5).
15) список абитуриентов, у которых одна оценка 3 в аттестате. (N=3).
16) список абитуриентов, имеющих больше двух оценок 3 в аттестате. (N=2).
17) список абитуриентов, имеющих две оценки 3 в аттестате(N=4).
18) список абитуриентов, имеющих средний балл в аттестате ниже 4,5 (N=3).
19) список абитуриентов, у которых две оценки 3 за экзамены и отличный аттестат (N=2).
20) список абитуриентов, у которых нет ни одной оценки 5 в аттестате (N=4).
21) список абитуриентов, у которых отличный аттестат и средний балл за экзамены меньше 4(N=3).
22) список абитуриентов, имеющих средний балл больше 4 и оценки 3 в аттестате (N=4).
23) абитуриентов возраст которых больше 18 лет и все оценки 5 за экзамены(N=2).
24) абитуриентов, у которых средний балл больше 4,5 и одна оценка 3 в аттестате(N=3).
Дата публикования: 2015-02-22; Прочитано: 868 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!