Автор: Пользователь скрыл имя, 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
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;
5: begin
writeln('Введите
готовность для договорной
readln(q);
m:=0;
for i:=1 to n do
if pos(q,abiturient[i].osnova)<>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;
end;
end;
{Процедура удаления}
procedure del;
begin
assign(f,fio);
reset(f);
i:=1;
n:=0;
while not eof(f) do
begin
read(f,abiturient[i]);
inc(i);
inc(n);
end;
textcolor(10);
Writeln
('Введите номер удаляемой
readln(z);
if z>filesize(f) then
begin
Writeln('Такой строки нету, введите другую');
readln(z);
if z<filesize(f) then
for i:=z to n do
begin
abiturient[i].familia:=
abiturient[i].mesto:=
abiturient[i].ball:=
abiturient[i].lgoti:=
abiturient[i].osnova:=
end;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
end
else
for i:=z to n do
begin
abiturient[i].familia:=
abiturient[i].mesto:=
abiturient[i].ball:=
abiturient[i].lgoti:=
abiturient[i].osnova:=
end;
n:=n-1;
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
end;
{Процедура добавления}
procedure dob;
begin
assign(f,fio);
reset(f);
i:=1;
while not eof(f) do
begin
read(f,abiturient[i]);
i:=i+1;
end;
textcolor(10);
writeln('Введите ФИО');
readln(abiturient[i].
writeln('Введите место прописки');
readln(abiturient[i].
writeln('Введите набранные баллы');
writeln('Введите балл по первому экзамену');
readln(s1);
writeln('Введите балл по второму экзамену');
readln(s2);
writeln('Введите средний балл атестата');
readln(s3);
abiturient[i].ball:=s1+
writeln('Есть ли наличие льгот?(есть/нет)');
Writeln('1 - Есть');
Writeln('2 - Нет');
readln(qwe);
case qwe of
1:begin abiturient[i].lgoti:='есть' end;
2:begin abiturient[i].lgoti:='нет' end;
end;
writeln('Готов
учиться на договорной основе?(
Writeln('1 - Готов');
Writeln('2 - Не готов');
readln(qwe);
case qwe of
1:begin abiturient[i].osnova:='готов' end;
2:begin abiturient[i].osnova:='не готов' end;
end;
n:=i;
close(f);
rewrite(f);
for i:=1 to n do
write(f,abiturient[i]);
close(f);
end;
{Процедура подсчета}
procedure pod;
var m:integer;
begin
textcolor(10);
Writeln ('Введите количество баллов');
Readln (w);
assign(f,fio);
reset(f);
for i:=1 to n do
read(f,abiturient[i]);
close(f);
m:=0;
k:=0;
Writeln('1 - Больше( > )');
Writeln('2 - Меньше( < )');
Writeln('3 - Равно( = )');
readln(qwe);
case qwe of
1:begin for i:=1 to n do
if abiturient[i].ball>=w then
begin
k:=k+1;
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 for i:=1 to n do
if abiturient[i].ball<=w then
begin
k:=k+1;
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;
3:begin for i:=1 to n do
if abiturient[i].ball=w then
begin
k:=k+1;
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;
end;
end;
{Процедура коректировки}
Procedure korect;
var r:integer;
begin
textcolor(10);
writeln('Выберите строку: ');
readln(j);
assign(f,fio);
reset(f);
for i:=1 to n do
read(f,abiturient[i]);
close(f);
writeln('Укажите поле: ');
writeln('1) ФИО абитуриента');
writeln('2) Место прописки');
writeln('3) Набранные баллы');
writeln('4) Наличие льгот');
writeln('5) Основа');
readln(r);
case r of
1:begin write('Вводите: '); read(abiturient[i].familia); end;
2:begin write('Вводите: '); read(abiturient[i].mesto); end;
3:begin write('Вводите: '); writeln('Введите первый экзамен');
readln(s1);
writeln('Введите второй экзамен');
readln(s2);
writeln('Введите средний балл атестата');
readln(s3);