Смекни!
smekni.com

Обработка экономической информации средствами языка Pascal (стр. 2 из 6)

Исходный код между begin и end содержит операторы, которые описывают выполняемые программой действия. Это называются операторной частью программы.

Приведем примеры операторов:

A := B + C; { присвоить значение }

Calculate(Length, Height); { активизировать процедуру }

if X < 2 then { оператор условия }

Answer := X * Y;

begin { составной оператор }

X := 3;

Y := 4;

Z := 5;

end;

while not EOF(InFile) do { оператор цикла }

begin

ReadLn(InFile, Line);

Process(Line);

end;

Условный оператор:

Позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Структура условного оператора имеет следующий вид:

IF THEN elese ;

Вначале вычисляется условное выражение . Если результат есть TRUE, то выполняется , а пропускается; если результат есть FALSE, наоборот, пропускается, а выполняется .

Счетный оператор цикла FOR:

FOR := to do

- параметр цикла

- начальное значение

- конечное значение

- произвольный оператор Турбо Паскаля.

При выполнении оператора FOR вначале вычисляется выражение и осуществляется присваивание := .

После этого цикл повторяется:

· Проверка условия <= , если условие не выполнено оператор FOR завершает свою работу;

· Выполнение оператора ;

· Наращивание переменной на единицу.

Оператор цикла WHILE с предпроверкой условия:

WHILE DO .

- выражение логического типа;

- произвольный оператор Турбо Паскаля

Если выражение имеет значение TRUE, то выполняется оператор, после чего вычисление выражения и его проверка повторяются. Если имеет значение FALSE, оператор WHILE прекращает работу.

Оператор цикла REPEAT…UNTIL с постпроверкой условия:

REPEAT UNTIL .

- произвольная последовательность операторов Турбо Паскаля.

- выражение логического типа.

Операторы выполняются хотя бы один раз, после чего вычисляется выражение : если его значение FALSE, операторы повторяются, в противном случае оператор REPEAT…UNTIL завершает свою работу.

Оператор выбора

CASE OF [else ] END

- ключ выбора;

- одна или более конструкций вида;

- произвольные операторы ТП.

Вначале вычисляется значение выражения , а затем в последовательности операторов отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает свою работу. Если в списке выбора н будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else можно опускать. Тогда при отсутствии в списке выбора нужной константы ничего не произойдет и оператор выбора просто завершит свою работу.

Метки и операторы перехода.

GOTO .

- метка

Метка – это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него. Описание меток состоит из зарезервированного слова LABEL, за которым следует список меток.

Важнейшей особенностью языка Turbo Pascal является иерархическая структура программ, которая возможна благодаря наличию процедур и функций. Процедуры и функции позволяют разделить логику программы на более мелкие и управляемые фрагменты и аналогичны подпрограммам в других языках. Как и в основном блоке программы, все действия в процедурах и функциях заключаются в begin и end.

Процедуры и функции - главная особенность языка Турбо Паскаль

7.0, обеспечивающая возможность практической реализации принципов

структурного программирования.

Процедура:

Procedure (список формальных параметров);

Begin End;

Функция:

Function (список формальных параметров>:тип функции;

Begin end;

При написание данного курсового проекта необходимо было воспользоваться структурированные типами данных (массивы, записи, множества, файлы).

Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличии от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.

Структура объявления типа записи:

= RECORD END

- идентификатор;

- список полей; представляет собой последовательность разделов записи, между которыми ставится точка с запятой. Каждый раздел записи состоит из одного или нескольких идентификаторов полей, отделяемых друг от друга запятыми. За идентификатором (идентификаторами) ставится двоеточие и описание типа поля (полей).

Файлы. Под файлом понимается либо именованная область внешней памяти ПК либо логического устройства. Любой файл имеет три характерные особенности. Во-первых, у него есть имя, что дает возможность программе работать одновременно с несколькими файлами. Во-вторых, он содержит компоненты одного типа. В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении.

= FILE OF ;

= TEXT;

= FILE;

- имя файлового типа;

TEXT – имя стандартного типа текстовых файлов;

- любой тип ТП, кроме файлов.

В зависимости от способа объявления можно выделить три вида файлов:

· Типизированные файлы (file of…);

· Текстовые файлы (определяются типом TEXT);

· Нетипизированные файлы (определяются типом FILE).

Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре ASSIGN:

ASSIGN (, );

- файловая переменная;

- текстовое выражение, содержащие имя файла или логическое устройство.

В ТП можно открыть файл для чтения, для записи информации, а также для чтения и записи одновременно.

Для чтения файл инициируется с помощью стандартной процедуры RESET:

RESET ();

В ТП разрешается обращаться к типизированным файлам, открытым процедурой RESET с помощью процедуры WRITE (т.е. для записи информации). Такая возможность позволяет легко обновлять ранее созданные типизированные файлы и при необходимости расширять их. Для текстовых файлов, открытых процедурой RESET, нельзя использовать процедуру WRITE.

Стандартная процедура REWRITE () инициирует запись информации в файл или в лог. устройство, связанное ранее с файловой переменной . Но этой процедурой нельзя инициировать запись информации в ранее существовавший дисковый файл: при выполнении этой процедуры старый файл уничтожиться.

Процедура READ.

Обеспечивает чтение очередных компонентов типизированного файла. Формат обращения: READ (, )

- список ввода, содержащий одну или более переменных такого же типа, что и компоненты файла.

Процедура SEEK.

Смещает указатель файла к требуемому компоненту. Формат обращения:

SEEK (, )

- выражение типа Longint.

Процедуру нельзя применять к текстовым файлам.

Функция FileSize.

Возвращает значение, которое содержит количество компонентов файла.

FileSize()

Функция EOF ():Boolean.

Логическая функция, тестирующая конец файла.

Модули.

Модуль – это автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний (типы, константы, переменные, процедуры, функции) и, возможно, некоторые исполняемые операторы инициирующей части.

Связь устанавливается спец. объявлением:

USES - список связываемых модулей.

При написание данного курсового проекта, использовались два дополнительных модулей: GRAPH и CRT.

Модуль GRAPH

GRAPH - представляет собой библиотеку подпрограмм, обеспечивающую полное управление графическими режимами для различных адаптеров дисплеев: CGA, EGA, VGA... Содержит 78 процедур и функций (как базовых - рисование точек, линий, окружностей, прямоугольников), так и расширяющих возможности базовых (многоугольники, сектора, дуги, закрашивание фигур, вывода текста и т.д.).

Для запуска программы с использованием модуля GRAPH необходимо,

чтобы в рабочем каталоге находились графические драйверы с расширением *.BGI, также должен быть доступен компилятору модуль GRAPH.TPU.

В начале программы модуль GRAPH должен быть подключен

USES GRAPH;

InitGraph(driver,mode,’путь к BGI’);

driver – определяет тип графического драйвера,

mode – переменная, задающая режим работы графического адаптера;

Процедуры и функции модуля GRAPH

ClearDevice - Очищает экран и помещает курсор в точку (0,0);

SetViewPort(x1,y1,x2,y2:integer; Clip: boolean) - Устанавливает текущее окно для графического вывода. X1,y1 – координата верхнего левого угла; x2,y2 - координата нижнего правого угла. Если Clip=true, то все изображения отсекаются на границах вывода;

Closegraph – закрывает графический режим

ClearViewPort - Очищает текущее окно;

GetMaxX: integer - возвращает максимальную горизонтальную координату графического экрана;

GetMaxY :integer - возвращает максимальную вертикальную координату графического экрана;

GetX: integer - возвращает координату Х текущего указателя в окне;

GetY: integer - возвращает координату Y курсора в окне;

SetLineStyle(Line, Pattern, Thickness: word) - Устанавливает стиль (0..4), шаблон штриховки (0..12) и толщину (1-ноpм, 3-утpоенная);

SetFillStyle(Pattern, Color: word) - Устанавливает образец штриховки и цвет (0..15 и 128-меpцание);

SetGraphMode(Mode: integer) - Устанавливает новый графический режим и очищает экран;

SetColor(Color: word) - Устанавливает основной цвет, которым выполняется рисование (0..15);

SetBkColor(Color: word) - Установка цвета фона.

PutPixel(X,Y: integer; Color: word) - Выводит точку цветом Color с координатой X,Y;

LineTO(X, Y: integer) - Рисует линию от текущего указателя к точке с координатой Х,У;

LineRel(DX, DY: integer) - Рисует линию от текущего указателя к точке, заданной приращением координат;

Line(X1,Y1,X2,Y2:integer) - Рисует линию от точки (X1,Y1) к точке с координатой Х2,У2;

MoveTO(X, Y: integer) - Смещает текущий указатель к точке с координатой Х,У;

MoveRel(DX, DY: integer) - Смещает текущий указатель к точке, заданной приращением координат;

Rectangle(X1,Y1,X2,Y2:integer) - Рисует прямоугольник, используя текущий цвет и тип линии по верхней левой и нижней правой точкам;