Автор: Пользователь скрыл имя, 20 Января 2012 в 20:42, курсовая работа
Модули представляют собой инструмент для разработки библиотек прикладных программ и мощное средство модельного программирования.
Задача курсового проекта: разработать программу, представляющую собой информационно-справочную систему на языке программирования Turbo Pascal.
Введение 3
1 Двусвязные списки и основные операции над ними 4
1.1 Двунаправленные списки 4
1.2 Циклические списки 4
1.3 Свойства двунаправленных списков: 7
2 Разработка информационно-поисковой системы «Зачисление Абитуриентов» на языке программирования Паскаль 9
2.1 Постановка задачи 9
2.2 Описание алгоритма 11
2.3 Практическая часть выполнения задачи «Зачисление абитуриентов» на языке программирования 14
2.4 Результат работы программы 30
Заключение 34
Cписок используемых источников 35
Приложения 36
if
abiturient[i].mesto>
begin
qwerty:=abiturient[i];
abiturient[i]:=
abiturient[j]:=qwerty;
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
vivod;
end;
if t=2 then
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if
abiturient[i].mesto<
begin
qwerty:=abiturient[i];
abiturient[i]:=
abiturient[j]:=qwerty;
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
vivod;
end; end;
3: begin if t=1 then
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if
abiturient[i].ball>abiturient[
begin
qwerty:=abiturient[i];
abiturient[i]:=
abiturient[j]:=qwerty;
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
vivod;
end;
if t=2 then
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if
abiturient[i].ball<abiturient[
begin
qwerty:=abiturient[i];
abiturient[i]:=
abiturient[j]:=qwerty;
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
vivod;
end;
end;
4: begin if t=1 then
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if
abiturient[i].lgoti>
begin
qwerty:=abiturient[i];
abiturient[i]:=
abiturient[j]:=qwerty;
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
vivod;
end;
if t=2 then
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if
abiturient[i].lgoti<
begin
qwerty:=abiturient[i];
abiturient[i]:=
abiturient[j]:=qwerty;
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
vivod;
end;
end;
5:begin if t=1 then
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if
abiturient[i].osnova>
begin
qwerty:=abiturient[i];
abiturient[i]:=
abiturient[j]:=qwerty;
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
vivod;
end;
if t=2 then
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if
abiturient[i].osnova<
begin
qwerty:=abiturient[i];
abiturient[i]:=
abiturient[j]:=qwerty;
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
vivod;
end;
end;
end;
end;
{Процедура поиска}
procedure poisk;
var q:string;
m,l,x,la,lam:integer;
begin
assign(f,fio);
textcolor(10);
Writeln ('Выберите критерии поиска');
Writeln ('1 - ФИО');
Writeln ('2 - Прописка');
Writeln ('3 - Набранные баллы');
Writeln ('4 - Наличие льгот');
Writeln ('5 - Договорная основа');
Readln(l);
reset(f);
for i:=1 to n do
read(f,abiturient[i]);
close(f);
case l of
1: begin
writeln('Введите ФИО');
readln(q);
m:=0;
for i:=1 to n do
if
pos(q,abiturient[i].familia)<>
then
begin
inc(m);
abit[m]:=abiturient[i];
end;
if m<>0 then
begin
textcolor(12);
writeln ('Абитуриенты: ');
textcolor(14);
writeln('|_______________
writeln('|',' ФИО | Место прописки | Баллы | Льготы | Основа |');
writeln('|_______________
lam:=1;
for i:=1 to m do
with abit[i] do
begin
write('|',lam,')',
writeln(ball:4:1,'|',
lam:=lam+1;
end;
writeln('|_______________
end
else
writeln('Запись с ',q,' не найдена ');
end;
2: begin
writeln('Введите прописку');
readln(q);
m:=0;
for i:=1 to n do
if pos(q,abiturient[i].mesto)<>0
then
begin
inc(m);
abit[m]:=abiturient[i];
end;
if m<>0 then
begin
textcolor(12);
writeln ('Абитуриенты: ');
textcolor(14);
writeln('|_______________
writeln('|',' ФИО | Место прописки | Баллы | Льготы | Основа |');
writeln('|_______________
lam:=1;
for i:=1 to m do
with abit[i] do
begin
write('|',lam,')',
writeln(ball:4:1,'|',
lam:=lam+1;
end;
writeln('|_______________
end
else
writeln('Запись с ',q,' не найдена ');
end;
3: begin
writeln('Введите количество баллов по которому произведете поиск');
readln(x);
Writeln('1 - Баллы, выше вами набранного!');
Writeln('2
- Баллы, ниже вами набранного!')
Readln(la);
case la of
1: begin
m:=0;
for i:=1 to n do
if abiturient[i].ball>=x
then
begin
inc(m);
abit[m]:=abiturient[i];
end;
if m<>0 then
begin
textcolor(12);
writeln ('Абитуриенты: ');
textcolor(14);
writeln('|_______________
writeln('|',' ФИО | Место прописки | Баллы | Льготы | Основа |');
writeln('|_______________
lam:=1;
for i:=1 to m do
with abit[i] do
begin
write('|',lam,')',
writeln(ball:4:1,'|',
lam:=lam+1;
end;
writeln('|_______________
end;
end;
2: begin
m:=0;
for i:=1 to n do
if abiturient[i].ball<=x
then
begin
inc(m);
abit[m]:=abiturient[i];
end;
if m<>0 then
begin
textcolor(12);
writeln ('Абитуриенты: ');
textcolor(14);
writeln('|_______________
writeln('|',' ФИО | Место прописки | Баллы | Льготы | Основа |');
writeln('|_______________
lam:=1;
for i:=1 to m do
with abit[i] do
begin
write('|',lam,')',
writeln(ball:4:1,'|',
lam:=lam+1;
end;
writeln('|_______________
end
else
writeln('Баллы с ',q,' не найдены');
end;
end;
end;
4: begin
writeln('Введите льготы(есть/нет)');
readln(q);
m:=0;
for i:=1 to n do
if pos(q,abiturient[i].lgoti)<>0
then
begin
inc(m);
abit[m]:=abiturient[i];
end;
if m<>0 then
begin
textcolor(12);
writeln ('Абитуриенты: ');