Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
языки и методы программирования.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
45.19 Кб
Скачать

2. Объектно-ориентированное программирование. Состав проекта. Структура программы.

Создаваемое в среде Delphi приложение состоит из нескольких элементов, объединенных в проект. В состав проекта входят следующие элементы В код проекта (DPR);

1. описания форм (DFM);

2. модули форм (PAS);

3. модули (PAS);

4. параметры проекта (DOF);

5. описание ресурсов (RES).

Кроме приведенных файлов, автоматически могут создаваться и другие файлы, например, резервные копии файлов: ~DP — для файлов с расширением DPR; ~РА — для файлов с расширением PAS.

При запуске Delphi автоматически создается новый проект Projecti, имякоторого отображается в заголовке главного окна Delphi. Этот проект имеет в своем составе одну форму Formi, название которой видно в окне Конструктора формы. Разработчик может изменить проект, предлагаемый по умолчанию, а также установить параметры среды, при которых после загрузки Delphi будет загружаться приложение, разработка которого выполнялась в последний раз.

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

Сборка всего проекта выполняется при компиляции файла проекта. При этом имя создаваемого приложения (ЕХЕ-файл) или динамически загружаемой библиотеки (DLL-файл) совпадает с названием файла проекта.

Файлы формы Для каждой формы в составе проекта автоматически создаются файл описания (DFM) и файл модуля (PAS).

Файл описания формы является ресурсом Delphi и содержит характеристики формы и ее компонентов. Разработчик обычно управляет этим файлом через окно Конструктора формы и Инспектор объектов. При конструировании формы в файл описания автоматически вносятся соответствующие изменения.

Файл модуля формы содержит описание класса формы.

Файлы модулей При программировании, кроме модулей в составе форм, можно использовать отдельные модули, не связанные с какой-либо формой. Они оформляются по обычным правилам языка Object Pascal и сохраняются в отдельных файлах. Для подключения модуля его имя указывается в разделе uses того модуля или проекта, который использует средства этого модуля. В отдельном модуле целесообразно размещать процедуры, функции, константы и переменные, общие для нескольких модулей проекта.

Файл модуля формы содержит описание класса формы. Файл модуля формы создается Delphi автоматически при добавлении новой формы. По умолчанию к проекту добавляется новая форма типа TForm, не содержащая компонентов.

В разделе interface модуля формы содержится описание класса формы, а в разделе implementation — подключение к модулю директивой $R визуального описания соответствующей формы. При размещении на форме компонентов, а также при создании обработчиков событий в модуль формы вносятся соответствующие изменения.

3. Объектно-ориентированное программирование. Классификация типов данных. Описание и область видимости переменных.

Типы данных в Object Pascal можно разделить на предопределенные в языке (встроенные) типы и типы, определяемые пользователем. Тип данных показывает, какие значения принимают данные и какие операции можно с ними выполнять. Каждому типу данных соответствует определенный объем памяти, который требуется для размещения данных.

Все типы данных в языке Delphi можно расклассифицировать следующим образом: простые типы данных. Они в свою очередь подразделяются на порядковые и вещественные типы данных. К порядковым типам относятся целочисленные, символьные, булевские, перечисляемые и интервальные типы данных; временной тип данных. Служит для представления значений даты и времени; строковые типы данных. Служат для представления последовательностей из символов, например текста; составные типы данных (в некоторых источниках - структурированные типы данных). Формируются на основе всех остальных типов. К ним относятся массивы, множества, записи, файлы, классы и ссылки на классы;

процедурные типы данных. Позволяют манипулировать процедурами и функциями как данными программы; указательные типы данных. Данные этих типов хранят адреса других данных, с их помощью организуются различные динамические структуры: списки, деревья и т.д.; тип данных с непостоянным типом значений. Служит для представления значений, тип которых заранее неизвестен; с его помощью легко организуется работа со списком разнотипных значений;

Некоторые предопределенные типы данных делятся на фундаментальные и обобщенные типы. Данные фундаментальных типов имеют неизменный диапазон значений и объем занимаемой памяти на всех моделях компьютеров. Данные обобщенных типов на различных моделях компьютеров могут иметь разный диапазон значений и занимать разный объем памяти.

Целочисленные типы включают целые числа. Наиболее часто используется

тип integer, допускающий значения в диапазоне от -2 147 483 648 до

2 147 483 647.

Значениями литерного типа являются элементы из набора литер, то есть

отдельные символы. В Object Pascal определен литерный тип char, который

занимает один байт, а для кодирования символов используется код амери-

канского национального института стандартов ANSI

В Object Pascal к логическому относится тип Boolean.

Интервальные типы описываются путем задания двух констант, определяю-

щих границы допустимых для данных типов значений. Эти границы и опре-

деляют интервал (диапазон) значений.

Вещественные (действительные) типы включают в себя вещественные числа.

Наиболее часто используется тип Real, допускающий максимальное значение 1,7хЮ 308 и обеспечивающий точность 15—16 цифр мантиссы.

Переменные описываются с помощью зарезервированного слова var. За ним перечисляются идентификаторы переменных, и через двоеточие указывается их тип. Каждая группа переменных отделяется от другой группы точкой с запятой. В объявлении типов классов имеются разделы частных (private) и общих (public) объявлений. В разделе частных (private) объявлений размещаются поля данных и методы, недоступные за пределами модуля, содержащего объявление данного класса. Данные, описанные в этом разделе, могут обрабатываться только путем вызова методов внутри класса, а также внутри данного модуля. За пределами класса все его частные элементы неизвестны и считаются несуществующими. Поля данных и методы, объявленные в разделе общих (public) объявлений класса, доступны для всех процедур, программный код которых расположен в области видимости данного объекта. В разделе общих объявлений типа класса должны быть объявлены поля данных и методы, к которым будут иметь доступ методы объектов других модулей.

6. Базовые алгоритмические структуры. Реализация разветвляющихся алгоритмов. Примеры. Алгоритм – точное и полное описание метода решения задачи, составленное из инструкций. Алгоритм должен обладать следующими свойствами:

1. Определенность (детерминированность)

2. Результативность.

3. Массовость. Существует несколько способов представления алгоритмов. Наиболее простой и наглядный способ, пригодный для алгоритмов любой сложности – блок-схемы. Базовые структуры алгоритмов - фрагменты блок-схем определенной конфигурации (следование, ветвление, цикл). Смысл этой конструкции состоит в выборе, в зависимости от результатов проверки условия, одной из двух альтернативных групп операторов, либо, в частном случае, – выполнении или невыполнении группы операторов. В структуре ветвления должна быть четко обозначена точка соединения ветвей. Блоки ветвей ДА и НЕТ не должны иметь связей. Оператор ветвления применяется в случаях, когда выполнение или невыполнение некоторого набора команд должно зависеть от выполнения или невыполнения некоторого условия. Существует две основные формы условной инструкции, встречающиеся в реальных языках программирования: условный оператор (оператор if) и оператор многозначного выбора (переключатель, case) Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» true. В большинстве языков программирования условный оператор начинается с ключевого слова if.

Встречаются следующие формы условного оператора: Условный оператор с одной ветвью («if условие then команды end») При выполнении такого оператора вычисляется условие, и если оно истинно, то выполняются команды до ключевого слова end, в противном случае выполнение программы продолжается со следующей за условным оператором команды. Условный оператор с двумя ветвями («if условие then команды1 else команды2 end») Здесь при истинности условия выполняются команды1 при ложности — команды2. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов. Конструкция переключателя имеет несколько (две или более) ветвей. Переключатель выполняет одну заданную ветвь в зависимости от значения вычисляемого ключевого выражения. Принципиальным отличием этой инструкции от условного оператора является то, что выражение, определяющее выбор исполняемой ветви, возвращает не логическое, а целое значение, либо значение, тип которого может быт приведён к целому.