Автор работы: Пользователь скрыл имя, 03 Февраля 2014 в 21:21, курсовая работа
Для удобства и простоты использования, программа будет реализована в виде меню. Используя клавиатуру, можно будет выбирать необходимые действия. С помощью Паскаля я сделаю мою программу проще и удобнее для пользователя.
Целью курсовой работы: является знакомство с историей языка Паскаль, а также символьных и строковых типов данных на языке программирования Паскаль. Задачи: разработка информационно – поисковой системы используя символьные и строковые типы данных на языке программирования Паскаль.
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);
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
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.
Информация о работе Разработка информационно – поисковой системы