- •Лабораторная работа №1
- •Целый тип
- •Вещественный тип
- •Символьный тип
- •Булевский тип
- •Перечисляемый тип
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Оператор цикла с предусловием:
- •Оператор цикла с постусловием:
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №6
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №7
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №8
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №9
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №10
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №11
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
Распечатка результатов выполнения программы.
Программы №10
Компьютеры, которые есть в каждом институте: Pentium
Компьютеры, имеющиеся хотя бы в одном институте: Apple i486
Компьютеры, имеющиеся только в одном институте: Apple i486
Компьютеры, которые нет ни в одном институте: i7
Компьютеры, которые нет ни в одном институте: i7
Компьютеры, которые есть в каждом институте: Pentium
Лабораторная работа №11
Работа с файлами
Вариант №2
Постановка задачи.
Подготовить данные об абитуриентах, поступающих в институт. Информацию о каждом абитуриенте оформить в виде записи, содержащей следующие поля:
ФИО.
Год рождения.
Год окончания школы.
Оценки в аттестате.
Признак - нуждается ли в общежитии.
Оценки вступительных экзаменов.
Разработать программу записи подготовленных данных во внешний файл и программу обработки созданного внешнего файла.
Из внешнего файла, содержащего исходные данные, удалить записи, соответствующие:
иногородним абитуриентам, получившим все оценки 3.
Решение.
Текст программы № 11
Задача№1
//Программа записи подготовленных данных во внешний файл.
program lab11zapis{вариант № 2};
uses crt;
type data=record
fio:string;
godr,godo:string[4];
mat1,fiz1,rus1:integer; //оценки в аттестате
haus:boolean;
mat2,fiz2,rus2:integer; //оценки за экзамен
end;
var stu:data;
files:file of data;
keys:char;
begin
assign(files,'data.dat');
rewrite(files);
repeat;
clrscr;
writeln(' Вводим данные об абитуриентt');
write('Фамилия Имя Отчество..');readln(stu.fio);
write('Год рождения..........');readln(stu.godr);
write('Год окончания школы...');readln(stu.godo);
writeln(' Оценки в атестате');
write('Метематика.....');readln(stu.mat1);
write('Физика.........');readln(stu.fiz1);
write('Русский язык...');readln(stu.rus1);
writeln('Нуждается ли в общежитии (1-да/2-нет)');
readln(keys);
if keys='1' then stu.haus:=true
else stu.haus:=false;
writeln(' Оценки на вступительных экзаменах');
write('Метематика.....');readln(stu.mat2);
write('Физика.........');readln(stu.fiz2);
write('Русский язык...');readln(stu.rus2);
write(files,stu);
clrscr;
writeln(' Данные об абитуриенте введены');
writeln('1-Добавить данные');
writeln('2-Выход');
writeln(' (нажмите 1 или 2)');
readln(keys);
until keys='2';
close(files);
end.
Задача 2
//Программа обработки созданного внешнего файла.
//Удалить из внешнего файла все карточки иногородних студентов, получившим все оценки 3, и распечатать записи оставшиеся в файле.
program lab11udal{вариант № 2};
uses crt;
type data=record
fio:string;
godr,godo:string[4];
mat1,fiz1,rus1:integer; //оценки в аттестате
haus:boolean;
mat2,fiz2,rus2:integer; //оценки за экзамен
end;
var stu:data;
files,filee:file of data;
keys:char;
begin
assign(files,'data.dat');
assign(filee,'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.mat2<>'3')and (stu.fiz2<>'3')and (stu.rus2<>'3')or not(stu.haus) then write(files,stu);
end;
close(files);
close(filee);
//erase(filee); //удаление вспомогательного файла filee
end.
Задача №3
//Программа обработки созданного внешнего файла.
//Используя внешний файл, содержащий исходные данные, добавить 3 записей
//и распечатать список абитуриентов, имеющих в аттестате одну оценку 4, а остальные 5
program lab11{вариант № 2};
uses crt;
type data=record
fio:string;
godr,godo:string[4];
mat1,fiz1,rus1:integer; //оценки в аттестате
haus:boolean;
mat2,fiz2,rus2:integer; //оценки за экзамен
end;
var stu:data;
files,filee:file of data;
keys:char;
procedure add(n:integer);
begin
assign(files,'data.dat');
assign(filee,'date1.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(' Вводим данные об абитуриенте');
write('Фамилия Имя Отчество..');readln(stu.fio);
write('Год рождения..........');readln(stu.godr);
write('Год окончания школы...');readln(stu.godo);
writeln(' Оценки в атестате');
write('Метематика.....');readln(stu.mat1);
write('Физика.........');readln(stu.fiz1);
write('Русский язык...');readln(stu.rus1);
writeln('Нуждается ли в общежитии (1-да/2-нет)');
readln(keys);
if keys='1' then stu.haus:=true
else stu.haus:=false;
writeln(' Оценки на вступительных экзаменах');
write('Метематика.....');readln(stu.mat2);
write('Физика.........');readln(stu.fiz2);
write('Русский язык...');readln(stu.rus2);
write(files,stu);
end;
close(files);close(filee);//erase(filee); //удаление вспомогательного файла filee
end;
procedure print;
var n:byte;
begin
writeln(' ',stu.fio);
writeln('Год рождения..........',stu.godr);
writeln('Год окончания школы...',stu.godo);
writeln(' Оценки в атестате');
writeln('Метематика............',stu.mat1);
writeln('Физика................',stu.fiz1);
writeln('Русский язык..........',stu.rus1);
writeln(' Оценки на вступительных экзаменах');
writeln('Метематика............',stu.mat2);
writeln('Физика................',stu.fiz2);
writeln('Русский язык..........',stu.rus2);
if stu.haus then writeln('Нуждается в общежитии')
else writeln('Не нуждается в общежитии');
for n:=1 to 79 do write('*');
writeln('Для продолжения нажмите Enter !');
readln;
end;
begin
add(3);
clrscr;
reset(files);
while not eof(files) do
begin
read(files,stu);
if stu.mat1+stu.fiz1+stu.rus1=14 then print;
end;
close(files);
end.