Автоматизация работы с базами данных

Рис. 1. Структура ЯП Паскаль

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

Данные. Типы данных

Все переменные в Turbo Pascal должны быть определены перед их использованием. Для этого в структуре программы используется раздел объявления переменных, начинающийся с зарезервир

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

Используемые в программе пользовательские типы и переменные с соответствующими типами данных и их назначениями рассматриваются в разделе «5. Описание программы». Также их назначение прокомментировано в тексте программы.

Операторы

В ходе написания программы использовались следующие операторы:

1) Простые операторы – не содержат в себе других операторов.

Оператор присваивания – выполняет присваивание переменной или функции (внутри тела функции) значения вычисленного выражения. Формат:

<идентификатор> := <выражение>;

Оператор обращения к процедуре (процедурный оператор) – представляет вызов стандартной или ранее описанной пользовательской процедуры в отдельном предложении. Формат:

<идентификатор>[(<список фактических параметров>)];

2) Структурные (сложные, составные) операторы – операторы, которые состоят из других операторов.

Составной оператор – представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки:

begin

<оператор1>;

<операторN>

end;

Такой оператор может потребоваться в таких случаях, когда в соответствии с правилами построения конструкций языка допустимо использовать лишь один оператор (например: FOR), а необходимо выполнить несколько действий. Отдельные операторы внутри составного отделяются друг от друга точкой с запятой.

Условный оператор IF – реализует алгоритмическую конструкцию «ветвление» и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует две формы оператора:

- полная:

if <условие> then <оператор1> else <оператор2>;

- неполная:

if <условие> then <оператор>;

Условие представляет собой вычисляемое логическое выражение.

Условный оператор CASE – с помощью этого оператора можно выбрать один вариант из любого их количества. Структура оператора:

case <выражение> of

<список_значений_1> : <оператор1>;

<список_значений_N> : <операторN>;

[else <оператор>;]

end;

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

Оператор цикла REPEAT – организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Цикл относится к виду циклов с постусловием, следовательно, тело цикла хоть раз выполнится. Выход из цикла осуществляется при истинности некоторого логического выражения. Формат оператора:

Repeat

<оператор1>;

<операторN>;

Until <условие>;

Оператор цикла WHILE – организует выполнение одного оператора неизвестное заранее количество раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Цикл относится к циклам с предусловием, а, следовательно, тело цикла может ни разу не выполниться. Формат оператора:

While <условие> do <оператор>;

Оператор цикла FOR – организует выполнение одного оператора заранее известное число раз.

Имеется два вида данного цикла:

for <пер> := <нач_знач> to <кон_знач> do <опер>;

for <пер> := <нач_знач> downto <кон_знач> do <опер>;

Начальное и конечное значения должны быть порядкового типа и совместимы с типом переменной. Цикл действует следующим образом. Первоначально вычисляются и запоминаются начальное и конечное значения, после чего переменная сравнивается с конечным значением. Далее, пока переменная цикла меньше или равна конечному значению (для первого вида) или больше или равна (для второго вида), выполняется очередная итерация цикла, в противном случае происходит выход из цикла. Выполнение очередной итерации включает в себя выполнение оператора и увеличение (для первого вида) или уменьшения (для второго вида) значения переменной на минимальное значение для данного порядкового типа. После выхода из цикла переменная имеет неопределенное значение. Если минимальное значение для первого вида цикла будет больше максимального, тогда цикл ни разу не выполнится; и для второго вида – наоборот. За исключением, когда выход был осуществлен с помощью оператора GOTO или стандартной процедуры BREAK.

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

With <идетификатор> do <оператор>;

Ввод/вывод

Для организации диалога с пользователем используются стандартные средства Turbo Pascal и объекты стандартной библиотеки – модуля CRT.

Ввод осуществляется в программе с клавиатуры и из файла. Вывод на экран и в файл. В Turbo Pascal операции ввода/вывода независимо от направления выполняются стандартными процедурами write (вывод, запись) и read (ввод, чтение). Если ввод/вывод осуществляется в файл, то в качестве первого фактического параметра должна быть файловая переменная, связанная с физическим файлом и открытым на чтение или запись. Формат данных процедур следующий:

Write[([<файловая переменная>],<выражение>[,…])];

Writeln[([<файловая переменная>],<выражение>[,…])];

Read[([<файловая переменная>],<идентификатор>[,…])];

Readln[([<файловая переменная>],<идентификатор>[,…])];

Процедуры с окончанием ln выполняют те же действия, однако после выполнения процедуры осуществляется переход на новую строку (writeln) или ожидается ввод с новой строки (readln).

Вследствие того, что ввод для различных направлений (клавиатура и файл) выполняется одинаково удобно использовать средства Turbo Pascal для организации корректного ввода. Так директива компилятору (ключ компиляции) {$I-} отключает системную проверку правильности ввода/вывода, и тогда можно по результатам функции IOResult программно анализировать результат выполнения последней операции ввода/вывода. После анализа можно восстановить системную проверку директивой {$I+}, то есть, как бы операцию ввода/вывода ограничить данными ключами компиляции. Неоднократный пример такого приема можно посмотреть по тексту программы при вводе табельные номера. Когда на приглашение ввести значение типа word вводится вещественное число или строка, программа запрашивает повторный ввод, и не выводится сообщение о системной ошибке.

Страница:  1  2  3  4  5  6  7  8  9  10 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы