Автор работы: Пользователь скрыл имя, 03 Февраля 2014 в 21:21, курсовая работа
Для удобства и простоты использования, программа будет реализована в виде меню. Используя клавиатуру, можно будет выбирать необходимые действия. С помощью Паскаля я сделаю мою программу проще и удобнее для пользователя.
Целью курсовой работы: является знакомство с историей языка Паскаль, а также символьных и строковых типов данных на языке программирования Паскаль. Задачи: разработка информационно – поисковой системы используя символьные и строковые типы данных на языке программирования Паскаль.
Глава 3 : Разработка информационно-поисковой системы «Результаты соревнований» на языке программирования Паскаль
Разработать программу создания информационно-поисковой системы «Результаты соревнований» на языке программирования Паскаль.
База данных должна храниться в типизированных файлах. Записи формируются в таблицы и выводятся на экран.
Требуется произвести некоторые действия над записями. Для каждого действия мы создаем процедуры: процедура создания файла который будет содержать минимум 10 записей, процедура вывода на экран содержимого файла в виде таблицы, процедура дополнения файла новыми записями, процедура поиска записей по любому выбранному полю, процедура сортировки записей по любому выбранному полю, и процедура удаления записей по любому выбранному номеру.
Все операции с файлом оформляются в виде меню.
Процедуры мы вызываем с помощью меню основной программы, выбирая соответствующие пункты.
Выбор действия над файлом в меню осуществляется выбором определенного пункта с помощью клавиатуры.
В программе содержатся процедуры.
1) procedure sozdanie – процедура создания нового файла с информацией о результатах соревнований. Для начала нам необходимо ввести количество записей в таблице, а потом заполнить информацию. После окончания ввода данных процедура сама выходит в главное меню. Алгоритм описывающий данную процедуру реализован в виде блок-схемы 1 (рисунок 2.2.1).
2) procedure vivod – эта процедура предназначена для вывода на экран информации о результатах соревнований в виде таблицы. Алгоритм описывающий данную процедуру реализован в виде блок-схемы 2 (рисунок 2.2.2).
3) procedure dobavlenie – процедура добавления. Предназначена для добавления новых записей в таблицу. Процедура добавляет новые записи в конец файла. По окончании ввода процедура выходит в главное меню.
4) procedure poisk – процедура поиска предназначенная для поиска нужных записей в нужном поле таблицы. Перед нами появляется меню поиска, где мы выбираем нужный нам критерий поиска.
5) procedure sortirovka – процедура сортировки. Позволяет отсортировать нужное поле по возрастанию. Перед нами появляется меню в котором мы можем выбрать необходимое поле для сортировки.
6) procedure udalenie - процедура удаления. Предназначена для удаления необходимой нам строки. Перед нами появится меню, в котором мы должны ввести нужный номер строки для удаления.
Для запуска программы необходимо открыть файл «zadacha.pas» и нажать сочетание клавиш «Ctrl+F9».
В программе использовались переменные
fio, ych - stil строкового типа,
voz, rez - числового типа.
Рисунок 1- Блок-схема 1
Рисунок 2- Блок-схема 2
3.3 Практическая часть выполнения задачи на языке программирования Паскаль
program zadacha; {название программы}
uses crt; {подкличение модуля crt}
type mass=record
fio:string; {Фамилия}
ych:string; {учреждение}
stil:string; {стиль плавания}
voz:integer; {возраст}
rez:real; {результат}
end;
var
chi:mass; {имеет тип mass}
ch,ch1:array[1..25] of mass;
f:file of mass;
i,m,j,k,n,nom:integer;
filename:string; {для имени файла}
procedure sozdanie; {процедура создания}
var
q:integer;
begin
clrscr;
writeln('vvedite imya faila:'); {ввод имени файла}
readln(Filename);
assign(f,Filename);
rewrite(f);
Writeln ('vvedite kolichestvo zapisei'); {вводим количество записей}
Readln (n);
q:=0;
for i:=1 to n do
with ch[i] do
begin
q:=q+1;
clrscr;
writeln('vvedite fio ',q,'-go uchasnika'); {заносим информацию об участнике}
readln(fio);
writeln('vvedite vozrast ',q,'-go uchasnika');
readln(voz);
writeln('vvedite ycheregdenie');
readln(ych);
writeln('vvedite stil plavaniya');
readln(stil);
writeln('vvedite rezultat zapliva');
readln(rez);
write(f,ch[i]);
end;
close(f); {закрываем файл}
end;
procedure vivod; {процедура вывода}
begin
clrscr;
writeln ('vvedite imya sozdannogo faila'); {указываем имя созданного файла}
readln(filename);
assign (f,filename);
reset(f);
clrscr;
nom:=0;
writeln('writeln('| # | FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');
writeln('|');
while not eof(f) do {начинаем выводить записи в таблицу}
with ch[i] do
begin
inc(i);
inc(nom);
read(f,ch[i]);
writeln('|',nom:3,'|',fio:17,'
i:=i+1;
end;
writeln('|');
close(f); {закрыли файл}
readln;
clrscr;
end;
procedure dobavlenie; {процедура добавления}
begin
clrscr;
writeln ('vvedite imya sozdannogo faila'); {ввод имени файла}
readln(filename);
assign (f,filename);
reset(f);
i:=1;
while not eof(f) do
begin
read(f,ch[i]);
i:=i+1;
end;
writeln('vvedite fio'); {начинаем заносит информацию об участнике}
readln(ch[i].fio);
writeln('vvedite voz ');
readln(ch[i].voz);
writeln('vvedite ycheregdenie obrazovaniya');
readln(ch[i].ych);
writeln('vvedite stil plavaniya');
readln(ch[i].stil);
writeln('vvedite rezultat zapliva');
readln(ch[i].rez);
n:=i;
close(f); {закрыли файл}
rewrite(f);
for i:=1 to n do
write(f,ch[i]);
close(f);
end;
procedure poisk; {процедура поиска}
var e:string;
n1,o:integer;
l:real;
begin
writeln('vibirete regim poiska:' ); {меню}
writeln(' ');
writeln('1: poisk po polu fio');
writeln('2: poisk po polu vozrast');
writeln('3: poisk po polu ycheregdenie');
writeln('4: poisk po polu stil');
writeln('5: poisk po polu rezultat');
writeln;
readln(o);
clrscr;
if o=1 then begin {поиск по полю фио}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
i:=1;
n:=0;
while not eof(f) do
begin
read(f,ch[i]);
inc(i);
inc(n);
end;
close(f);
writeln('vvedite fio uchasnika'); {водим ФИО участника}
readln(e);
n1:=0;
for i:=1 to n do
if ch[i].fio=e
then begin
n1:=n1+1;
ch1[n1]:=ch[i];
end;
if n1<>0 then begin {вывод найденного участника}
writeln('||');
writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');
writeln('||');
for i:=1 to n1 do
with ch1[i] do
begin
writeln('|',fio:17,'|',voz:9,'
end;
writeln('');
end
else
writeln('zapis ne naidena ');
readln;
end;
if o=2 then begin {поиск по полю возраст}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
i:=1;
n:=0;
while not eof(f) do
begin
read(f,ch[i]);
inc(i);
inc(n);
end;
close(f);
writeln('vvedite vozrast uchasnika'); {вводим возраст}
readln(l);
n1:=0;
for i:=1 to n do
if ch[i].voz=l
then begin
n1:=n1+1;
ch1[n1]:=ch[i];
end;
if n1<>0 then begin {вывод}
writeln('||');
writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');
writeln('|');
for i:=1 to n1 do
with ch1[i] do
begin
writeln('|',fio:17,'|',voz:9,'
end;
writeln('||');
end
else
writeln('zapis ne naidena ');
readln;
end;
if o=3 then begin {поиск по полю учреждение}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
i:=1;
n:=0;
while not eof(f) do
begin
read(f,ch[i]);
inc(i);
inc(n);
end;
close(f);
writeln('vvedite ycheregdenie'); {введите учреждение }
readln(e);
n1:=0;
for i:=1 to n do
if ch[i].ych=e
then begin
n1:=n1+1;
ch1[n1]:=ch[i];
end;
if n1<>0 then begin {вывод}
writeln('|');
writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');
writeln('||');
for i:=1 to n1 do
with ch1[i] do
begin
writeln('|',fio:17,'|',voz:9,'
end;
writeln('|');
end
else
writeln('zapis ne naidena ');
readln;
end;
if o=4 then begin {поиск по полю стиль}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
i:=1;
n:=0;
while not eof(f) do
begin
read(f,ch[i]);
inc(i);
inc(n);
end;
close(f);
writeln('vvedite stil uchasnika'); {ввод стиля}
readln(e);
n1:=0;
for i:=1 to n do
if ch[i].stil=e
then begin
n1:=n1+1;
ch1[n1]:=ch[i];
end;
if n1<>0 then begin {вывод}
writeln('||');
writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');
writeln('|');
for i:=1 to n1 do
with ch1[i] do
begin
writeln('|',fio:17,'|',voz:9,'
end;
writeln('||');
end
else
writeln('zapis ne naidena ');
readln;
end;
if o=5 then begin {поиск по полю результат}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
i:=1;
n:=0;
while not eof(f) do
begin
read(f,ch[i]);
inc(i);
inc(n);
end;
close(f);
writeln('vvedite preblezitelnii rezyltat uchastnika'); {ввод результата }
readln(l);
n1:=0;
for i:=1 to n do
if (ch[i].rez<=l+0.5) and (ch[i].rez>=l-0.5)
then begin
n1:=n1+1;
ch1[n1]:=ch[i];
end;
if n1<>0 then begin {вывод}
writeln('||');
writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');
writeln('||');
for i:=1 to n1 do
with ch1[i] do
begin
writeln('|',fio:17,'|',voz:9,'
end;
writeln('||');
end
else
writeln('zapis ne naidena ');
readln;
end;
end;
procedure sortirovka; {процедура сортировка}
var
p:integer;
begin
clrscr;
writeln('vibirete regim sortirovki:' ); {меню сортировки}
writeln(' ');
writeln('1: sortirovka po polu fio');
writeln('2: sortirovka po polu vozrast');
writeln('3: sortirovka po polu ycheregdenie');
writeln('4: sortirovka po polu stil');
writeln('5: sortirovka po polu rezultat');
writeln;
readln(p);
if p=1 then begin {сортировка по полю фио}
writeln ('vvedite imya sozdannogo faila'); {вводим имя файла}
readln(filename);
Информация о работе Разработка информационно – поисковой системы