- •1. Осн. Прин. Объектно-ориентир. Программ-я: абстрагирование, виды абстракций, ограничение доступа, модульность, иерархия, типизация, инкапсуляция, наследование, полиморфизм.
- •2. Объектно-ориентированное программирование. Состав проекта. Структура программы.
- •7. Базовые алгоритмические структуры. Реализация циклических алгоритмов. Примеры.
- •8. Структурированные типы данных: массивы. Визуальные компоненты для работы с массивами. Методы сортировки данных в массиве. Оценка методов сортировки
- •9. Функции и процедуры. Механизм передачи и действия параметров. Примеры. Рекурсия.
- •10. Средства языка программирования для работы с файлами. Виды файлов
- •11. Графические возможности языка программирования.
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. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов. Конструкция переключателя имеет несколько (две или более) ветвей. Переключатель выполняет одну заданную ветвь в зависимости от значения вычисляемого ключевого выражения. Принципиальным отличием этой инструкции от условного оператора является то, что выражение, определяющее выбор исполняемой ветви, возвращает не логическое, а целое значение, либо значение, тип которого может быт приведён к целому.
