Автор работы: Пользователь скрыл имя, 25 Ноября 2013 в 17:14, курсовая работа
К основным достоинствам языка следует отнести гибкость и надежность, простоту и ясность конструкций, легкость реализации на ЭВМ, возможность полного контроля правильности программ во время компиляции и выполнения, наличие набора структурных типов данных (массивов, файлов и записей), возможность построения новых типов данных.
Версия языка TURBO PASCAL V 7.0. включает в себя возможности:
- использование отдельно компилируемых модулей;
- интегрированный отладчик;
- интегрированная среда разработчика;
- объектно-ориентированную оболочку для создания прикладных программ.
Введение
Постановка задачи
Информационные системы
Информационно-поисковые системы
Информационно-справочные системы
Описание программы
Язык программирования Паскаль
Модуль Graph
Модуль Crt
Заключение
Список литературы
Паскаль – гибкий и развитый в отношении типов данных язык. Привлекательны его рекурсивные возможности, а также поддержка технологии объектно-ориентрованного программирования.
Модуль Graph - представляет собой библиотеку подпрограмм, обеспечивающую полное управление графическими режимами для различных адаптеров дисплеев: CGA, EGA, VGA... Содержит 78 процедур и функций (как базовых - рисование точек, линий, окружностей, прямоугольников), так и расширяющих возможности базовых (многоугольники, сектора, дуги, закрашивание фигур, вывода текста и т.д.).
Модуль Crt – включает процедуры и функции, которые управляют текстовым режимом работы дисплея. С помощью подпрограмм модуля можно перемещать курсор по экрану дисплея, менять цвет выводимых символов и фона, создавать окна на экране, управлять звуком, работать с клавиатурой.
Данная информационно-
Список литературы
Приложение 1
Блок-схема приложения
Листинг программы
Информационно-поисковая система для справочного бюро ж/д вокзала
Program JD_VOKZAL; {Название программы}
uses crt,Graph; {Подключение модулей}
type
jd = record {Переменная типа запись}
num: integer;
city: string[20];
time: real;
cena: real;
end;
var
j: jd; {Переменная пользовательского типа}
f: file of jd;
k: byte;
sl: boolean; {Переменная булевского типа}
FileName:string[11]; {
ch: char; {Переменная символьного типа}
label 11,12,13;
Procedure NewFile; {Процедура создания последовательного файла}
var
i:integer;
begin
ClrScr;
Writeln('Введите имя создаваемого файла:');
Readln(FileName);
Assign(f,FileName);
Rewrite(f);
with j do
while True Do
begin
Writeln('Станция:');
Readln(city);
Writeln('Номер рейса:');
Readln(num);
Writeln('Время отправления(ч.м):');
Readln(time);
Writeln('Цена билета:');
Readln(cena);
Write(f,j);
Writeln;
Writeln('продолжить ввод? 1-Да; 0-Нет');
Readln(i);
writeln;
if i=0 then
begin
Close(f);
Exit;
end;
Readln;
Clrscr;
end;
Readln;
ClrScr;
end;
Procedure AddComponents; {Процедура дополнения последовательного файла
новыми записями}
var
i:integer;
begin
ClrScr;
Writeln('Введите имя файла с данными:');
Readln(FileName);
Assign(f,FileName);
Reset(f);
Seek(f,FileSize(f));
with j do
while True do
begin
Writeln('Введите станцию: '); Readln(city);
Writeln('Введите номер рейса: '); Readln(num);
Writeln('Введите время отправления (ч.м): '); Readln(time);
Writeln('Введите цену билета: '); Readln(cena);
Write(f,j);
Writeln;
Writeln('Продолжить ввод? 1-Да; 0-Нет');
Readln(i);
Writeln;
if i=0 then
begin
Close(f);
Exit;
end;
Readln;
Clrscr;
end;
Readln;
Clrscr;
end;
Procedure AccessComponents; {Процедура вывода содержимого
последовательного файла на экран}
var
i:integer;
begin
ClrScr;
Writeln('Введите имя файла с данными:');
Readln(FileName);
Assign(f,FileName);
Reset(f);
ClrScr;
i:=0;
writeln('|=====|==============
writeln('| № | Станция | Номер рейса | Время отправления | Цена билета |');
writeln('|=====|==============
while not eof(f) do
begin
read(f,j);
i:=i+1;
with j do
writeln('| ',i,' |',city:15,'|',num:15,'|',
end;
writeln('|=====|==============
readln;
clrscr;
end;
Procedure Find; {Процедура поиска нужных записей в последовательном
файле по запросу пользователя }
var
cl:string;
tl:real;
n:byte;
begin
clrscr;
writeln('':20,'Режим поиска информации');
write('Укажите станцию: '); readln(cl);
write('Укажите время отправления: '); readln(tl);
n:=0; Assign(f,FileName); reset(f);
while not eof(f) do
begin
read(f,j); with j do
if(cl=city) and(tl<time) then
begin
inc(n);
writeln(n,' ',city,' ',num,' ',time:5:2,' ',cena:6:2);
end;
end;
close(f);
if n=0 then writeln('Таких рейсов нет');
Readln;
Clrscr;
end;
Procedure Zastavka; {Процедура, выводящая на экран графическую заставку}
var
drivervar, modevar, c:integer;
s,m:string;
begin
drivervar:=detect;
InitGraph(drivervar,modevar,''
SetBkColor(1);
repeat c:=random(GetMaxColor);
SetTextStyle(0,0,1);
SetColor(10);
OutTextXY(200,30,'Для продолжения нажмите <Enter>');
{SetLineStyle(0,3,1);
SetLineStyle(0,3,3);}
SetColor(12);
SetTextStyle(1,0,7);
OutTextXY(30,90,'JD-VOKZAL');
SetLineStyle(1,3,3);
SetLineStyle(0,3,3);
SetColor(2);
line(490,130,500,120); line(503,122,530,118); line(532,118,540,130);
line(540,130,530,155); line(527,156,520,150); line(520,150,500,145);
line(498,146,493,133); line(505,150,490,150); line(490,150,485,160);
line(485,160,495,170); line(495,170,495,190); line(498,192,510,160);
line(510,160,505,150); line(530,165,540,175); line(540,175,545,160);
line(543,157,530,160); line(465,125,470,142); line(465,123,450,120);
line(470,145,460,150); line(460,150,443,143); line(449,160,459,155);
line(462,156,460,180); line(447,161,450,170); line(453,170,457,183);
SetColor(7);
ellipse(500,270,101,100,40,20)
line(498,270,498,225); line(502,207,502,225);
arc(500,150,245,70,70); arc(500,150,245,70,75);
line(468,220,473,207); line(525,80,520,92);
SetColor(11);
circle(500,150,60);
delay(10000);
until keyPressed;
readln;
CloseGraph;
end;
begin {Начало основной программы}
Zastavka;
ClrScr;
13: Begin
while True do
begin
Clrscr;
TextBackGround(5);
TextColor(14);
Writeln;
Writeln('Выберете режим работы с файлом:');
Writeln;
Writeln('1:Создание файла');
Writeln('2:Добавление новых компонентов');
Writeln('3:Просмотр содержимого файла');
Writeln('4:Поиск рейсов');
Writeln('5:Выход из программы');
Readln(ch);
Case ch of
'1':NewFile;
'2':AddComponents;
'3':AccessComponents;
'4':Goto 11;
'5':Goto 12;
else
Writeln('Повторить номер режима!');
end;
end;
11:Readln;
sl:=true;
while sl do
begin
find; writeln; write('Продолжить поиск? (y/n):');
if readkey='n'then begin sl:=false;
Goto 13;
end;
end;
12:Readln;
End;
End. {Конец основной программы}