Разработка информационно – поисковой системы
Курсовая работа, 03 Февраля 2014, автор: пользователь скрыл имя
Описание работы
Для удобства и простоты использования, программа будет реализована в виде меню. Используя клавиатуру, можно будет выбирать необходимые действия. С помощью Паскаля я сделаю мою программу проще и удобнее для пользователя.
Целью курсовой работы: является знакомство с историей языка Паскаль, а также символьных и строковых типов данных на языке программирования Паскаль. Задачи: разработка информационно – поисковой системы используя символьные и строковые типы данных на языке программирования Паскаль.
Файлы: 1 файл
Кенжегуль Курсовая работа.doc
— 274.50 Кб (Скачать файл)assign (f,filename);
reset(f);
for i:=1 to n do
read(f,ch[i]);
close(f);
for i:=1 to n-1 do
for j:=i+1 to n do
if ch[i].fio>ch[j].fio then {сравниваем 2 строки}
begin
chi:=ch[i]; {проводим перестановку}
ch[i]:=ch[j];
ch[j]:=chi;
end;
rewrite(f);
for i:=1 to n do
write(f,ch[i]);
close(f);
end;
if p=2 then begin {сортировка по полю возраст}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
for i:=1 to n do
read(f,ch[i]);
close(f);
for i:=1 to n-1 do
for j:=i+1 to n do
if ch[i].voz>ch[j].voz then
begin
chi:=ch[i];
ch[i]:=ch[j];
ch[j]:=chi;
end;
rewrite(f);
for i:=1 to n do
write(f,ch[i]);
close(f);
end;
if p=3 then begin {сортировка по полю учреждение}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
for i:=1 to n do
read(f,ch[i]);
close(f);
for i:=1 to n-1 do
for j:=i+1 to n do
if ch[i].ych>ch[j].ych then
begin
chi:=ch[i];
ch[i]:=ch[j];
ch[j]:=chi;
end;
rewrite(f);
for i:=1 to n do
write(f,ch[i]);
close(f);
end;
if p=4 then begin {сортировка по полю стиль}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
for i:=1 to n do
read(f,ch[i]);
close(f);
for i:=1 to n-1 do
for j:=i+1 to n do
if ch[i].stil>ch[j].stil then
begin
chi:=ch[i];
ch[i]:=ch[j];
ch[j]:=chi;
end;
rewrite(f);
for i:=1 to n do
write(f,ch[i]);
close(f);
end;
if p=5 then begin {сортировка по полю результат}
writeln ('vvedite imya sozdannogo faila');
readln(filename);
assign (f,filename);
reset(f);
for i:=1 to n do
read(f,ch[i]);
close(f);
for i:=1 to n-1 do
for j:=i+1 to n do
if ch[i].rez>ch[j].rez then
begin
chi:=ch[i];
ch[i]:=ch[j];
ch[j]:=chi;
end;
rewrite(f);
for i:=1 to n do
write(f,ch[i]);
close(f);
end;
end;
procedure udalenie; {процедура удаления}
var m:integer;
begin
clrscr;
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]);
i:=i+1;
n:=n+1;
end;
writeln('vvedite nomer udaliaemoi zapisi'); {вводим номер записи для удаления}
readln(m);
for i:=m to n do
begin {удаляем}
ch[i].fio:=ch[i+1].fio;
ch[i].voz:=ch[i+1].voz;
ch[i].ych:=ch[i+1].ych;
ch[i].stil:=ch[i+1].stil;
ch[i].rez:=ch[i+1].rez;
end;
n:=n-1;
close(f);
rewrite(f);
for i:=1 to n do
write(f,ch[i]);
close(f);
writeln(‘zapis udalena’);
readln;
end;
begin {тело основной программы}
while True do
begin {меню программы}
clrscr;
Writeln ('':20,' *Menu* ');
Writeln ('':20,'||');
Writeln ('':20,'| 1- sozdanie novogo faila |');
Writeln ('':20,'| 2- vivod dannih |');
Writeln ('':20,'| 3- dobavlenie |');
Writeln ('':20,'| 4- poisk |');
Writeln ('':20,'| 5- sortirovka |');
Writeln ('':20,'| 6- udalenie zapisei |');
Writeln ('':20,'| 0- vihod |');
Writeln ('':20,'||');
Writeln;
Writeln('vi mojete rabotat s uje sozdanim failom "sor" ');
Writeln('');
Readln (m);
case m of
1:sozdanie;
2:vivod;
3:dobavlenie;
4:poisk;
5:sortirovka;
6:udalenie;
0:exit;
else begin Writeln('ne verno!');
readln;
end;
end;
end;
end.
3.4 Результаты работы программы
Для запуска программы необходимо открыть файл «zadacha.pas» и нажать на клавишу «F9»(в программе «Pascal ABC»). Появится главное меню в котором мы можем выбрать необходимое действие над файлом (рисунок 3).
Рисунок 3 - основное меню
В пункте первом мы создаем новый файл (рисунок 4).
Рисунок 4 - создание файла
В поле «ФИО» необходимо ввести фамилию имя и отчество участника.
В поле «Возраст» нужно ввести возраст участника, только цифрами
В поле «Учреждение» необходимо ввести учреждение образования в котором обучается участник.
В поле «Стиль» необходимо ввести стиль плавания участника.
В поле «Результат» нужно
ввести результат участника
Выбрав «вывод данных», программа выводит данные в виде таблицы из указанного файла (рисунок 5).
Рисунок 5.(вывод)
При добавлении в файл новых записей необходимо ввести фамилию, возраст, учреждение, стиль и результат заплыва. Эти данные будут записаны в конец таблицы.
При выборе режима «поиск» программа перейдет в другое меню (рисунок 6.), в котором можно будет выбрать необходимый критерий поиска. Поиск осуществляется по полям фамилия, возраст, учреждение, стиль, результат заплыва.
Рисунок 6 - меню поиска
Выбрав пункт «сортировка», появляется меню в котором можно отсортировать указанный файл по необходимому полю (рисунок 7.).
Рисунок 7. (меню сортировки)
При выборе пункта удаление нам необходимо ввести имя файла, из которого нужно удалить строку, и номер строки которую необходимо удалить.
ЗАКЛЮЧЕНИЕ
Паскаль хорош тем, что в нем можно создавать прикладные программы, работающие в реальном времени, предлагая богатую среду программирования, которая делает разработку программ более производительной и более приятной. Именно поэтому я выбрала данный язык программирования для своей курсовой работы.
Подобрала и изучила материал по теме «Строковые и символьные типы данных».
Реализовала программу «Результаты соревнований» на языке программирования Паскаль. Программа выполняет следующие действия: создание файла, просмотр содержимого файла которое выводится в виде таблицы, дополнение файла новыми записями, поиск и сортировка по любому указанному полю, удаление любой строки файла.
Для удобства и простоты использования, программа реализована в виде меню. Созданная программа была разработана с такой целью, что бы любому пользователю было удобно и практично использовать эту программу.
Её можно использовать для записей результатов соревнований по плаванию, которые будут храниться в типизированных файлах. Пользователь сможет легко заносить данные в таблицы, редактировать содержимое, удалять не нужные записи, искать и сортировать по необходимому полю.
Список использованной литературы
- Абрамов В.Г., Трифонов Н.П. Введение в язык Паскаль. – М. :Наука, 2000.-320 с.
- Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. – М.: Наука, 2000. – 112 с.
- Алексеев, Е.Р. Турбо Паскаль 7.0/ Е.Р. Алексеев, О.В. Чесноков а.- М.: НТ Пресс, 2007.– 83с.
- Алиев, Ю.А. Практикум по алгоритмизации и программированию на языке Паскаль/ Ю.А. Алиев. – В. – Питер: 2007. – 527с
- Аронов, В.В. Turbo Pascal/В.В. Аронов. – БХВ - Петербург, 2004 . – 156с.
- Бутомо И.Д., Самочадин А.В., Усанова Д.В. Программирование на алгоритмическом языке Паскаль. – Л.: Издательство Ленинградского университета, 2005. – 216 с.
- Ваулин А.С. Языки программирования” кн.5, 2006 г.
- Грэхем Р. Практический курс языка Паскаль. – М.: Радио и связь. 2000 – 200 с.
- Йенсен К., Вирт Н. Руководство для пользователя и описание языка. – М., 2001. 151 с.
- Керниган Б.В., . Ритчи Д, Фьюэр А. Язык программирования Си.
- Немнюгин С., Перколаб Л. «Изучаем Turbo Pascal» - СПб.: Питер, 2002.
- Основы автоматизации” ч.1, Золотарев В.В., 2004г.;
- Павловская, Т. А. Паскаль. Программирование на языке Турбо Паскаль / Т.А. Павловская. - СПб. – Петербург: 2007. – 317с.
- Паскаль [Электронный ресурс].- Типы данных. – Режим доступа: http://www.pascal.ru. – Дата доступа 02.06.2010
- Пильщиков В.Н. Сборник упражнений по языку Паскаль. – М.: Наука, 2003. – 160 с.
- Русский перевод: Москва: Финансы и Статистика. 2003 г.;
- Терренс П. Языки программирования: “разработка и реализация”, 2004 г.;
- Turbo Pascal / 2-е изд., перераб., - Вологда: МП "МИК", 2002. - 342с.
- Turbo Pascal: практикум. - СПб.: Питер, 2002. - 256 с.: ил.
Приложение
program zadacha;
uses crt;
type mass=record
fio:string;
ych:string;
stil:string;
voz:integer;
rez:real;
end;
var
chi: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;