
- •Глава 6. Программирование в среде Delphi
- •§ 1 Введение
- •§ 2 Работа со средой Delphi
- •§ 3 Особенности программ, работающих под управлением ос Windows
- •§ 4 Реализация линейных алгоритмов на языке Object Pascal
- •§ 5 Общая структура программы
- •I,j: integer;
- •§ 6 Система типов языка Object Pascal
- •Var a,b,c: real;
- •§ 7 Стандартные функции языка Object Pascal для работы с числовыми и символьными типами
- •§ 8 Ввод и вывод данных
- •Var a:string;
- •§ 9 Реализация разветвляющихся алгоритмов
- •§ 10 Использование массивов и циклов
- •§ 11 Компонент Memo и его использование для ввода элементов массивов
- •§ 12 Использование таблицы для вывода двумерных массивов на экран
- •§ 13 Использование процедур и функций пользователя
- •X: array[1..20,1..2] of integer;
- •I,j,m,n:integer;
- •X: array[1..20,1..2] of integer;
- •I,j,m,n:integer;
- •Глава 7. Задачи по программированию для индивидуального решения
- •§ 1 Линейная программа
- •§ 2 Библиотечные функции в линейных программах
- •Угол — количество гр., количество минут мин., количество секунд сек.
- •Примечание
- •§ 3 Разветвляющиеся программы
- •Примечание
- •Прямые перпендикулярны
- •§ 4 Циклические программы. Использование массивов в программах
§ 4 Реализация линейных алгоритмов на языке Object Pascal
Проиллюстрированная выше программа «Приветствие» даёт представление о структуре проекта в Delphi, методах работы с визуальными элементами управления и т.д. Однако, для выполнения сложных преобразований необходимо создавать программы на алгоритмическом языке Object Pascal, который имеет много общего, хотя и не полностью совпадает с распространённым в настоящее время языком программирования TurboPascal.
Текст программы - последовательность строк, состоящих из символов, образующих алфавит языка. Каждая строка завершается специальными управляющими символами, не входящими в алфавит. Алфавит языка включает
символы, используемые для составления идентификаторов и служебных слов. Это
заглавные и строчные латинские буквы и символ подчёркивания «_», который считается буквой;
арабские цифры 0,1,2...,9;
специальные символы, используемые для конструирования знаков операций, выражений, комментариев, а также как синтаксические разделители: +-*.=<>.,;:@’()[]{}#$^
«неиспользуемые» символы - символы, имеющие ASCII коды от 128 до 255 (русские буквы, !,% и т.д.), которые могут использоваться только при создании комментариев и строковых констант;
зарезервированные слова, которые нельзя использовать в качестве вводимых в программу идентификаторов (begin, end, program.....).
Идентификаторы (имена) вводятся для обозначения переменных, констант и ряда др. элементов программы. Идентификатор - последовательность букв и цифр, начинающаяся с буквы. Имеются стандартные идентификаторы, обозначающие предопределённые объекты. Комментарии - произвольная последовательность символов (включая русские буквы), заключённая в фигурные скобки { }. Если непосредственно после открывающейся фигурной скобки следует символ $, а за ним одиночная латинская буква, такая структура определяет режим компиляции программы и называется директивой компилятора. Например, {$AppType Console} – переход в режим создания консольных приложений, т.е. программ, не имеющих графического интерфейса.
§ 5 Общая структура программы
Правильная программа, написанная на каком-либо алгоритмическом языке, представляет собой формальную запись некоторого алгоритма и состоит из двух частей: описания последовательности действий, которые необходимо выполнить для решения поставленной задачи, и описания данных, с которыми оперируют действия, причём описания данных предшествуют описаниям действий. Кроме того, программа, написанная на языке Pascal, имеет заголовок, рассматриваемый как комментарий, а заканчивается оператором «END.»
Объекты, вводимые посредством описаний и определений, имеют различную природу и могут быть разбиты на 5 классов:
Метки (LABEL 4, 77, 90;);
Константы (CONST A=250;);
Типы (TYPE
YEAR=1900..2000;
MONTH=(JAN,FAB,MAR,APR,MAY,JUN,JUL,AUG…..);
Переменные (VAR
I,j: integer;
L: REAL;);
Процедуры и функции (Все используемые процедуры и функции пользователя должны быть объявлены до начала входа в основную программу).
Описание меток вводит совокупность идентификаторов и/или целых чисел, предназначенных для организации последовательности вычислений. Посредством меток можно указать те операторы, на которые будет передано управление из других точек программы.
Определение констант задаёт идентификаторы, являющиеся синонимами некоторых значений.
Определение типов предназначено для задания конкретных множеств значений. Некоторые типы, называемые стандартными, не требуют описаний в программе пользователя.
Описание переменных вводит совокупность данных, с которыми производятся действия. Переменная обозначается идентификатором (именем). С каждой переменной связывается её тип, определяющий множество допустимых значений и набор допустимых операций.
Описание процедуры или функции определяет часть программы как отдельную синтаксическую единицу и сопоставляет с ней имя. Впоследствии действия, сосредоточенные в процедуре, могут быть выполнены посредством указания имени этой процедуры.
Описания и определения объектов могут следовать в произвольном порядке. Необходимые для решения задачи действия описываются с использованием последовательности операторов, заключённой между служебными словами begin и end. Оператор определяет конкретные действия или описывает характеристики и значения данных. Запись оператора обычно включает одно служебное слово, набор выражений, определяющих параметры оператора и набор операндов, т.е. констант и переменных, над которыми производятся преобразования. Совокупность описаний и определений и следующая за ней последовательность операторов называется блоком.
При программировании в среде Delphi пользователь, как правило, создаёт только процедуры обработки событий или подпрограммы. Многие описания при этом создаются автоматически в процессе введения в форму тех или иных визуальных элементов. Процедура имеет ту же структуру, что и программа - в начале процедуры имеется заголовок, затем следуют раздел описаний локальных объектов, т.е. объектов, определённых только внутри данной процедуры, и раздел операторов, завершающийся оператором «END;».