Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Интегрированные системы программирования

Поиск

Интегрированные системы программирования, или просто системы программирования (СП) – это пакеты программ для создания или изменения программ для ЭВМ. Это инструментальные средства программного обеспечения.

Язык программирования, с которым работает СП, называется ее входным языком. Системы программирования именуются по названию своего входного языка. Например: «Система Бейсик», «Система Паскаль», «Система СИ» и т.д. Иногда название СП содержит префиксы, обозначающие, например, ее фирменное происхождение, например, «Турбо-Бейсик», «Турбо-Паскаль». Приставка «Турбо» означает, что данная СП разработана фирмой Borland International (США).

Современные интегрированные системы программирования предоставляют программисту удобные средства для разработки программ и, как правило, включают в себя: текстовый редактор; транслятор; редактор связей (компановщик); библиотеки подпрограмм и отладчик.

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

Транслятор является обязательным элементом любой системы программирования.

Для того чтобы исходный текст программы, написанный на языке высокого уровня, был переведен на «понятный» ЭВМ язык машинных команд, нужна программа-переводчик – транслятор (англ. – translater).

Существуют два различных метода трансляции. Они соответственно называются: интерпретация и компиляция (англ. compile – составлять, собирать).

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

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

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

Интерпретация является аналогом синхронного перевода, а компиляция – аналогом полного предварительного перевода. Соответственно программы-трансляторы, работающие тем или иным методом, называются интерпретатором и компилятором.

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

Результаты этих переводов в памяти не сохраняются. Если один и тот же оператор встречается в тексте несколько раз, интерпретатор будет добросовестно выполнять его так, как будто встретил его впервые. Вследствие этого программы-интерпретаторы работают достаточно медленно. Но интерпретатор имеет свои преимущества – с его помощью проще отлаживать программу.

Компилятор полностью обрабатывает весь исходный текст программы: просматривает текст в поисках синтаксических ошибок, выполняет определенный смысловой анализ, а затем автоматически переводит (транслирует) его на язык машинных кодов.

На этом этапе уже возможно получение программы, готовой к выполнению. Однако чаще всего в ней не хватает некоторых компонентов, поэтому компилятор обычно выдает промежуточный объектный модуль. Это двоичный файл со стандартным расширением – .OBJ.

Основной недостаток компиляторов – это трудности, возникающие при трансляции программ, ориентированных на обработку данных сложных структур (например, массивов).

Редактор связей (компоновщик или сборщик). Исходный текст большой программы, как правило, состоит из нескольких исходных модулей. Каждый модуль компилируется в отдельный объектный модуль, которые надо объединить в одно целое.

К тому же, к ним надо добавить машинные коды подпрограмм, реализующих различные стандартные функции (например, вычисляющие математические функции ln, sin и др.). Такие функции содержатся в библиотеках (файлах со стандартным расширением. LIB.), которые поставляются вместе с компилятором.

Компоновщик объединяет все объектные модули и машинный код стандартных функций, отыскивая их в библиотеках, и формирует на выходе работоспособное приложение – исполняемый (загрузочный) модуль.

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

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

На рис. 1.1 показан порядок создания исполняемого модуля в интегрированной системе программирования Turbo Pascal (ТР). Прежде всего с помощью экранного редактора вводится исходный текст программы (исходный модуль), который записывается в файл, например, Prog1.pas. Затем выполняется компиляция и строится объектный модуль – файл Prog1.obj, который далее преобразуется компоновщиком в исполняемый модуль – файл Prog1.exe. Модули Prog1.pas, Prog1.obj и Prog1.exe хранятся на диске. Загрузчик переносит файл Prog1.exe в оперативную память ЭВМ. После этого управление передается на программу, и она начинает выполняться. По окончании процесса происходит возврат в среду Turbo Pascal.

Редактор Prog1.pas   Компилятор Prog1.obj Компоновщик Prog1.exe Загрузчик Исполняемый модуль

Магнитный диск Оперативная память

 

Рис.1.1

 

 

Контрольные вопросы

1. Что такое программа для ЭВМ?

2. Что такое языки программирования? Язык программирования Паскаль, его особенности.

3. Интегрированная система Турбо Паскаль, ее возможности.

4. Зачем нужны трансляторы? Что такое компилятор, чем он отличается от интерпретатора?

5. Что такое отладка программы? Структура ошибок. Для чего нужен контрольный пример?

 



 
Лекция 2.



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 3237; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.71.146 (0.007 с.)