Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Интегрированная среда системы программирования Турбо-Паскаль



 

ВОПРОСЫ:

Объекты и функции интегрированной среды. Программы и модули. Редактирование исходных файлов. Контекстная помощь. Компиляция и сборка. Отладка. Профилирование.

 

 

Система программирования Турбо-Паскаль (последняя версия называется Borland Pascal) поддерживает интегрированную инструментальную среду, которая включает все компоненты, необходимые для получения исполняемого файла: текстовый редактор, компилятор, редактор связей, отладчик. Поэтому пользователь может компилировать и отлаживать свои программы, не выходя из среды Турбо-Паскаля.

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

1. Compile. Эта операция похожа на каноническую операцию компиляции, но есть и существенные отличия. В языке Турбо-Паскаль различают исходные файлы двух типов - программы, начинающиеся с заголовка PROGRAM или без него, и модули, начинающиеся с заголовка UNIT. В результате компиляции программы сразу создается исполняемый файл, т.е. операция Compile включает и компиляцию и связывание. При компиляции модуля создается объектный модуль с расширением.TPU, который в дальнейшем может быть присоединен к любой программе. В отличие от многих систем программирования, позволяющих включать в состав объектного модуля только процедуры или функции, ТП позволяет включить в объектный модуль также описания общих констант, типов данных, переменных.

2. Build. Эта операция заменяет множество операций Compile при компиляции программы и связанных с ней модулей. В процессе выполнения операции Build автоматически перекомпилируются все модули, связанные с главной программой. Если надо перекомпилировать только некоторые модули в процессе компиляции программы, то применяется операция Make.

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

Благодаря своей избирательности операция Make может выполняться значительно быстрее операции Build.

Отметим, что в среде ТП нет отдельной операции связывания. Эта операция автоматически выполняется при компиляции программы.

Кроме перечисленных усовершенствований стандартной схемы компиляции среда ТП имеет ряд других дополнительных возможностей.

1. Текстовый редактор. В большинстве ранних систем программирования не было собственного текстового редактора. В разных

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

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

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

2. Встроенный отладчик. Встроенный отладчик позволяет выполнить программу фактически в режиме интерпретации с визуализацией текущей точки выполнения непосредственно в исходном тексте программы. Может быть также открыто окно наблюдаемых переменных, в котором будут отображаться текущие значения переменных, выбранных пользователем. Это очень мощное средство отладки программ, позволяющее существенно облегчить отладку программ.

Рассмотрим основные функции встроенного отладчика. Первая группа функций обеспечивает управление ходом выполнения программы.

К ним относятся:

- выполнение программы до точки, отмеченной курсором текстового редактора;

- пошаговое выполнение программы без трассировки вызываемых процедур и функций;

- пошаговое выполнение с трассировкой вызываемых процедур и функций;

- включение точек останова в программу. Точка останова может иметь счетчик числа остановов и условие, при котором выполняется останов.

Вторая группа функций обеспечивает просмотр текущих значений переменных программы. К ним относятся:

- включение переменных в окно наблюдаемых переменных. При каждом останове можно видеть текущие значения этих переменных;

- вывод значений переменных по запросу. Если какая-то переменная не была включена в окно наблюдаемых переменных, ее значение можно узнать с помощью это функции.

3. Профайлер (профилировщик). Профилировщик предназначен для сбора и анализа статистики о событиях в процессе выполнения программы. К таким событиям относятся, например:

- выполнение оператора;

- обращение к функциям операционной системы;

- обращение к конкретной процедуре и т.д.

Собираются следующие виды статистики:

- число повторений указанного пользователем события за время выполнения программы;

- суммарная длительность указанных событий;

- средняя длительность события и др.

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

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

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

Y: =SQRT(X)/(1+SQRT(X)) противоречит указанной рекомендации, т.к. в нем дважды вычисляется функция SQRT одного и того же аргумента. Оптимизировать оператор присваивания можно, добавив промежуточную переменную: Z: =SQRT(X); Y: =Z/(1+Z).

Приведем пример неоптимизированного цикла:

X: =A;

for i: =1 to N do

begin

writeln(X, F(X)); X: =X+(B-A)/(N-1);

end;

В этом цикле выражение (B-A)/(N-1) не зависит от номера итерации. Такие выражения рекомендуется выносить в инициализационную часть цикла, например:

X: =A; DX: =(B-A)/(N-1);

for i: =1 to N do

begin

writeln(X, F(X)); X: =X+DX;

end; Постоянное следование рекомендациям по оптимальному кодированию программ является утомительным и, зачастую, бесполезным занятием.

Исследования показывают, что быстродействие программы определяется, как правило, лишь небольшой частью операторов программы, а программисты нередко ошибаются в определении критичных по быстродействию участков программы. Статистика профайлера позволяет легко найти критичные участки программ, которые следует оптимизировать, если это возможно.

 

 

ПРИКЛАДНЫЕ ОПЕРАЦИОННЫЕ СРЕДЫ

 

Существует большое многообразие прикладных систем, обеспечивающих решение задач в разных предметных областях. К таким системам относятся: многопользовательские информационные системы, системы автоматизированного проектирования (САПР), автоматизированные системы управления (АСУ) различного назначения (АСУ технологическими процессами, цехами, предприятиями), обучающие системы, экспертные системы, имитационные системы и тренажеры, авторские системы и др.

Для изучения большинства из них предусмотрены специальные курсы. В данном курсе рассматриваются только небольшая часть прикладных операционных сред, объединенных тем, что все они предназначены для автоматизации редактирования документов.

 

 

Редактирование документов

 

ВОПРОСЫ:

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

 

 

Автоматизация редактирования документов является одной из основных областей применения персональных ЭВМ. Внедрение персональных ЭВМ практически в любой организации начинается с автоматизации подготовки писем, справок, отчетов и отчетных форм, поскольку функции подготовки документов являются наиболее доступными для конечных пользователей.

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

В настоящее время общим требованием к таким средам является поддержка принципа WYSIWYG (What You See Is What You Get - Что видите (на экране), то и получите (на принтере)). Естественно, что реализация этого принципа возможна только в графических средах.

Поскольку документ может включать разные виды данных, для редактирования которых применяются разные информационные технологии, возникает задача интеграции операционных сред. Существуют два подхода к решению этой задачи: создание универсальных прикладных систем (так называемых интегрированных пакетов) и разработка стандартных протоколов для взаимодействия прикладных программ при создании сложных документов. Последний подход реализован в среде Windows под названием протокола OLE (Object Linking and Embedding - внедрение и связывание объектов).

Этот протокол основан на идее составного (модульного) документа. Составной документ - это документ, который может включать данные различных видов, причем для редактирования данных каждого вида может использоваться специализированная программа. Например, текст, подготовленный в текстовом редакторе, может включать рисунки, выполненные в графическом редакторе, и электронные таблицы, построенные при помощи табличного процессора. Эти рисунки и таблицы являются внедренными либо связанными объектами. Пользователь видит такой документ как единое целое, но для редактировании внедренных или связанных объектов автоматически вызывается программа, в которой они созданы.

Внедренный объект - это объект, принадлежащий составному документу. Такой объект существует только в данном документе и может редактироваться только в рамках данного документа.

Связанный объект - это внешний по отношению к составному документу объект. Связанный объект принадлежит родительскому документу в котором он был создан, но может редактироваться из любого документа с которым он связан. Связанные объекты позволяют централизовать редактирование общих для разных документов данных.

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

В соответствии с протоколом OLE программа, которая запрашивает другую программу для редактирования внедренного или связанного объекта, называется клиентом, а программа, выполняющая редактирование - сервером. Одна и та же программа в разных ситуациях может быть клиентом или сервером.

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

Отметим основные преимущества технологии OLE:

1. Можно использовать специализированные программ для подготовки разных частей одного и того же документа.

2. При полном соблюдении стандарта OLE программа-клиент может взаимодействовать с любым сервером без каких-либо переделок.

3. Пользователь работает со всем документом и " от документа", а не с его отдельными частями и отдельными программами.

4. Связанные объекты позволяют централизовать редактирование общих данных.

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

 

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-11; Просмотров: 747; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.021 с.)
Главная | Случайная страница | Обратная связь