Лекции по высокоуровневым методам информатики и программированию

Лекции по высокоуровневым методам информатики и программированию

|0. Введение |0.1 |

|0.1. Содержание дисциплины | |

|Высокоуровневые методы информатики и | |

|программирования |Объем - 52 часа |

| |2 семестр: |

|Предметом изучения являются:[pic] |лекции - 34 |

| |лаб. работы - 18 |

|Новейшие направления в области создания |----------------------------- |

|технологий программирования, |всего - 52 |

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

|Создание модульных программ, |курсовая работа |

|Элементы теории модульного программирования, |экзамен |

|Объектно-ориентированное программирование, | |

|Объектный тип данных, | |

|Переменные объектного типа, | |

|Конструкторы и деструкторы, | |

|Инкапсуляция, наследование, полиформизм, | |

|Классы и объекты, | |

|Особенности программирования в оконных | |

|операционных средах, | |

|Основные стандартные модули, обеспечивающие | |

|работу в оконной операционной системе, | |

|Интегрированная среда программирования, | |

|Система окон разработки, система меню, | |

|Основы визуального программирования, | |

|Компоненты и их использование, | |

|Размещение нового компонента. Реакция на событие| |

| | |

|0.2. Список литературы | |

|Основная: | |

|Петров А. и др. Вычислительная техника и |Учебник |

|программирование. Высшая школа, 1990. | |

|Епанешников А.. М. Епанешников В. А. |Учебно-справочное издание |

|Программирование в среде TURBO PASCAL 7.0. | |

|Диалог МИФИ, 1995г. | |

|Р. Баас, М. Фервай, Х. Гюнтер. Delphi 4. Пер. с |Учебное пособие. |

|нем. под ред. А. Шевцова. Для пользователя BNV, | |

|Киев 1999. |Учебное пособие. |

|В. Гофман, А. Хоменко. Delphi 5. Наиболее полное| |

|руководство. СПБ: БХВ, 2000 | |

|Дополнительная: | |

|Информатика, Учебник /Под ред. Макаровой Н.В. |Учебник |

|Москва, Финансы и статистика, 1997. | |

|Ван Тассел Д. Стиль, разработка, эффективность, |Пособие по языку. |

|отладка и испытание программ. Мир, 1985. | |

| | |

| 0.3 Программные продукты |0.2 |

|и | |

|их основные характеристики | |

|0.3.1. Понятия программного обеспечения | |

| |Программирование может |

|Программирование – это сфера действий, |рассматриваться как наука, так и |

|направленная на создание программ. |искусство |

|Программа – это последовательность команд |Программа результат |

|компьютера, приводящая к решению задачи. |интеллектуального труда, для |

|Приложение – это программная реализация на |которого характерно творчество. |

|компьютере решения задачи. |Программы предназначены для |

|Программное обеспечение (ПО) - это программные |машинной реализации задач. |

|продукты и техническая документация к ним. |Задача – это проблема, подлежащая |

|Программный продукт (ПП) – это комплекс |решению с помощью технических |

|взаимосвязанных программ, предназначенный для |средств, а приложение (синоним |

|реализации определенной задачи массового спроса.|программа) – реализованное на |

| |компьютере решение данной задачи. |

|Программы являются критерием развития |Программы делятся на утилиты (для |

|вычислительной техники. |нужд разработчиков) и программные |

| |продукты (для удовлетворения |

|Проблемы, возникающие при создании программных |потребностей пользователя) |

|продуктов: |В настоящее время на мировом рынке |

|Быстрая смена вычислительной техники и |господствуют ЭВМ разного типа: VAX |

|алгоритмических языков. |и IBM и языки, совместимые с этими|

|Не стыковка машин друг с другом (VAX и IBM). |ЭВМ. Программы, написанные для |

|Отсутствие полного взаимопонимания между |одной машине, не всегда подходят к|

|заказчиком и исполнителем к разработанному |другой. |

|программному продукту. |Для разработчика это творчество, |

| |для заказчика это удобный |

| |инструмент. |

| |В Японии 60% трудоспособного |

| |населения занимается |

| |программированием |

|0.3.2 Характеристики качества ПО. | |

| |Критерии оценки качества программы.|

|Перечень показателей качества: |Программа должна: |

|документированность, |работать согласно техническому |

|эффективность, |заданию (и это легко проверяется); |

|простота использования, |быть эффективна по быстродействию и|

|удобство эксплуатации, |памяти (или быстрее работать или |

|мобильность, |занимать меньше памяти); |

|совместимость, |широко использоваться и быть |

|испытуемость, |доступной (любой грамотный |

|стоимость. |программист должен в программе |

| |разобраться и ее эксплуатировать, |

| |модернизировать как под новую |

| |задачу, так и под новую версию ОС);|

| | |

| |быть приспособлена к выявлению |

| |ошибок (достаточно надежна в |

| |процессе расчета получать |

| |достоверные результаты); |

| |должна быстро разработана и |

| |отлажена с минимальными |

| |трудозатратами. |

|0.4. Классификация и сравнение языков |0.3 |

|программирования | |

|ЭВМ исполняет программу в машинных кодах. |Программа для ЭВМ занимается |

|Составляют программу люди на удобном для себя |преобразованием одних данных в |

|языке. |другие. |

|Различают языки: |На английском языке. |

|низкого уровня (машинно-ориентированные), | |

|высокого уровня (на зависят от типа ЭВМ). |Зависит от типа ЭВМ. Например, |

|Языки высокого уровня бывают: |Ассемблер. |

|процедурно-ориентированные (Паскаль), |Не зависят от типа ЭВМ. |

|проблемно-ориентированные (MathCAD), |Например, Паскаль. |

|объектно-ориентированные (С++). |Например, MathCAD. |

| |Например, С++ |

|Трансляторы переводят программу с языка |И. - Построчный перевод и |

|программирования в машинные коды. |исполнение. Медленно, но удобно при|

|Виды трансляторов: |отладке. |

|Интерпретатор – построчный перевод и исполнение,|К. - Перевод всей программы с |

| |последующим исполнением. Неудобно |

|Компилятор – перевод всей программы с |при отладке, но быстрое исполнение |

|последующим исполнением. |готовой программы |

| Примеры языков | |

|высокого уровня: |Для математических расчетов. От |

|Fortran = Formula |слов - транслятор формул. |

|Translator | |

|----------------------------------------- | |

|BASIC = Beginner’s |Универсальный простой язык. |

|All-perpose |Многоцелевой мнемокод для |

|Symbolic |начинающих. |

|Instruction | |

|Code | |

|---------------------------------------- |Язык для бизнеса. По первым буквам |

|COBOL = Common |слов английской фразы - язык, |

|Business |ориентированный на обычный бизнес. |

|Oriented | |

|Language | |

|----------------------------------------- |Язык для описания алгоритмов. |

|Algol = Algorithmic | |

|Language |Универсальный современный |

|------------------------------- |структурированный язык. Назван в |

|Pascal |честь Блеза Паскаля. |

|------------------------------- |Языки для системного |

|С, |программирования. |

|С++ |Для решения задач в реальном |

|------------------------------- |времени. Назван в честь |

|Ada |программистки Ады Лавлейс. |

|------------------------------- |Язык обработки списков в системах |

|Lisp = List | |

|Programming |искусственного интеллекта. |

|------------------------------- |Язык логического программирования |

|Prolog = Programming |для систем искусственного |

|Logically |интеллекта. |

|0.5. Проектирование программных продуктов (ПП) |0.4 |

|0.5.1. Классификация методов проектирования ПП | |

| |Проектирование алгоритмов и |

| |программ – наиболее ответственный |

| |этап жизненного цикла ПП. |

|Признаки |Традиционное неавтоматизированное |

| |проектирование алгоритмов и |

| |программ используется при |

| |разработке небольших по |

| |трудоемкости и структурной |

| |сложности ПП, не требующих большого|

| |числа разработчиков. ПП имеют |

| |прикладной характер. |

| |Автоматизированное проектирование |

| |алгоритмов и программ возникло с |

| |необходимостью уменьшить затраты на|

|Неавтоматизированное проектирование алгоритмов и|проектные работы, сократить сроки |

|программ используется при разработке небольших |их выполнения, создать типовые |

|по трудоемкости и структурной сложности ПП. |"заготовки", многократно |

|Автоматизированное проектирование используется в|тиражируемых для различных |

|крупных фирмах при разработке определенного |разработок, координации работ |

|класса ПП большого коллектива разработчиков. |большого коллектива разработчиков |

| | |

|.Структурное проектирование – это |Методология –это подходы к |

|последовательная декомпозиция, целенаправленное |проектированию |

|разбиение на отдельные составляющие. |Начало развития падает на 60-е |

|Структурное проектирование включает в себя: |годы. |

|нисходящее проектирование ("сверху вниз"), |Метод нисходящего проектирования |

|модульное программирование, |предполагает последовательное |

|структурное программирование (кодирование). |разложение общей функции обработки |

| |данных на простые функциональные |

|Информационное моделирование – построение |элементы ("сверху вниз"). |

|комплекса взаимосвязанных моделей данных. |В основе Информационного |

| |моделирования лежит положение об |

|Объектно-ориентированный подход основан на: |определяющей роли данных при |

|выделении классов объектов; |проектировании алгоритмов и |

|установлении свойств объектов и методов их |программ. |

|обработки; |Структурное программирование |

|создании иерархии классов, наследовании свойств |основано на модульной структуре |

|объектов и методов их обработки. |программного продукта и базовых |

|Каждый объект объединяет данные и программу |алгоритмических структурах. |

|обработки этих данных и относится к |Кроме того, ООП позволяет резко |

|определенному классу. |сократить объем и трудоемкость |

| |подготовки программ, имеющих дело с|

|Основная цель ООП - преодолеть следующие |множеством связанных друг с другом |

|недостатки проектирования “сверху вниз”: |объектов. |

|- недостаточное внимание к структурам данных, |Объектно-ориентированный анализ – |

|- слабая связь структур данных с процессами их |это выявление объектов, определение|

|обработки. |свойств и методов обработки |

| |объектов, установление их |

| |взаимосвязей. |

| |ООП процесс объектной декомпозиции |

| |и представления с использованием |

| |моделей данных проектируемой |

| |системы на логическом и физическом |

| |уровнях. |

|0.5.2. Этапы создания ПП |0.5 |

|Составление технического задания на програм- |Создание программных продуктов |

|мирование. |трудоемкий процесс, основанный на |

|На этом этапе требуется: |определенной технологии. |

|определить тип ОС - MS DOS, Windows, Windows NT,| |

| | |

|оценить необходимость сетевого варианта работы | |

|программы, |которую можно переносить на |

|определить необходимость разработки программы, |различные платформы. |

|обосновать необходимость работы с БД под |Разрабатывают функциональную |

|управлением СУБД, |структуру алгоритма или состав |

|выбрать методы решения задачи, |объектов, определяют требования к |

|разработать обобщенный алгоритм решения |комплексу технических средств |

|комплекса задач и структуры данных, |системы. |

|определить требования к интерфейсу пользователя.| |

| |Пример: для создания MS DOS- |

|Технический проект. |приложений может быть использован |

|На этом этапе выполняется: |язык программирования Visual Basic |

|разработка детального алгоритма обработки |for DOS Standard, Fortran, Visual |

|данных, |C++ for Windows. Если необходима |

|определение состава общесистемного программного|переносимость программ на другие |

|обеспечения, включающего базовые средства (ОС, |ЭВМ, выбирается среда Windows NT. |

|модель БД, электронные таблицы), |При разработке программ, работающих|

|разработка внутренней структуры ПП, образованной|в среде Windows, возможно |

|отдельными программными модулями, |применение технологии OLE, для |

|выбор средств разработки программных модулей. |создания приложений. |

|Рабочая документация (рабочий проект). |Приложение может работать с БД |

|На этом этапе осуществляется: |различных СУБД. |

|разработка программных модулей, | |

|программирование или создание программного кода,| |

| | |

|отладка программного продукта, | |

|испытание работоспособности программных модулей | |

|и базовых программных средств, | |

|подготовка контрольного примера, для проверки | |

|соответствия ПП заданию, | |

|создание эксплуатационной документации на |- характеристика программного |

|программный продукт: |изделия с указанием сферы его |

|Описание применения; |применения; |

|Руководство пользователя; |- детальное описание функциональных|

|Руководство программиста (оператора). |возможностей и технологии работы с |

|Обучающей системы (для ПП массового применения) |программным продуктом; |

|Ввод в действие. |- указывает особенности установки |

|Готовый программный продукт сначала проходит |программного продукта. |

|опытную эксплуатацию, а затем сдается в | |

|промышленную эксплуатацию. |Тиражирование и распространение ПП |

| | |

| | |

| | |

|0.6. Структура программных продуктов ( ПП ). |0.6 |

|Архитектура ПП представляет собой совокупность и|В большей степени программные |

|взаимосвязь программных модулей. |продукты не являются монолитом и |

|Модуль – это самостоятельная часть программы, |имеют конструкцию построения – |

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

| |ПП обладает внутренней структурой, |

|заданные функции обработки автономно от других |что обеспечивает удобство |

|программных модулей. |разработки, программирование, |

| |отладку и внесение изменений в ПП. |

|Программный продукт обладает внутренней |Программные комплексы большой |

|структурой. |алгоритмической сложности |

|Структуризация программы выполняется для |разрабатываются коллективом |

|удобства |разработчиков ( 2-15 человек ). |

|разработки, |Управлять разработкой программ |

|программирования, |можно при научной основе. |

|отладки, | |

|внесения изменения в ПП. |Структурное разбиение программ на |

|. |отдельные составляющие служит |

|Структуризация ПП преследует следующие цели: |основой и для выбора средств их |

|Распределить работы по исполнителям, обеспечив |создания. При создании ПП |

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

|загрузку и требуемые сроки разработки; |модули, проводится их типизация и |

|Построить календарные графики проектных работ и |унификация, за счет чего |

|осуществлять их координацию в процессе создания |сокращаются сроки и трудозатраты на|

|программных изделий; |разработку ПП в целом. |

|Контролировать трудозатраты и стоимость | |

|проектных | |

|работ. | |

| | |

| |Некоторые ПП используют модули из |

| |готовых библиотек стандартных |

| |подпрограмм, процедур, функций, |

| |объектов, методов обработки данных.|

| |На Рис. Приведена типовая структура|

| |ПП, состоящая из отдельных |

| |программных модулей и библиотек |

| |процедур, встроенных функций, |

|. . . |объектов. |

|. . . | |

| | |

|. . . | |

| |Существует в единственном числе. |

| |В работе ПП активизируются |

|Среди множества модулей различают: |необходимые программные модули. |

|Г о л о в н о й модуль – управляет запуском |Управляющие модули задают |

|ПП; |последовательность вызова на |

|У п р а в л я ю щ и й модуль – обеспечивает |выполнение очередного модуля. |

|вызов |Информационная связь модулей |

|других модулей на обработку; |обеспечивается за счет |

|Р а б о ч и е модули - выполняют функции |использования общей БД либо |

|обработки |межмодульной передачи данных через |

|С е р в и с н ы е модули и библиотеки, |переменные обмена. |

|утилиты – |Структура ППП многомодульная. |

|осуществляют обслуживающие функции. | |

| | |

|Каждый модуль оформляется как самостоятельно | |

|хранимый файл. Для функционирования ПП | |

|необходимо | |

|наличие программных модулей в полном составе. | |

|0.7.Проектирование интерфейса пользователя |0.7 |

|0.7.1. Диалоговый режим | |

|Большинство ПП работают в Диалоговом режиме. |В диалоговом режиме под |

|Состав диалоговых систем: |воздействием пользователя |

|Меню – пользователю предлагается выбор |осуществляется запуск функций |

|альтернативных функций обработки из |обработки, изменение свойств |

|фиксированного перечня; |объектов, производится настройка – |

|Меню может содержать вложенные подменю. |параметров выдачи информации на |

|Действия запрос-ответ – фиксированный перечень |печать и т.п. |

|возможных значений, выбираемых из списка или |Меню могут быть иерархическим и |

|ответы типа Да/Нет; |содержать вложенные подменю |

|Запрос по формату - с помощью ключевых слов, |следующего уровня. |

|фраз. |Выставить панели инструментов. |

| |или путем заполнения экранной формы|

|Диалоговый процесс управляется согласно |с регламентированным по составу и |

|созданному сценарию, для которого определяются:|структуре набором реквизитов |

| |осуществляется подготовка |

|Момент начала диалога; |сообщений: "Выполнили не допустимую|

|Инициатор диалога – человек или ПП; |операцию" |

|Параметры и содержание диалога – сообщения, |Описание сценария диалога выполняют|

|состав и структура меню, экранные формы; |блок-схемы, специализированные |

|Реакция ПП на завершение диалога. |объектно-ориентированные языки |

| |построения сценариев. |

|Для создания диалогового процесса и интерфейса | |

| |ООТехнологии, включают в себя |

|пользователя используют объектно-ориентированные|специальные языки программирования |

| |и инструментальные средства |

|средства разработки программ (Delphi). |разработки пользовательского |

|В их составе содержатся: |интерфейса. |

|Построители меню (для создания главного меню и | |

|вложенного подменю); | |

|Конструктор экранных форм (для разработки | |

|форматов экранного ввода и редактирования |Возможны настройки главных меню, |

|данных). |создание системы подсказок с |

| |помощью встроенных средств и языков|

|Диалоговые окна содержат элементы управления: |программирования. |

|Тексты сообщения; | |

|Поля ввода информации пользователя; | |

|Списки возможных альтернатив для выбора; | |

|Кнопки, переключатели и т.п. | |

|0.7.2. Графический интерфейс пользователя | |

| |Реализуется для ПП, |

|Обязательный компонент большинства современных |работающих в среде Windows. |

|ПП. |К нему предъявляются высокие |

|Требования к графическому интерфейсу: |требования с инженерной и |

|1. Содержать привычные и понятные пользователю |художественной стороны разработки. |

|пункты меню, соответствующие функциям обработки;|Строится в виде системы ниспадающих|

| |меню с использованием в качестве |

|2. Ориентироваться на пользователя, который |средства манипуляции мыши и |

|общается с программой на внешнем уровне |клавиатуры. |

|взаимодействия; |С помощью интерфейса пользователь |

|3. Удовлетворять правилу "шести" – в одну |работает с экранными формами, |

|линейку меню включать не более 6 понятий, каждое|содержащими объекты управления, |

|из которых содержит не более 6 опций; |панели инструментов с пиктограммами|

|4. Сохранять стандартизированное назначение и |режимов и команд обработки. |

|местоположение на экране графических объектов. | |

|0.8. Структурное проектирование и |0.8 |

|программирование | |

|Структурное проектирование включает в себя: | |

| | |

|нисходящее проектирование ("сверху вниз"), | |

|модульное программирование, | |

|структурное программирование. | |

|0.8.1.Нисходящее проектирование | |

| | |

|Метод предполагает последовательное разложение |В результате строится иерархическая|

|функции обработки данных на простые |схема, которая отражает состав и |

|функциональные элементы ("сверху вниз"). |взаимоподчиненность отдельных |

|В результате строится функциональная структура |функций. Она носит название |

|алгоритма (ФСА) приложения, в которой |функциональная структура алгоритма |

|отражаются: |(ФСА) приложения. |

|цели предметной области (цель-подцель); |Подобная структура отражает состав |

|состав приложений (задач обработки), |и взаимосвязь функций обработки |

|обеспечивающих реализацию поставленных целей; |информации для реализации |

|характер взаимосвязи приложений с их основными |приложений, не раскрывая логику |

|характеристиками; |выполнения каждой отдельной |

|функции обработки данных; |функции. |

| |Разложение должно носить строго |

|Функциональная структура приложения. |функциональный характер, т.е. |

| |отдельный элемент ФСА описывает |

| |законченную содержательную функцию |

| |обработки информации, которая |

|. . . |предполагает определенный способ |

| |реализации на программном уровне. |

| |Функции ввода/вывода информации |

|. . . |отделяют от функций вычислительной |

| |или логической обработки данных. |

| | |

|. . . . |Некоторые функции например Ф2, ФМ |

| |далее неразложимы на составляющие, |

| |они предполагают непосредственную |

|. . . |программную реализацию. Другие |

| |функции Ф2… могут быть представлены|

|По частоте использования функции делятся на: |в виде структурного объединения |

|однократно выполняемые; |более простых функций, например |

|повторяющиеся. |Ф11, Ф12 .. Для всех |

| |функций-компонентов осуществляется |

| |самостоятельная программная |

| |реализация, составные функции типа |

| |Ф1, ФМ реализуются как программные |

| |модули, управляющие |

| |функциями-компонен-тами, например, |

| |в виде программ-меню. |

|0.8.2. Модульное программирование |0.9 |

| |Модульное программирование основано|

|Модуль представляет собой совокупность логически|на понятии модуля. |

|связанных элементов, предназначенных для |Все программные ресурсы модуля |

|использования другими модулями и программами. |можно разбить на две части: |

| |Объекты, прямо предназначенные для |

|Модули предназначены для хранения готовых |использования другими программами |

|программ. |или модулями; |

|Модуль сам по себе не является выполняемой |Объекты рабочего характера. |

|программой – его объекты используются другими | |

|программными единицами (процедурами, функциями).|Свойства модуля. |

| | |

| | |

|Модуль имеет: | |

|один вход и один выход – на входе программный | |

|модуль получает определенный набор исходных | |

|данных, выполняет обработку данных и возвращает | |

|один набор результатных данных, т.е. реализует | |

|принцип | |

|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 =>

|Создается автоматически при добавлении новой |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 и по умолчанию имеет |

| |имя |

| |MAINICON. |

| | |

| | |

|В файле ресурсы разбиты на группы. Каждая группа| |

|имеет имя. | |

|Image Editor позволяет работать с файлами, | |

|содержащими следующие ресурсы: | |

|Пиктограммы компонентов (*.DCR); | |

|Растровые изображения (*.BMP); | |

|Пиктограммы приложений (*.ICO) | |

|Курсоры (*.CUR). | |

| | |

| | |

| | |

|2.5. Файл параметры проекта PROGECT.OPT |17 |

|Используется для установки параметров проекта с |Этот фай представляет собой |

|помощью команды меню Project / Options. |текстовой файл, который содержит |

| |текущие установки проекта: |

|Параметры разбиты на группы, каждая из которых |настройки компилятора и |

|располагается в соответствующем окне на своей |компоновщика, |

|странице. |имена служебных каталогов, |

| |условные директивы и параметры |

| |командной строки, |

| |настройки проекта (какие окна |

| |открыты и в каких позициях они |

| |расположены), |

| |конфигурацию проекта. |

| |Например: |

| |Проект может быть откомпилирован с |

| |отладочной информацией или без нее.|

| |Во время разработки целесообразно |

| |постоянно включать в проект |

| |отладочную информацию. Для этого |

| |необходимо установить опцию Debug |

| |Information на странице Compiler |

| |данного диалогового окна (ДО). |

|После установки отдельных параметров Delphi |файл конфигурации: *.DOF-файл, |

|автоматически вносит нужные изменения в |содержит текущие установки проекта,|

|соответствующие файлы проекта. |например, настройки компилятора, |

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

|текстовой файл, в котором построчно |DSK –файл с настройками проекта. Он|

|располагаются параметры и их значения. |позволяет восстановить внешний вид |

| |рабочей среды проекта. |

|2.5. Резервные файлы | |

|Delphi создает резервные копии файла проекта, а |Если первый символ в расширении |

|также PAS- и DFM-файлов. |файла – тильда ((), речь идет о |

|Резервные копии: |зарезервированной копии. |

|*.(DP файла проекта с расширением DPR. | |

|Создается | |

|при повторном сохранении проекта. |*.(BP файла группы проектов с |

|*.(PA модуля проекта с расширением PAS. |расширением BPG. Этот файл |

|Создается |создается при повторном сохранении |

|при повторном сохранении проекта, если в исход |файла группы проектов. |

|ном коде модуля были сделаны изменения. | |

|*.(DF файла формы. Создается в случае, если | |

|DFM- | |

|файл был открыт в виде текста, и в нем были | |

|сделаны изменения. | |

|3. 0. Компиляция и выполнение проекта | |

|В процессе компиляции проекта создается: | |

|готовый к выполнению файл (*.EXE) или |Который может быть приложением. |

|динамически загружаемая библиотека (*.DLL). |Будем рассматривать только |

| |файл-приложение. |

|Имя приложения совпадает с именем файла проекта.|Приложение.EXE не требует при своей|

| |работе дополнительных файлов |

|Само приложение является автономным. |Delphi.. |

|Запуск процесса компиляции выполняется по |18 |

|команде Project /Compile |В команде содержится имя проекта, |

|Компиляция может быть выполнена на любой стадии |раз работка которого выполняется в |

|разработки проекта. |настоя щий момент (первоначально |

|При компиляции происходит: |Project1). |

|создание исполняемого файла - приложения *.EXE; |При сохранении проекта под другим |

|компиляция файлов всех модулей, содержимое |именем соответственно должно |

|которых изменилось после последней компиляции. |измениться имя проекта в команде |

|В результате создается файл с расширением *.DCU;|меню. |

| | |

|перекомпиляция модуля, в который внесены |Компиляция на любой стадии |

|изменения и модулей, использующие его с помощью |позволяет проверить вид и |

| |правильность функционирования |

|директивы uses. |фрагментов создаваемого кода. |

|Ход процесса компилирования будет отображаться |Проект может быть откомпилирован с |

|на экране, если установить опцию Show compiler |отладочной информацией или без нее.|

|progress |Во время разработки целесообразно |

|в меню Tools/ Environment Options/ Preferences. |постоянно включать в проект |

| |отладочную информацию. Для этого |

| |надо установить опцию Debug |

| |Information на странице Compiler |

| |данного диалогового окна (ДО). |

| |Preferences (предпочтение) |

| |Ход процесса компилирования будет |

| |отображаться на экране. |

|Сборка проекта выполняется командой Project |Кроме компиляции может быть |

|/Bild |выполнена сборка проекта. |

| . |Проект/Собрать |

|При сборке перекомпилируются все модули, | |

|входящие в проект, не зависимо от того, были в | |

|них внесены изменения или нет. | |

| | |

|Запускать проект можно из: | |

|среды Delphi и | |

|среды Windows. |Выполнение/выполнить. |

| | |

|Запуск проекта из среды Delphi выполняется | |

|командой Run/Run. | |

|Созданное приложение начинает свою работу. | |

|При внесении изменений в файлы, предварительно | |

|выполняется компиляция проекта. | |

|Особенности запуска в среде Delphi: | |

|нельзя запустить вторую копию приложения; | |

|продолжить разработку проекта можно только после| |

|завершения работы приложения; | |

|при "зависании" приложения завершение его работы| |

|необходимо выполнить средствами Delphi командой | |

|Run/Program Reset или клавишами +. | |

| | |

|Запуск проекта из среды Windows запускается так | |

|же, как и любое другое приложение, например с | |

|помощью Проводника. | |

|Для отладки приложений в среде Delphi можно | |

|использовать отладчик. | |

|4.0. Разработка приложения |19 |

|Состоит из двух этапов: |Delphi относится к системам |

|Создание интерфейса приложения, |визуального программирования, |

|Определение функциональности приложения. |которые относятся к системам |

| |быстрой разработки приложений. |

|Для создания интерфейса необходимо: |Интерфейс приложения определяет |

|выбрать нужные компоненты; |способ взаимодействия пользователя |

|определить внешний вид и функциональные |и приложения, т.е. внешний вид |

|возможности компонентов; |формы при выполнении приложения и |

|отобразить окно Инспектора Объектов; |то, каким способом пользователь |

|расположить компоненты на форме. |управляет приложением. С помощью |

| |Конструктора Формы интерфейс |

|Для обеспечения функциональности приложения |создается путем размещения в форме |

|необходимо: |компонентов. |

|задать в Инспекторе Объектов значения свойств и |Функциональность приложения |

|процедур обработки событий; |определяется процедурами, которые |

|написать программный код для заданных процедур |выполняются при возникновении |

|обработки событий. |определенных событий, происходящих |

| |при действиях пользователя с |

| |управляющими элементами формы. |

|4.1. Простейшее приложение | |

| |Форма содержит основные элементы |

|Представляет собой заготовку, обеспечивающую все|окна Windows: заголовок Form1, |

|необходимое для приложения. Это: |кнопки минимизации, максимизации и |

|форма, для которой уже созданы два файла с |закрытия окна, изменения размеров |

|описанием и модулем. |окна и кнопку вызова системного |

|При создании приложений в форму помещаются |меню. Эта форма отображается при |

|компоненты, для них устанавливаются свойства и |первом запуске Delphi |

|создаются обработчики событий. |Приложение Windows выполняется в |

|К простейшему приложению разработчик добавляет |окне и даже если оно ничего не |

|новые формы. |делает, является пустым, должно |

| |иметь окно. Окно реагирует на |

| |изменение размера, перемещение, |

| |закрытие и др. команды. |

|4.2. Создание интерфейса приложения | |

|Интерфейс приложения составляют компоненты. |Сами компоненты являются |

|Визуальные компоненты – это кнопки, списки, |строительными блоками. Выбираются |

|переключатели, надписи. |из Палитры и устанавливаются на |

|Не визуальные ( логические ) выполняют |форме. Их свойства можно изменить. |

|вспомогательные действия – это секундомер, |После размещения компонента в форме|

|таблицы данных, отчеты |можно изменять с помощью мыши его |

| |положение и размеры. |

|Для установки на форме нескольких одинаковых |Кроме того, для нескольких |

|компонент необходимо: |компонентов можно выполнять |

|Нажать и удерживать клавишу . |выравнивание или перевод того или |

|Выбрать на Палитре компонентов щелчком мыши |иного компонента на передний или на|

|нужный компонент. |задний план. |

|Щелкать мышью в те места на Форме, где должны |По умолчанию компоненты |

|быть расположены эти компоненты. |выравниваются на форме по линиям |

|Отменяется выбор данного компонента щелчком мыши|сетки. По умолчанию шаг сетки равен|

|на изображении стрелки в левом краю Палитры |восьми пикселам, а сетка при |

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

|Выделение нескольких компонент на форме |поверхности формы. |

|выполняется с помощью мыши при нажатой клавиши |20 |

|. |Внешний вид компонента определяют |

|Редактирование компоненты можно с помощью |его свойства, которые доступны в |

|контекстного меню или меню Edit/Align. |окне Инспектора объектов (ИО), |

| |когда объект выделен на форме. |

|Свойства компонента это атрибуты, определяющие |В верхней части окна в |

|способ отображения и функционирования компонент.|раскрывающемся списке, отображаются|

| |название компонента и его тип. В |

| |этом списке выбираются нужные |

| |компоненты и тем самым, можно |

| |получить доступ к свойствам этих |

| |компонентов (особенно, если |

| |компоненты закрыты другими). |

| |Управлять свойствами можно |

| |непосредственно в окне конструктора|

| |формы или с помощью Инспектора |

| |объектов. |

|Типы свойств: | |

|простые – это те, значения которых являются |В левой части окна ИО приводятся |

|числами или строками. Например, Caption, Name, |названия всех свойств компонентов, |

|Left, Top; |которые доступны на этапе |

|перечисляемые – это те, которые могут принимать |разработки приложения. Для каждого |

|значения из предложенного набора (списка). |свойства справа содержится значение|

|Например, тип Boolean принимает значение True |этого свойства. |

|или False; |По умолчанию первая кнопка получает|

|вложенные – это те, которые поддерживают |имя Button 1, вторая Button 2 и |

|вложенные значения (или объекты). Имеются два |т.д. |

|вида свойств множества и комбинированные |Разработчик может изменить свойство|

|значения. |компонента, введя или выбрав нужное|

| |значение (название кнопки – |

|Для изменения значения свойств необходимо: |Закрыть). |

|щелкнуть мышью по его имени в левой колонке; |Результат изменения свойств |

|открыть список, появившийся в соответствующей |компонента становится сразу видимым|

|ячейке правой колонки: |в окне проектировщика форм. |

|выбрать нужное свойство. |При изменении значения свойства |

|Утверждается свойство клавишей , |Caption (Название) кнопки на |

|отменяется изменение клавишей . |поверхности ее появляется новое |

|Редакторы для установки значения свойств: |название. |

| | |

| |Например: Caption, Left, Height, |

| |Hint. |

| |Свойства: FormStyle, Visible, |

| |ModalResult |

| |Объект – содержит свойства, каждое |

| |из которых можно редактировать |

| |отдельно. В области значения |

| |свойства-объекта в скобках |

| |указывается тип объекта. |

| |Свойство представляет комбинацию |

|При выполнении приложения свойства компонентов |значений из предлагаемого множества|

|можно изменять с помощью операторов | |

|присваивания. |Если для свойства введено |

|Изменение заголовка кнопки Button 1 можно |неправильное значение, то выдается |

|программно: |предупреждающее сообщение. |

|Button 1.Caption:= ' Закрыть '; |Это требует большего объема работ, |

| |чем в случае использования ИнОб. |

| |Тем не менее, отдельные свойства |

| |устанавливаются именно с помощью |

| |операторов присваивания. |

|4.3. Определение функциональности приложения |21 |

| |После компиляции на экране |

|Реакция окна на разного рода действия |появляется форма приложения, с |

|пользователя определяет функциональность |которой можно работать как с |

|приложения. |обычным окном Windows (перемещать |

| |по экрану, изменять ее размеры, |

| |минимизировать или максимизировать,|

| |закрывать). |

| |Реакция на приведенные действия |

| |присуща каждой форме и не зависит |

| |от назначения приложения и его |

| |особенностей. На форме обычно |

| |размещены компоненты, образующие |

| |интерфейс приложения, и разработчик|

| |должен для этих компонентов |

|Обработчики событий компонента – какое действие |определить нужную реакцию на те или|

|можно поручить выделенному компоненту. Каждый |иные действия пользователя |

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

|Чтобы при нажатии на кнопке "Закрыть" кнопка |переключателя). |

|реагировала на событие закрыть, необходимо |Код модуля при создании обработчика|

|создать или указать процедуру обработки события,|событий кнопки "Закрыть" |

|которая будет вызываться при возникновении |unit ASA; |

|данного события. |interface |

| |uses |

|Для создания процедуры обработки события нужно: |Windows, Messages, SysUtils, |

|1) выделить на форме компонент; |Classes, Graphics, Controls, Forms,|

|2) перейти на страницу событий Инспектора |Dialogs, |

|Объектов; |StdCtrls; |

|3) создать обработчик события OnClick. |type |

|Для этого: |TForm1 =>

|сделать двойной щелчок в области значения |Button1: TButton; |

|события OnClick, ( Delphi автоматически создаст |procedure button1Click(Sender: |

|в модуле формы заготовку процедуры-обработчика).|TObject); |

| |private |

|в месте, где установится курсор написать код, |{ Private declarations } |

|который будет выполняться при нажатии кнопки |public |

|Button1. |{ Public declarations } |

|- набрать строку Form1.Close; |end; |

|Все остальное Delphi создает автоматически. |var |

| |Form1: TForm1; |

|При изменении имени кнопки с помощью Инспектора |implementation |

|Объектов происходит автоматически переименование|{$R *.DFM} |

|этой процедуры во всех файлах (DFM и PAS) |procedure |

|проекта. |TForm1.Button1Click(Sender: |

| |TObject); |

|Для удаления процедуры-обработчика достаточно |begin |

|удалить код, который программист вносил в нее |Form1.Close; |

|самостоятельно. После этого при сохранении или |end; |

|компиляции модуля обработчик будет удален |end. |

|автоматически из всех файлов проекта. |Итак, Инспектор Объектов – это |

| |инструмент, для формирования |

|Процедура, связанная с несколькими событиями для|внешнего вида и функциональных |

|различных компонент называется общим |возможностей формы и компонентов в |

|обработчиком и вызывается при возникновении |процессе разработки приложения. |

|любого из связанных с ней событий. |Вместо создания нового обработчика |

| |для события можно выбрать |

| |существу-ющий обработчик, если |

| |такой имеется. |

|5.0. Средства интегрированной среды разработки |22 |

|Эти средства служат для удобной и эффективной | |

|разработки приложений. | |

|5.1. Управление параметрами среды | |

| Установки параметров выполняются в диалоговом | |

|окне | |

|по команде Tools/Environment Options (Средства | |

|/ Параметры среды). | |

| | |

| | |

| | |

| | |

| | |

| | |

| | |

| | |

| | |

| | |

| | |

| | |

| | |

| | |

|Возможны следующие настройки: | |

|параметров конфигурации Deldhi, | |

|задание рабочих папок компилятора и компоновщика| |

|для всех файлов проекта, | |

|страниц и компонентов на Палитре компонентов, | |

|шрифта и цвета Редактора кода, | |

|автосохранение редактируемых файлов | |

|Все параметры объединены по группам, размещенным| |

|на отдельных страницах. | |

|5.2. Менеджер проекта (Project Manager) | |

|Предназначен для управления составными частями |Менеджер Проекта позволяет |

|разрабатываемого приложения. |объединять проекты которые работают|

|Вызывается по команде View/Project Manager |вместе в одну проектную группу. Это|

| |позволяет организовать как работу |

| |взаимозависимых проектов, таких как|

| |однозначные и многозадачные |

| |приложения или DLL, так и |

| |совместную работу исполняемых |

| |программ. |

| |На рис. Показано окно Project |

| |Manager с открытым проектом Apple. |

|С помощью менеджера выполняются операции: | |

|просмотр части проекта, | |

|удаление отдельных частей проекта, |В списке окна можно открыть |

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

|Открыть модуль для редактирования можно двойным |редактирования двойным щелчком мыши|

|щелчком мыши по имени файла в списке окна. |по его имени или командой Open |

| |контекстного меню этого файла. |

|5.3. Встроенный отладчик (Debugger) |23 |

|Облегчает поиск и устранение ошибок в | |

|приложениях. | |

|Средства отладчика доступны: | |

|с помощью команд пункта меню Run (Выполнение); | |

|и подменю View / Debug Windows (Просмотр/Окна | |

|отладки). | |

|Действия отладчика: | |

|выполнение до указанного оператора (строки | |

|кода), | |

|пошаговое выполнение приложения, | |

|выполнение до точки останова, | |

|включение и выключение точек останова, | |

|просмотр значений объектов, в окне просмотра, | |

|установка значений объектов при выполнении | |

|приложения. | |

| | |

|Установка параметров отладчика выполняется с | |

|помощью команды Tools / Debugger Options | |

|(Параметры отладчика). | |

|5.4. Обозреватель проекта (Project Browser) | |

|Позволяет перемещаться по: |С помощью обозревателя проекта |

|- иерархии классов, |можно перебирать используемые |

|модулям и |программой модули и просматривать |

|глобальным символам приложения. |символы в разделах interface или |

|Вызывается командой View / Browser (Просмотр / |implementation; можно перебирать |

|Обозреватель). |глобальные символы приложения, |

| |просматривать их объявления и |

| |переходить к ссылкам на них в |

| |исходном коде. |

| |Окно обозревателя проекта разделено|

| |на две части. Слева в иерархическом|

| |виде отображаются доступные для |

| |выбранной страницы объекты, а |

| |справа для выбранного объекта более|

| |детально отображаются его |

| |характеристики. |

|Для просмотра в окне левой части доступны три | |

|типа объектов: | |

|Globals (Глобальные символы), | |

|Classes (Классы) и | |

|Units (Модули). | |

|В правой части панели окна доступны для | |

|просмотра: |В зависимости от выбранного типа |

|Scope (Пределы), |просматриваемого объекта в правой |

|Inheritance (Иерархия) и |части могут быть доступны следующие|

|References (Ссылки). |варианты детального просмотра |

|Управление отображением данных осуществляется с |характеристик: Scope, Inheritance, |

|помощью мыши. |References |

|Для управления параметрами отображенных объектов|Можно отображать или скрывать |

|используется команда Tools/Environment |соответствующие объекты, например |

|Options/Explorer |переменные или константы модуля. |

|5.5. Хранилище объектов |24 |

|Одни и те же объекты можно использовать в |Объекты объединены в группы и |

|качестве шаблонов для разработки приложений. |размещаются на отдельных страницах:|

|Эти объекты находятся в хранилище (Repository). | |

|Их можно просмотреть в окне New Items (Новые |New – Базовые объекты, |

|элементы), вызвав командой File/New… |ActiveX – Объекты ActiveX и OLE, |

| |Multitier – Объекты многопоточного |

| |приложения, |

| |Project 1 – Формы создаваемого |

| |приложения, |

| |Form – Формы, |

| |Dialogs – Диалоги, |

| |Data Modules – Модули данных, |

| |Projects – Проекты, |

| |Business –Мастера форм. |

| | |

| |Название стр. Apple совпадает с |

| |названием создаваемого проекта. |

| |Сама страница содержит уже |

|В хранилище находятся шаблоны приложений, форм, |созданную форму. При изменении |

|отчетов, Мастера форм. |названия проекта или формы |

|Объекты добавляются различными способами: |изменяются их названия в хранилище |

|Copy – в проект добавляется копия из хранилища. |объектов. При добавлении или |

|Все изменения в объекте являются локальными и не|удалении формы ее шаблон |

|затрагивают оригинал; |соответственно добавляется или |

|Inherit – от объекта из хранилища порождается |исключается из хранилища объектов. |

|(наследуется) новый объект и добавляется к |При добавлении объекта к проекту |

|проекту. Все модификации с объектом в проекте |выбирается нужная страница, |

|нельзя удалить. |выделяется объект и подтверждается |

|Use – в проект включается непосредственно сам |ОК. |

|объект из хранилища со всеми файлами. При | |

|изменении в проекте этого объекта изменяется и | |

|объект в хранилище. | |

|5.6. Справочная система | |

| | |

|В состав справочной системы входят: |Вкладка Содержание окна |

|стандартная система справки (с тремя вкладками);|предоставляет доступ к справочной |

| |информации в виде оглавления. |

|справочная помощь через Internet (запуск |Последовательно можно переместиться|

|браузера); |в требуемое место справочной |

|контекстно-зависимая справочная |системы. |

|помощь(клавишаF1) |Вкладка Предметный указатель |

|отображаемая справка зависит от активизации |позволяет выполнить поиск |

|объекта. |информации с помощью ключевого |

| |слова. Пользоваться ей проще, чем |

| |вкладкой Содержание. |

| |Вкладка Поиск позволяет выполнить |

| |поиск и отображение всех разделов |

| |справочной системы, в которых |

| |встречается указанная фраза или |

| |слово. |

| | |

| | |

-----------------------

Степень

автоматизации

Методы проектирования

Принятая

методология

Неавтоматизированное проектирование

Автоматизированное проектирование

Структурное

проектирование

Информационное моделирование

Объектно-ориентированное проектирование

Метод m

Метод 3

Метод 2

Метод 1

Объект D

Объект А

Процедура N

Процедура 2

Процедура 1

Библиотеки процедур, объ-

ектов и методов обработки

Модуль К

Модуль 2

Модуль 1

Головной модуль

Цель 1

Тело цикла

ПодЦель 1S

ПодЦель 11

Функция 1

Программные модули

Модуль 1

Функция 2

Функция M

Функция 2

Приложение2

ПриложениеN

Функция 1k

Функция 11

Приложение1

Функция 1

Модуль v

Функция 3

Модуль q

Модуль p

Модуль m

Модуль n

Модуль k

Функция 5

Модуль p

Модуль 3

Модуль 2

Функция 4

Параметры цикла

Тело цикла

Оператор2 1

Оператор1 1

Нетт

Да

Оператор2

Оператор1

Условие

Глав

ное

окно

Окно

редактора кода

Окно

Конструктора

формы

Окно

Инспектора объектов

Строка заголовка

Строка меню

Панель инструментов Палитра компонентов

Описание

Проект

Модуль

Форма

Модуль

Приложение

Ресурсы

Параметры

Компиляция

|Тип редактора|Как использовать |

|Простой |Задать значение непосредственно |

|(текстовый) |в поле. |

|Список выбора|Выбирается значение из списка |

|Список |Выбирается объект из списка. |

|объектов | |

|Множество |Выполнить двойной щелчок по |

| |знаку "+" и выбрать значение |

| |множества. |

|Цвет |Выбрать цвет в открывающемся |

| |списке или в диалоговом окне. |

|Шрифт |Назначить параметры шрифта в |

| |списке свойств или в диалоговом |

| |окне |

С

П

И

С

О

К