Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Електронный_лаб_практ_ОПтаАМ_I.doc
Скачиваний:
6
Добавлен:
27.11.2019
Размер:
1.3 Mб
Скачать

1.1. Структурно-функциональная организация среды пакета Turbo-Pascal

Рассмотрим на содержательном уровне структуру интегрированно­го пакета Turbo-Pascal и назначение составляющих его компонент. Обсуждение проводится относительно программного объекта – ис­ходного модуля, представляющего собой Pascal-текст некоторой про­граммы, находящийся в PAS-файле ASCII-формата. Программа явля­ется главным модулем и объектом в среде Turbo-Pascal, однако для обеспечения более гибкой компиляции, модульности и связи между отдельными Pascal-программами допускается использование и более мелких единиц (модулей – units). Такой модуль представляет собой часть исходного текста, которая может автономно компилироваться как единое целое. Из данных модулей можно создавать специальные биб­лиотеки фрагментов программ и структур данных, используемых мно­гократно. Для обеспечения интерфейса между модулями, данными и программами используются стандартные описания. При этом если про­граммы и модули могут использовать другие модули, то сам модуль может использовать только модули. Данный принцип модульности поз­воляет создавать и отлаживать ПО по частям, являющимся закончен­ными, обозримыми фрагментами какой-либо задачи. Более того, и сам пакет построен в значительной степени по модульному принципу, схе­матичная структура которого представлена на рис. 1.1.

Рис. 1.1. Общая структурная организация пакета Turbo-Pascal

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

Внешнее окружение пакета включает: библиотеки модулей и про­грамм, утилиты, автономные отладчик Turbo-Debugger и систему Turbo-Assembler, демонстрационные примеры Pascal-программ, а также до­кументацию и Help-информацию по пакету (рис. 1.1). Библиотеки модулей (Turbo.TPL, Graph.TPU и др.) пакета включают как стандарт­ные, так и пользовательские модули. Библиотека Turbo.TPL содержит, по крайней мере, пять обязательных модулей (System, Crt, Dos, Overlay и Printer), которые в среде СП не отличаются от пользовательских и предназначены для обеспечения дополнительных и расширенных функций по созданию Pascal-программ (поддержка всех встроенных функций, расширенные функции управления ПК, поддержка оверлей­ной структуры программ, расширение графических возможностей и т.д.). При необходимости использования указанных функций со­ответствующий модуль (кроме System-модуля, доступ к которому обеспечивается автоматически) должен декларироваться в Uses-предложении программы, например: Uses Dos, Crt, Graph, Vasco, Fido, Salcombe.

Утилиты пакета предназначены как для обеспечения ряда важных функций его эксплуатации, так и для облегчения работы программис­та. Из других компонент внешнего окружения пакета можно отметить ряд DOC-файлов, содержащих дополнительную информацию по па­кету, PAS-файлов с исходными модулями программ-примеров, а также автономные отладчик Turbo-Debugger и СП Turbo-Assembler. Постав­ляемый с пакетом мощный автономный отладчик позволяет достаточно эффективно производить отладку программ, созданных в СП Turbo-C, Turbo-Pascal и Turbo-Assembler. При этом отладчик позволяет произ­водить отладку как на одном ПК, так и посредством виртуального ме­тода на двухмашинном комплексе из IBM-совместимых и соединен­ных через последовательные порты ввода/вывода ПК.

Оболочка СП Turbo-Pascal включает четыре основных встроенных средства по выбору: (1) отладчик, (2) обеспечение объектно-ориенти­рованного программирования (ООП), (3) Help-информация и (4) текстовый редактор. СП Turbo-Pascal располагает достаточно мощным и гибким встроенным отладчиком, позволяющим выполнять программу построчно, отлаживая выражения и модифицируя значения ее пере­менных. Отладчик является составной частью СП, позволяя не выходя из единой среды программирования: редактировать, компилировать и отлаживать Pascal-программы как простой организации, так и оверлейные или объектно-ориентированные. Выделяются три основных типа про­граммных ошибок: компиляции, выполнения и логические.

Ошибки компиляции вызываются нарушениями синтаксиса языка Turbo-Pascal и называются синтаксическими. При обнаружении такой ошибки компилятор прекращает компиляцию, возвращается к исходной программе (локализуя ошибку с помещением в нее курсора) и переводит среду в Edit-режим редактирования с выводом соответствующего диаг­ностического сообщения. Успешное завершение компиляции возмож­но только при отсутствии синтаксических ошибок. Ошибки, возникаю­щие в период выполнения программы, называются семантическими и связаны с некорректными процедурами выполнения при правильном синтаксисе (например, деление на ноль, недостаток ОП и т.д.). Такие ошибки вызывают диагностические сообщения вида:

Runtime error <Код ошибки> at < Относительный адрес>

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

Во многих случаях при возникновении ошибок (кроме синтакси­ческих) бывает достаточно сложно их локализовать и исправить даже опытному программисту. И в данной ситуации хорошим помощником может оказаться отладчик, предоставляющий программисту целый ряд средств по отладке программ: построчная трассировка программы; выполнение программы до определенного положением курсора места, установление контрольных точек; мониторинг значений переменных, структур данных или выражений; модификация значений переменных, включая строковые указатели, элементы массива и поля записей; быст­рая локализация функций и процедур, а также проверка значений фак­тических параметров при каждом обращении к ним. Функции редак­тирования находятся в группах Run, Compile и Debug главного меню СП (рис. 1.2).

Встроенное средство ООП является существенным развитием компи­лятора СП, предоставляющим возможность в полном объеме ис­пользовать основные концепции современного ООП. Ниже вопросы ООП-технологии будут рассмотрены в иных контекстах более детально Встроенное Help-средство оперативно инициируется по клавише F1, предоставляя программисту справочную информацию по всем основ­ным компонентам СП; информация выводится по активному в данный момент состоянию пакета. Наконец, активируя Edit-группу главного меню СП (рис. 1.2), переходим в режим редактирования исходного модуля программы. Функции редактирования обеспечиваются встроен­ным редактором СП, работа с которым подобна хорошо известным текстовым редакторам Word-типа и особых затруднений не вызывает. К тому же описание управляющих клавиш редактора (поддерживаю­щих команды перемещения курсора, вставки или удаления, работы с выделенными блоками и т.д.) легко получать оперативно по упомянутой выше F1-клавише.

Ядро программирования пакета Turbo-Pascal составляют встроен­ный и автономный компиляторы, отличающиеся только поддержива­емым уровнем автоматизации программирования при прочих равных возможностях. Если автономный компилятор (файл ТРС.ЕХЕ) предпо­лагает использование автономных средств: редактора исходных моду­лей, отладчика и Help-утилиты, то СП (TURBO.EXE) со встроенным компилятором предоставляет эти и другие возможности в рамках единой интегрированной среды программирования. Результатом работы обоих средств программирования является ЕХЕ- или TPU-файл (помещаемый в памяти или на диске), содержащий соответственно выполняемую программу или используемый модуль. Такой файл полу­чает основное имя исходного PAS-файла и содержит символьную ин­формацию и скомпилированное тело модуля. Также для обоих средств доступен TPL-файл, содержащий библиотеку стандартных модулей системы программирования Turbo-Pascal.