Позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Структура условного оператора имеет следующий вид:
IF THEN elese ; Вначале вычисляется условное выражение . Если результат есть TRUE, то выполняется , а пропускается; если результат есть FALSE, наоборот, пропускается, а выполняется . Счетный оператор цикла FOR:
FOR := to do
- параметр цикла
- начальное значение
- конечное значение
- произвольный оператор Турбо Паскаля. При выполнении оператора FOR вначале вычисляется выражение и осуществляется присваивание := . После этого цикл повторяется: . Проверка условия :тип функции; 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) - Рисует прямоугольник, используя текущий цвет и тип линии по верхней левой и нижней правой точкам; Bar(X1,Y1,X2,Y2:integer) - Рисует закрашенный прямоугольник, используя установку SetFillStyle; Bar3D(X1,Y1,X2,Y2:integer;Depth:word;Top:Bolean) - Рисует закрашенный паpаллелипипед. Depth - глубина в Pixel (1/4 ширины). Если Тор=True, то рисуется верхняя грань пеpеллелипипеда; Circle(X,Y:integer;R:word) - Рисует окружность радиуса R, используя X,Y как координаты центра; Fillellipse(X,Y: integer; XR,YR: word) - Рисует защтpихованный эллипс, используя X,Y как центр и XR,YR как горизонтальный и вертикальный радиусы. RestorCRTMode - Восстанавливает текстовый режим работы экрана; OutText(Text: string) - Выводит текстовую строку на экран. OutTextXY(X,Y: integer; Text: string) - Выводит текст в заданное место экрана.
Модуль CRT
Включает процедуры и функции, которые управляют текстовым режимом работы дисплея. С помощью подпрограмм модуля можно перемещать курсор по экрану дисплея, менять цвет выводимых символов и фона, создавать окна на экране, управлять звуком, работать с клавиатурой. Функции управления клавиатурой: KeyPressed: Boolean; - возвращает True, если в текущий момент на клавиатуре была нажата клавиша, иначе False. Не приостанавливает выполнение программы. Используется при организации работы циклов. ReadKey: Char; - читает и возвращает в программу символ с клавиатуры (без отображения на экране). Приостанавливает исполнение программы до нажатия на любую клавишу символа. Используется в операторах IF для проверки символов. WhereX: Byte; - возвращает горизонтальную координату текущей позиции курсора относительно окна. WhereY: Byte; - возвращает вертикальную координату текущей позиции курсора относительно окна. Процедуры управления дисплеем ClrEol; - удаляет все символы справа от курсора до конца строки без перемещения курсора. ClrScr; - очищает экран (окно на экране) и помещает курсор в верхний левый угол. Delay(D: word); - приостанавливает работу программы на D миллисекунд. GotoXY(X,Y: byte); - перемещает курсор в нужное место экрана (окна). Левый верхний угол экрана (окна) имеет координаты (1,1). Отсчет координат идет слева направо и сверху вниз. Количество символов в строке и самих строк зависит от типа дисплея (обычно 25 строк и 80 символов). InsLine; - вставляет пустую строку в позицию курсора. HighVideo; - устанавливает высокую яркость символов. LowVideo; - устанавливает низкую яркость символов. NormVideo; - устанавливает нормальную яркость символов. Window(X1,Y1,X2,Y2:byte); - определяет размеры окна на экране для вывода текста. X1,Y1 - координаты левого верхнего угла, X2,Y2 - правого нижнего угла. TextBackGround(Color: byte); - устанавливает цвет фона экрана (окна) от 0 (черный) до 15 (белый). TextColor(Color: byte); - устанавливает цвет символа. TextMode(Mode: word); - устанавливает нужный текстовый режим:0,1,2... Управление звуковым генератором Sound(F: word); - включает звук генератора, F - частота звука в герцах. Delay(T: word); - устанавливает продолжительность звучания в миллисекундах. NoSound; - выключает звук генератора.
5.3 Входные и выходные данные
Входными данными являются записи: номер продукции (n), переходящий остаток продукции на начало года (e1), приход продукции (e2), расход (e3), цена за 1 шт (e4). При завершении ввода данных и выборе соответствующего пункта меню программы, программа выдаст пользователю итоговые данные в виде таблицы.
Выходными данными, т.е. результатом программы является таблица которая содержит исходные записи и следующие переменные: . Остаток на конец года (st); . Итого (itog) ; Файл с текстом программы (kurs.pas) имеет размер, равный 12,5 Kb; Исполняемый файл (kurs.exe) имеет размер 33,3 Kb;
Страницы: 1, 2, 3, 4