Разработка информационно-поисковой системы «Зачисление абитуриентов» на языке программирования Паскаль

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

Теория по курсачу, Романюк М.Н., ПО-22.doc

— 244.50 Кб (Скачать)

     textcolor(14);

     writeln('|_______________|________________|_______|________|________|');

     writeln('|','   ФИО         | Место прописки | Баллы | Льготы | Основа |');

     writeln('|_______________|________________|_______|________|________|');

     lam:=1;

     for i:=1 to m do

     with abit[i] do

     begin

     write('|',lam,')',familia:15,'|',mesto:16,'|   ');

     writeln(ball:4:1,'|',lgoti:8,'|',osnova:8,'|');

     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,')',familia:15,'|',mesto:16,'|   ');

     writeln(ball:4:1,'|',lgoti:8,'|',osnova:8,'|');

     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+1].familia;

     abiturient[i].mesto:=abiturient[i+1].mesto;

     abiturient[i].ball:=abiturient[i+1].ball;

     abiturient[i].lgoti:=abiturient[i+1].lgoti;

     abiturient[i].osnova:=abiturient[i+1].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+1].familia;

     abiturient[i].mesto:=abiturient[i+1].mesto;

     abiturient[i].ball:=abiturient[i+1].ball;

     abiturient[i].lgoti:=abiturient[i+1].lgoti;

     abiturient[i].osnova:=abiturient[i+1].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].familia);

     writeln('Введите место прописки');

     readln(abiturient[i].mesto);

     writeln('Введите набранные баллы');

     writeln('Введите  балл по первому экзамену');

     readln(s1);

     writeln('Введите  балл по второму экзамену');

     readln(s2);

     writeln('Введите  средний балл атестата');

     readln(s3);

     abiturient[i].ball:=s1+s2+s3;

     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,')',familia:14,'|',mesto:16,'|   ');

     writeln(ball:4:1,'|',lgoti:8,'|',osnova:8,'|');

     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,')',familia:14,'|',mesto:16,'|   ');

     writeln(ball:4:1,'|',lgoti:8,'|',osnova:8,'|');

     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,')',familia:14,'|',mesto:16,'|   ');

     writeln(ball:4:1,'|',lgoti:8,'|',osnova:8,'|');

     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);

Информация о работе Разработка информационно-поисковой системы «Зачисление абитуриентов» на языке программирования Паскаль