ВУЗ: Пермский национальный исследовательский политехнический университет
Категория: Лекция
Дисциплина: Программирование
Добавлен: 19.10.2018
Просмотров: 4402
Скачиваний: 9
СОДЕРЖАНИЕ
Лабораторная работа №11, вариант № 5.
9.3.1. Слияние упорядоченных последовательностей.
9.3.2. Сортировка сбалансированным слиянием
9.3.3. Сортировка простым слиянием
9.3.4. Сортировка естественным слиянием.
9.3.5. Сортировка многофазным слиянием.
Выполнение операций над списковыми структурами.
Выполнение операций над списковыми структурами.
Работа со стеками и очередями.
Работа со стеками и очередями.
11. Организация меню с использованием средств среды Turbo Pascal
writeln(' ',stu.fio);
writeln(text1,stu.godr);
writeln(text2,stu.godo);
writeln(text3);
writeln(text4,stu.ates.mat);
writeln(text5,stu.ates.fiz);
writeln(text6,stu.ates.rus);
writeln(text7);
writeln(text4,stu.ekz.mat);
writeln(text5,stu.ekz.fiz);
writeln(text6,stu.ekz.rus);
if stu.haus then writeln(text8)
else writeln(text9);
window(1,3,39,3+fiounit);clrscr;
freeunit:=1;
reset(files);while not(freeunit=position) do begin read(files,stu);freeunit:=freeunit+1;end;
while not eof(files)and not(freeunit=position+fiounit) do
begin
read(files,stu);
if (position)=freeunit then
begin
textcolor(0);
textbackground(4);
writeln(freeunit,'.',stu.fio);
textcolor(15);
textbackground(0);
end
else writeln(freeunit,'.',stu.fio);
freeunit:=freeunit+1;
end;
while not(freeunit=position+fiounit) do
begin
writeln(freeunit,'.........................');
freeunit:=freeunit+1;
end;
window(1,25,80,25);textcolor(0);textbackground(2);
write('| Esc-выход | Delete-удалить | Enter-изменить | End-сортировка |');
keys:=readkey;
sound(2000);
quit:=false;
if keys=#79 then begin sort;end;
if keys=#72 then begin position:=position-1;if position=0 then position:=1;end;
if keys=#80 then begin position:=position+1;if position=(rec+1) then position:=rec;end;
if keys=#83 then delet;
if keys=#13 then koreckt;
nosound;
until (keys=#27)or(rec=0);
ex:end;
procedure creat;
begin
cls;
path:=path+name+'\';
write('Введите имя создаваемого файла ',path);
readln(name);
namefile:=path+name+'.dat';
if openfile then close(files);
assign(files,namefile);
rewrite(files);
close(files);
end;
procedure lookdir;
var f:searchrec;
recdir:integer;
attr:byte;
begin
cls;position:=1;path:='c:\';
repeat
freeunit:=1;recdir:=0;
window(30,1,60,21);textcolor(15);textbackground(0);clrscr;
writeln(path);writeln;
FindFirst(path+'*',Directory,f);
while doserror=0 do
begin
recdir:=recdir+1;
if position+20>=recdir then if position=recdir then begin
textcolor(0);textbackground(15);
writeln(f.name);
textcolor(15);textbackground(0);
name:=f.name;attr:=f.attr;
end
else if position <recdir then writeln(f.name);
findnext(f);
end;
FindFirst(path+'*.dat',AnyFile-Directory,f);
while doserror=0 do
begin
recdir:=recdir+1;
if position+20>=recdir then if position=recdir then begin
textcolor(0);textbackground(15);
writeln(f.name);
textcolor(15);textbackground(0);
name:=f.name;attr:=f.attr;
end
else if position <recdir then writeln(f.name);
findnext(f);
end;
window(1,25,80,25);textcolor(0);textbackground(2);
write('| Esc-Выход | Insert-Выбрать каталог |');
keys:=readkey;
sound(2000);
quit:=false;
if keys=#82 then if ((attr=48)or(attr=16))and not((name='.')or(name='..'))then begin creat;quit:=true;end;
if keys=#72 then begin position:=position-1;if position=0 then position:=1;end;
if keys=#80 then begin position:=position+1;if position=(recdir+1) then position:=recdir;end;
if keys=#13 then if (attr=48)or(attr=16) then if (name='..')or(name='.') then begin
repeat
delete(path,length(path),1);
until '\'=copy(path,length(path),1);
position:=1;
end
else begin path:=path+name+'\';position:=1;end
else begin quit:=true;namefile:=path+name;end;
if keys=#27 then quit:=true;
nosound;
until quit;
if not(keys=#27) then
begin
openfile:=true;
assign(files,namefile);
end;
quit:=false;
end;
procedure find;
label ex;
var finfio:string[30];
begin
if not openfile then goto ex;
write('Введите Ф.И.О. :');
readln(finfio);
reset(files);
freeunit:=1;
while not eof(files) do
begin
read(files,stu);if stu.fio=finfio then begin clrscr;lookmenu;goto ex;end;
freeunit:=freeunit+1;
end;
ex:end;
procedure add;
label ex;
begin
if not openfile then goto ex;
reset(files);rewrite(filetemp);
while not eof(files) do begin read(files,stu);write(filetemp,stu);end;
reset(filetemp);rewrite(files);
while not eof(filetemp) do begin read(filetemp,stu);write(files,stu);end;
repeat;
reader;
write(files,stu);
clrscr;
writeln(' Данные об абитуриенте введены');
writeln('1-Добавить данные');
writeln('2-Выход');
writeln(' (нажмите 1 или 2)');
keys:=readkey;
until keys='2';
ex:end;
begin
namefile:='**********';rec:=0;openfile:=false;
assign(filetemp,'c:\temp.dat');
startmenu;
repeat
outtextmenu(menuunit,true);
keys:=readkey;
sound(2000);
quit:=false;
if keys=#72 then begin outtextmenu(menuunit,false);menuunit:=menuunit-1;if menuunit=0 then menuunit:=9;end;
if keys=#80 then begin outtextmenu(menuunit,false);menuunit:=menuunit+1;if menuunit=10 then menuunit:=1;end;
nosound;
if keys=#13 then begin
cls;
case menuunit of
1:lookdir;
2:lookdir;
3:find;
4:add;
5:lookmenu;
6:lookmenu;
7:lookmenu;
8:lookmenu;
9:quit:=true;
end;
startmenu;
end;
until quit;
if openfile then close(files);
rewrite(filetemp);close(filetemp);erase(filetemp);
end.
Распечатка результатов работы программы после выполнения пунктов меню 4,5,6 и 8:
Фамилия Имя Отчество 1.Бажин Никита Андреевич 2.Гаспер Валентина Александровна 3.Демидов Иван Сергеевич 4.Егорова Пелагея Луповна 5.Еговцев Иван Артурович Бажин Никита Андреевич 6.Кирьянов Антон Алексеевич Год рождения......……..…1983 7.Корягина Нина Плахова Год окончания школы…..2000 8.Маслова Нина Михайловна Оценки в атестате 9.Молчановский Ильнар Ирекович Метематика.....………......5 10.Мельникова Лариса Анатольевна Физика..............…………..5 11.Михайлов Артём Егорович Русский язык........………4 12.Малышев Василий Владимирович Оценки на вступительных экзаменах 13.Ползунова Елена Андреевна Метематика..........……….5 14.Смирнов Никита Владимирович Физика..............…………...4 15.Созинов Алексей Петрович Русский язык........……….4 16.Синилов Сергей Иванович Нуждается в общежитии 17.Теплоухов Юрий Леонидович 18.Токарева Надежда Александровна 19.Тихонов Сергей Геннадьевич 20.Шарапов Евгений Владимирович | Esc-выход | Delete-удалить | Enter-изменить | End-сортировка | |
Варианты заданий.
-
Книги в библиотеке. Содержится следующая информация: Название книги, автор, год издания, тираж, инвентарный номер.
-
Автостоянка. Сведения о прибывающих машинах: Марка, номер, ФИО владельца, дата прибытия на стоянку, время нахождения на стоянке.
-
Фирма. Анкетные данные сотрудников: ФИО, год поступления в фирму, дата рождения, оклад, адрес.
-
Аптека. Номенклатура товаров: Название лекарства, внутреннее/наружное, дата изготовления, срок годности, ФИО кассира (продавца).
-
Фильмы. Список содержит следующую информацию: название фильма, режиссёр, год выпуска, продолжительность в минутах, студия, где снимался фильм.
-
Отдел “Соки-воды”. Информация об имеющихся в продаже напитках: название, фирма-изготовитель, калорийность, ёмкость посуды, цена.
-
Фотография. Журнал записей содержит информацию: номер заказа, дата приёма заказа, размер фотографий, ФИО фотографа, ФИО заказчика, цена заказа.
-
Гостиница. Содержится следующая информация о проживающих в гостинице: ФИО клиента, номер комнаты, дата въезда, количество дней проживания, стоимость суточного проживания (зависит от категории номера).
-
Продажа видео-аудио кассет. Хранится следующая информация: Марка кассеты, фирма-изготовитель, название альбома, время записи (например: 60, 90 минут).
-
Магазин “Мебель”. Номенклатура товаров: Наименование изделия, дата изготовления, цена продажи, завод-изготовитель, цвет, название материала из которого изготовлено изделие.
-
Магазин “Продукты”. Ведётся учёт товаров: Наименование товара, поступившее количество (штук), количество проданного (штук), цена продажи, дата изготовления, дата реализации.
-
Магазин “Одежда”. Ведётся учёт товаров: Наименование изделия, цена за штуку, количество полученное, продано, размер, цвет, вид ткани.
-
Детский сад. Информация о дошкольниках: ФИО ребёнка, дата рождения, адрес проживания, уровень подготовки (значение 1-5).
-
Отдел “Бытовая техника”. Содержится следующая информация: Наименование товара, фирма изготовитель, серийный номер, цвет, срок гарантии.
-
Киоск “Цветы”. Ведётся учёт проданных цветов: Название цветка, цена за штуку, цвет, комнатное/садовое.
-
Ремонт часов. Имеется следующая информация: Марка часов, ФИО часовщика, дата приёмки, дата выхода из ремонта, стоимость ремонта.
-
Картинная галерея. Ведётся учёт экспонатов галереи: Наименование картины, художник, инвентарный номер, год создания картины, реставратор, цена.
-
Магазин “Ткани”. Ведётся учёт товаров: Наименования ткани, фабрика -изготовитель, полученное количество (в метрах), цена за метр, ширина ткани.
-
Телефонная станция. Имеется информация: ФИО абонента, номер телефона, адрес, тариф со звонка.
-
Речное пароходство. Информация о судах: Название парохода, маршрут, водоизмещение, количество пассажирских мест, класс судна (пароход, теплоход, трамвайчик).
-
Ателье. Имеется следующая информация: номер заказа, наименование изделия, количество ткани для изделия, стоимость заказа, дата приёма заказа, дата изготовления.
-
Дворец творчества юных. Хранится следующая информация: Название кружка, год создания кружка, ФИО преподавателя, количество человек в кружке, средний возраст занимающихся.
-
Почта. Ведётся учёт предоставляемых услуг: Категория отправления (посылка, бандероль, телеграмма, письмо, перевод), вес или количество букв, стоимость услуги, дата отправления, время отправления.
-
Стройматериалы. Ведётся учёт продажи материалов: Наименование материала, завод-изготовитель, цвет, тонкость помола, цена за единицу.
Анкетные данные абитуриентов:
Анисимов Петр Иванович Год рождения: 1982 Год окончания школы: 1999 Аттестат: Математика: 4 Физика: 4 Русский язык: 4 Нуждается в общежитии. Экзамены: Математика: 5 Физика: 3 Русский язык: 4 |
Синилов Сергей Иванович Год рождения: 1983 Год окончания школы: 2000 Аттестат: Математика: 4 Физика: 4 Русский язык: 4 Не нуждается в общежитии. Экзамены: Математика: 4 Физика: 5 Русский язык: 3 |
Шарапов Евгений Владимирович Год рождения: 1984 Год окончания школы: 2001 Аттестат: Математика: 4 Физика: 5 Русский язык: 4 Не нуждается в общежитии. Экзамены: Математика: 4 Физика: 5 Русский язык: 3 |
|
Бажин Никита Андреевич Год рождения: 1983 Год окончания школы: 2000 Аттестат: Математика: 5 Физика: 5 Русский язык: 4 Нуждается в общежитии. Экзамены: Математика: 5 Физика: 4 Русский язык: 4 |
Созинов Алексей Петрович Год рождения: 1984 Год окончания школы: 2001 Аттестат: Математика: 5 Физика: 5 Русский язык: 5 Не нуждается в общежитии. Экзамены: Математика: 5 Физика: 5 Русский язык: 4 |
Малышев Василий Владимирович Год рождения: 1982 Год окончания школы: 1999 Аттестат: Математика: 4 Физика: 4 Русский язык: 5 Не нуждается в общежитии. Экзамены: Математика: 4 Физика: 5 Русский язык: 4 |
|
Мельникова Лариса Анатольевна Год рождения: 1984 Год окончания школы: 2001 Аттестат: Математика: 5 Физика: 5 Русский язык: 4 Не нуждается в общежитии. Экзамены: Математика: 5 Физика: 5 Русский язык: 5 |
Тихонов Сергей Геннадьевич Год рождения: 1982 Год окончания школы: 1999 Аттестат: Математика: 4 Физика: 5 Русский язык: 4 Нуждается в общежитии. Экзамены: Математика: 5 Физика: 4 Русский язык: 3 |
Еговцев Иван Артурович Год рождения: 1983 Год окончания школы: 2000 Аттестат: Математика: 5 Физика: 4 Русский язык: 4 Нуждается в общежитии. Экзамены: Математика: 4 Физика: 4 Русский язык: 4 |
|
Ползунова Елена Андреевна Год рождения: 1982 Год окончания школы: 1999 Аттестат: Математика: 5 Физика: 4 Русский язык: 4 Не нуждается в общежитии. Экзамены: Математика: 4 Физика: 4 Русский язык: 3 |
Михайлов Артем Егорович Год рождения: 1983 Год окончания школы: 2000 Аттестат: Математика: 4 Физика: 5 Русский язык: 4 Нуждается в общежитии. Экзамены: Математика: 4 Физика: 4 Русский язык: 4 |
Смирнов Никита Владимирович Год рождения: 1984 Год окончания школы: 2001 Аттестат: Математика: 4 Физика: 4 Русский язык: 5 Не нуждается в общежитии. Экзамены: Математика: 4 Физика: 4 Русский язык: 4 |
|
Токарева Надежда Александровна Год рождения: 1983 Год окончания школы: 2000 Аттестат: Математика: 4 Физика: 5 Русский язык: 5 Не нуждается в общежитии. Экзамены: Математика: 5 Физика: 5 Русский язык: 5 |
Маслова Нина Михайловна Год рождения: 1984 Год окончания школы: 2001 Аттестат: Математика: 4 Физика: 5 Русский язык: 3 Не нуждается в общежитии. Экзамены: Математика: 4 Физика: 4 Русский язык: 3 |
Молчановский Ильнар Ирекович Год рождения: 1982 Год окончания школы: 1999 Аттестат: Математика: 4 Физика: 4 Русский язык: 4 Нуждается в общежитии. Экзамены: Математика: 4 Физика: 4 Русский язык: 3 |
|
Корягина Нина Плахова Год рождения: 1984 Год окончания школы: 2001 Аттестат: Математика: 4 Физика: 4 Русский язык: 5 Не нуждается в общежитии. Экзамены: Математика: 4 Физика: 5 Русский язык: 4 |
Егорова Пелагея Луповна Год рождения: 1983 Год окончания школы: 2000 Аттестат: Математика: 5 Физика: 5 Русский язык: 4 Не нуждается в общежитии. Экзамены: Математика: 5 Физика: 4 Русский язык: 5 |
Гаспер Валентина Александровна Год рождения: 1982 Год окончания школы: 1999 Аттестат: Математика: 4 Физика: 4 Русский язык: 3 Нуждается в общежитии. Экзамены: Математика: 4 Физика: 5 Русский язык: 3 |
|
Теплоухов Юрий Леонидович Год рождения: 1982 Год окончания школы: 1999 Аттестат: Математика: 4 Физика: 5 Русский язык: 4 Нуждается в общежитии. Экзамены: Математика: 5 Физика: 4 Русский язык: 4 |
Кирьянов Антон Алексеевич Год рождения: 1983 Год окончания школы: 2000 Аттестат: Математика: 4 Физика: 4 Русский язык: 4 Нуждается в общежитии. Экзамены: Математика: 4 Физика: 4 Русский язык: 3 |
|