Лекции по высокоуровневым методам информатики и программированию
|Модуль представляет собой совокупность логически|на понятии модуля. |
|связанных элементов, предназначенных для |Все программные ресурсы модуля |
|использования другими модулями и программами. |можно разбить на две части: |
| |Объекты, прямо предназначенные для |
|Модули предназначены для хранения готовых |использования другими программами |
|программ. |или модулями; |
|Модуль сам по себе не является выполняемой |Объекты рабочего характера. |
|программой – его объекты используются другими | |
|программными единицами (процедурами, функциями).|Свойства модуля. |
| | |
| | |
|Модуль имеет: | |
|один вход и один выход – на входе программный | |
|модуль получает определенный набор исходных | |
|данных, выполняет обработку данных и возвращает | |
|один набор результатных данных, т.е. реализует | |
|принцип | |
|IPO (Input – Process – Output) – | |
|вход-процесс-выход; | |
|функциональную завершенность – модуль выполняет | |
|перечень операций для реализации каждой | |
|отдельной функции в полном составе, достаточных | |
|для завершения начатой обработки; | |
|логическую независимость – результат работы | |
|модуля |Т.о. Модули содержат: |
|зависит только от исходных данных, и не зависит|-определение доступных для |
|от работы других модулей; |обработки данных, |
|слабые информационные связи с другими программ- |-операции обработки данных, |
| |-схемы взаимосвязи с другими |
|ными модулями – обмен информации между модулями |модулями. |
|должен быть по возможности минимизирован; | |
|обозримый по размеру и сложности программный | |
|элемент. |Принцип модульного программирования|
|Каждый модуль состоит из: |ПП во многом сходны с принципами |
|Спецификации – правила использования модуля и |нисходящего проектирования: |
|Тела – способ реализации процесса обработки. | |
| |Функции верхнего уровня |
|Модульная структура приложения. |обеспечивается главным модулем; он |
|Принцип модульного программирования ПП: |управляет выполнением нижестоящих |
|определение состава и подчиненность функций, |функций, которым соответствуют |
|определение набора программных модулей, |подчиненные модули. |
|реализующих эти функции. | |
|При составлении алгоритма необходимо учитывать: | |
|Каждый модуль вызывается на выполнение | |
|вышестоящим модулем и, закончив работу, | |
|возвращает управление вызвавшему его модулю; | |
|Принятие основных решений в алгоритме выносится |10 |
| |В результате детализации алгоритма |
|на максимально «высокий» по иерархии уровень; |создается Функционально-модульная |
|Для использования одной и той же функции в |схема алгоритма приложения, которая|
|разных |является основой для |
|местах алгоритма создается один модуль, который |программирования. |
|вызывается на выполнение по мере необходимости. |Состав и вид программных модулей, |
|Функционально-модульная схема (ФМС). |их назначение и характер |
| |использования в программе в |
| |значительной степени определяются |
| |инструментальными средствами. |
| |Например, применительно к средствам|
| |СУБД отдельными модулями могут |
| |быть: |
| |Экранные формы ввода и |
| |редактирования информации БД; |
| |Отчеты генератора отчетов; |
| |Макросы; |
| |Стандартные процедуры обработки |
| |информации; |
| |Меню, обеспечивающее выбор функции |
| |обработки и др. |
| | |
| | |
|Функция 1 и Функция 2 выполняются с помощью |Алгоритм – формальное описание |
|одного и того же программного Модуля. |способа решения задачи путем |
|Функция 3 реализуется одним программным модулем.|разбиения ее на элементарные |
| |операции. |
|Функция 4 – в виде последовательности выполнения|Алгоритмическое программирование – |
| |это разбиение программы на |
|Программных Модулей (2, 3 . . . p). |последова тельность модулей, каждый|
|Функция 5 – с помощью иерархии связанных |из которых выполнят одно или |
|модулей. |несколько действий. |
| |Алгоритм на выбранном языке програм|
|Алгоритмы большой сложности представляются с |мирования записывается с помощью |
|помощью схем двух видов: |команд описания данных. |
|Обобщенной схемы алгоритма – раскрывает общий | |
|принцип функционирования алгоритма и основные | |
|логические связи между отдельными модулями: | |
|Детальной схемы алгоритма – представляет содер- | |
| | |
|жание каждого элемента обобщенной схемы с ис- | |
| | |
|пользованием управляющих структур в блок-схемах | |
|и | |
|алгоритмических языков высокого уровня. | |
|0.8.3. Структурное программирование | |
| |Наиболее часто детально |
|Основано на модульной структуре ПП и типовых |проработанные алгоритмы |
|управляющих структурах алгоритмов обработки |изображаются в виде блок схемы |
|данных различных программных модулей. |согласно требованиям структурного |
|Типы управляющей структуры: |программирования, при их разработке|
|Последовательность; |используются условные обозначения |
|Альтернатива (условие выбора); |согласно ГОСТа («следование», |
|Цикл. |«ветвление», «цикл»). |
| | |
| | |
| | |
| | |
|1.0. Интегрированная среда разработки ( I DE ) |11 |
|1.1 Основные характеристики. |Integrated Development Environment.|
| |Возможна работа с группой проектов.|
|I DE позволяет создавать, компилировать, | |
|тестировать и редактировать проект в единой |Delphi – это греческий город, где |
|среде программирования |жил дельфийский оракул. Этим именем|
|I DE входит в комплект Delphi 5. |был назван новый ПП с |
| |феноменальными характеристиками. Он|
|Система Delphi – это комбинация нескольких |удачно сочетает в себе несколько |
|технологий: |передовых технологий. |
|Высокопроизводительный компилятор в машинный код|В процессе работы разработчик |
|(скорость компилирования 120 тыс. строк/мин.); |выбирает готовые компоненты и |
|Объектно-ориентированная модель компонент |проектирует в среде. После |
|(основные объекты, которые группируются в 270 |выполнения компиляции получают код,|
|классов); |который исполняется в 10-20 раз |
|Отсутствуют ограничения по типам создаваемых - |быстрее, чем то же самое, сделанное|
| |при помощи интерпретатора. |
|объектов, т.к. сам Delphi разработан на Delphi. |Delphi включает полный набор |
|Визуальное построение приложений. Визуальные |визуальных инструментов для |
|компоненты пишутся на объектном Паскале; |скоростной разработки приложений |
|Масштабируемые средства для построения БД. |(из готовых компонентов, число |
|Одно и тоже приложение можно использовать как |которых непрерывно растет даже за |
|для локального, так и для клиент - серверного |счет других фирм). |
|вариантов. |Delphi включает в себя локальный |
| |сервер для того, чтобы можно было |
|Delphi предназначен для: |разработать приложения на любые |
|профессионалов - разработчиков информационных |внешние серверы. |
|систем; |Сам Delphi разработан на Delphi. |
|пользователей - для быстро решения своих задач. |Пользователи - это учителя, врачи, |
| |преподаватели ВУЗов, бизнесмены. Не|
| |привлекая для решения своих задач |
|Запуск Delphi 5: |программистов со стороны. |
|с помощью Главного меню или |Любой программист на Паскале |
|двойным щелчком по пиктограмме Delphi 5. |способен сразу профессионально |
| |освоить Delphi. Журнал Visual |
|Основной экран среды: |Basic Magazine присудил свою премию|
| |Delphi for Win- |
| |dows. |
| | |
| | |
| |Имя открытого проекта. |
| |Имена пунктов меню |
| |Содержит кнопки наиболее |
| |часто используемых команд |
| |Палитра компонент содержит |
| |компоненты, с помощью которых |
| |создается приложение. |
| | |
| |Программный код компонентов |
| |автоматически генерируется Delphi. |
| |Для создания приложения достаточно |
| |разместить в форме стандартные |
|1.2. Главное окно |компоненты, поскольку их число |
| |очень велико. |
| |12 |
|Главное окно содержит: |Окна Delphi можно перемещать, |
|Строку заголовка, которая отображает имя |убирать с экрана, а также изменять |
|открытого проекта; |их размеры. |
|Строку меню с набором команд для разработки, |Delphi является одно-документной |
|тестирования приложений и управления ими; |средой, т.е. позволяет одновременно|
|Панель инструментов включает 15 кнопок, |работать только с одним |
|соответствующих основным командам меню; |приложением. |
|Палитра компонентов отображает компоненты, с |Кнопками панели инструментов можно |
|помощью которых создается приложение. |вызывать часто используемых команд |
|Группы компонентов размещаются на 19 вкладках. |главного меню. Вызвать команды |
| |главного меню можно с помощью |
|В Delphi используется открытая компонентная |соответствующих комбинаций клавиш. |
|архитектура, которая позволяет добавлять |Компоненты являются "строительными |
|компоненты. |блоками" из которых конструируются |
|Компоненты подразделяются на: |формы приложений. |
|Визуальные (кнопки, поля редактирования), |Не все компоненты присутствуют в |
|Логические (таблицы, отчеты) компоненты. |разных конфигурациях. Можно |
| |добавлять компоненты независимо от |
|5 панелей инструментов: |того, где они были изготовлены. |
|Стандартная, |Можно управлять отображением |
|Просмотр, |панелей инструментов и изменять |
|Отладка, |состав кнопок на них. |
|Пользователь, |Эти действия выполняются с помощью |
|Рабочий стол. |контекстного меню панелей |
| |инструментов или строки меню. |
|1.3. Окно Конструктора формы (Дизайнер формы) | |
| |Программисты на Delphi проводят |
|Первоначально имеет заголовок Form1. |большинство времени переключаясь |
|Форма – основа разработки, в нее помещают |между Конструктором Формы и окном |
|необходимые компоненты, создают интерфейс |Редактора Кода (исходного текста). |
|программы. |Конструктор формы интуитивно |
|Объекты выбираются на Палитре Компонентов. |понятен и прост в использовании, |
| |поэтому создание визуального |
| |интерфейса превращается в детскую |
| |игру. Конструктор Форм |
| |первоначально состоит из одного |
| |пустого окна, которое заполняется |
| |всевозможными объектами, выбранными|
| |на Палитре Компонент. |
| |Сам конструктор формы находится "за|
| |кадром", а разработчик имеет дело с|
| |самой формой, поэтому окно часто |
| |называют просто Формой. |
|Для размещения компонента на форме необходимо: |Несмотря на важность Конструктора |
|1.Щелкнуть мышью на пиктограмме нужного |Формы, местом, где программисты |
|компонента |проводят основное время, является |
|2. Щелкнуть в том месте Формы, где должен быть |Редактор. Логика является движущей |
|расположен компонент. |силой программы и Редактор – то |
|Редактировать компоненты можно с помощью |место, где происходит |
|контекстного меню. |"кодирование". |
|1.3. Окно Редактора кода |13 |
| |Редактор кода представляет собой |
|Первоначально имеет заголовок Unit1.pas. |обычный текстовый редактор, с |
|Окно редактора содержит исходный текст модуля |помощью которого можно |
|разработки. Редактор и форма тесно связаны |редактировать текст модуля и другие|
|между собой |текстовые файлы приложения. |
|(переключаться между ними можно клавишей F12). |В редакторе кода можно открывать |
| |несколько файлов, каждый из которых|
| |размещается на отдельной странице. |
| |Между страницами можно |
| |переключаться мышью, т.е. "листать"|
| |файлы по ярлычкам. |
| |Окно Проводника кода размещается |
| |слева от окна Редактора. В нем в |
| |виде дерева отображаются все |
| |объекты модуля формы, например |
| |переменные и процедуры. В окне ПК |
| |удобно просматривать объекты |
| |приложения и можно быстро |
| |обращаться к необходимым объектам, |
| |что особенно важно при работе с |
|В Окне Проводника кода отображаются объекты |большими модулями. ПК |
|модуля формы, что позволяет быстро обращаться к |автоматизирует создание новых |
|объектам и создавать новые классы. |классов. |
|Окна в Delphi могут стыковаться друг с другом с |При закрытии файла закрывается и |
|помощью мыши, сливаться в одно общее окно, |ПК. |
|разделенное на несколько частей. |Проводник кода можно убирать и |
| |выставлять с помощью команды меню |
| |Вид. |
| |Окна удобно перемещать по экрану и |
| |изменять их размеры. |
|1.4. Окно Инспектора объектов | |
|Окно отражает поведение данного компонента для |Если нужно изменить что-нибудь, |
|текущей формы Form1. Состоит из двух страниц |связанное с определенным |
|(вкладок). |компонентом, то это выполняется в |
| |Инспекторе Объектов. К примеру, |
| |можно изменить имя и размер |
| |компонента Tlabel , изменяя |
| |свойства Caption, Top, Height и |
| |Width. |
| |Страница событий связана с |
| |Редактором кола. Страница Свойство |
| |при проектировании формы позволяет |
| |просто изменять свойства |
| |компонентов, что отражается в окне |
| |проектировщика форм. |
| |Если для какого либо События |
| |существует процедура, то в |
|Страница Свойство (список свойств) отображает |разработке процедура выполняется |
|информацию о текущем компоненте. |автоматически при возникновении |
|Страница События (список событий) определяет |этого события. Такие процедуры |
|процедуру, которую компонент должен выполнить |служат для обработки событий, |
|при возникновении указанного события. |поэтому их называют обработчиками. |
| |Каждый компонент имеет свой набор |
| |свойств и событий, определяющих его|
| |индивидуальность и особенности. |
|2. Характеристика проекта Delphi |14 |
| |Три из них относятся к управлению |
|Любой проект имеет не менее шести файлов, |проектом из среды и напрямую |
|связанных с ним: |программистом не меняются. |
|Главный файл проекта (код проекта) – PROGECT.DPR|Основной, представляет собой |
| |программу. |
| |Автоматически появляется вначале |
|Первый модуль программы (модуль формы) UNIT.PAS |работы его можно назвать любым |
| |другим именем |
|Файл главной формы (описания формы) – |Используется для сохранения |
|UNIT.DFM |информации о внешнем виде главной |
| |формы. |
|Файл описание ресурсов – |Содержит иконку для проекта, |
|PROGECT.RES |создается автоматически. |
| |Текстовый файл для сохранения |
|Файл параметры проекта – |установок, связанных с данным |
|PROGECT.OPT |проектом. |
| |Дополнительные Модули. |
|Модули - |При сохранении проекта под другим |
|*.PAS |именем, изменятся название у файлов|
| |с расширением RES,OPT. |
|Форма |Кроме приведенных файлов могут |
| |автоматически создаваться и |
| |резервные копии: (DP - для |
| |DPR-файлов, (РА – для PAS-файлов. |
| |При запуске Delphi автоматически |
|. . . |создается новый проект PROGECT1, |
| |имя которого отображается в |
| |заголовке главного окна Delphi. Он |
|. . . |имеет в своем составе одну форму и |
| |соответствующий ему модуль. |
|. . . |Относительно простой проект |
|Могут автоматически создаваться и резервные |содержит много файлов, которые |
|копии. |целесообразно размещать в отдельном|
|Файлы проекта располагаются в одном каталоге. |каталоге. |
|Для каждого нового проекта целесообразно | |
|создавать отдельный каталог. | |
|Файлы в проекте можно добавлять и удалять. | |
|2.1. Файл проекта PROGECT.DPR | |
|Является основным и представляет собой |Для приложения с одной формой: |
|программу: |совпадает с именем файла и |
|program Project1; |указывается при сохранении файла на|
|{Имя программы} |диске. |
| |Оператор Uses сообщает компилятору,|
|uses |что программа использует модуль с |
|{Оператор} |исходным кодом формы Unit1.pas. |
|Forms, Имя подключаемого модуля Form1 |указано в виде комментария. Кроме |
|Unit1 in 'Unit1.pas' {Form1}; |того, перечисляются подключаемые |
|Перечисление модулей |Файл ресурсов имеет имя, |
|{$R *.RES} |совпадающее с именем файла проекта.|
| |добавив директивы и указав в них |
|begin |нужные имена. |
|{Главный блок программы} |Операторы выполняют инициализацию |
|Application.Initialize; |приложения, создание формы и запуск|
|{Инициализация приложения} |приложения. При выполнении операций|
|Application.CreateForm(TForm1,Form1); |формируется Delphi автоматически. |
|Application.Run; | |
|{Запуск приложения} | |
|end. | |
|Просмотреть и отредактировать код файла в окне | |
|Редактора кода можно с помощью команды: | |
|Project/View Source (Проект/Просмотр источника).| |
|2.2. Файлы формы |Модуль формы и описание формы |
| |15 |
|Для каждой формы создаются автоматически файл | |
|описания UNIT.DFM и файл модуля UNIT.PAS. |Используя Конструктор формы и |
| |Инспектор объектов, разработчик сам|
|Файл описания формы (*.dfm) содержит |управляет этим файлом. Пример |
|характеристики формы и ее компонентов |описания формы с кнопкой Button1. |
|(двоичный). | |
|При конструировании формы в Файл описания |Object Form1:TForm1 |
|автоматически вносятся соответствующие | |
|Для каждой формы декларируется тип, определяющий|Left = 193 |
|эту форму как класс. Он содержится в модуле |Top = 246 |
|UNIT1.PAS |Width = 544 |
|Чтобы отобразить этот файл на экране необходимо:|Height = 375 |
| |Caption = 'Form1' |
|Закрыть окно Конструктора той формы, для которой|Color = clBtnFace |
|нужно отобразить файл описания; |Font.Charset = DEFAULT_CHARSET |
|Активизировать команду File/Open (Файл/Открыть);|Font.Color = clWindowText |
| |Font.Height = -11 |
|В диалоговом окне ( ДО ) Open (Открыть) в списке|Font.Name = 'MS Sans Serif' |
|типов файлов найти и установить маску *.dfm; |Font.Style = [ ] |
|Выделить нужный файл и нажать на кнопку Open. |OldCreateOrder = False |
| |PixelsPerInch = 96 |
| |TextHeight = 13 |
| |end. |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
|Редактор кода и его содержимое будет доступно | |
|для просмотра и редактирования. | |
| |Interface |
|Чтобы открыть окно Конструктора формы: |{описание класса формы} |
|Закрывается Редактор кода командой File/Close; |uses |
|Открывается Конструктор формы командой View/ |Windows, Messages, SysUtils, |
|Forms, в ДО которого выбирается нужная форма. |Classes, Graphics, Controls, Forms,|
| |Dialogs, |
|Файл модуля формы (*.pas) содержит описание |StdCtrls; |
|класса формы (поведение компонент и |type |
|функционирование обработчиков событий). |TForm1 = class(TForm) |
|Создается автоматически при добавлении новой |private |
|формы. |{ Private declarations } |
|При размещении на форме компонентов, в модуль |public |
|формы вносятся соответствующие изменения. |{ Public declarations } |
|Часть изменений вносит Delphi, а часть – |end; |
|разработчик. |var |
|Открыть модуль формы можно с помощью: |Form1: TForm1; |
|команды File/Open или |Implementation {Подключение к |
|в ДО View/Units (Просмотр/Модули), где |модулю описа |
|выбирается нужный модуль. |{$R *.DFM} ния |
| |соответствующей формы} |
|Файлы Модуля формы и Описания формы имеют |end. |
|одинаковое имя, которое отличается от имени |Тексты модулей форм отображаются в |
|файла проекта. |окне Редактора кода и редактируются|
| |с его помощью. |
|2.3. Файлы модулей *.PAS |16 |
| |Помимо файлов, создаваемых Delphi, |
|Это модули не связанные с какой-либо формой. |в проект могут включаться ваши |
|Они оформляются по правилам языка |собственные файлы, написанные на |
|программирования Object Pascal и сохраняются в |языке Pascal более ранних версий |
|отдельных файлах. |или на других языках |
|Для подключения модуля его имя указывается в |программирования. |
|разделе uses того модуля или проекта, который |В отдельном модуле целесообразно |
|использует этот модуль. |размещать процедуры, функции, |
| |константы или переменные, общие для|
| |нескольких модулей проектов.. |
|2.4. Файл ресурсов PROGECT.RES | |
| |Эти компоненты являются ресурсами |
|При первом сохранении проекта автоматически |Windows, поскольку они разработаны |
|создается файл ресурсов с именем, совпадающим с |в соответствии со стандартами этой |
|именем файла проекта. |системы. |
|Файл содержит следующие ресурсы: | |
|пиктограммы; | |
|растровые изображения; | |
|курсоры. | |
|Файл ресурсов первоначально содержит пиктограмму| |
|проекта. Его можно изменить, используя |На рисунке показано окно редактора,|
|графический редактор Image Editor 3.0. |в которое загружен файл и |
|Вызывается редактор командой Tools / Image |выполняется редактирование |
|Editor |пиктограммы приложения. |
|(Инструменты/Редактор изображений). |Файл ресурсов имеет иерархическую |
| |структуру, в которой ресурсы |
| |разбиты на группы, а каждый ресурс |
| |имеет уникальное в пределах группы |
| |имя. Имя ресурса задается при его |
| |создании и в последующем |
| |используется в приложении для |
| |доступа к этому ресурсу. |
| |Программа проекта находится в |
| |группе Icon и по умолчанию имеет |
Страницы: 1, 2, 3
|