Лекция: Билет #20

1. Системы программирования.

Система программирования представляет собой совокупность средств разработки программ (языки программирования, текстовые редакторы, трансляторы, редакторы связей, библиотеки подпрограмм, утилиты и обслуживающие программы), обеспечивающих автоматизацию составления и отладки программ, подготовку соответствующей документации. Как правило, включает не эталонный вариант языка, а его версию, содержащую определенные упрощения иди расширения. Некоторые системы программирования могут поддерживать разработку программ на нескольких языках. Наиболее известные системы программирования для персональных компьютеров: Visual Studio, созданная фирмой Microsoft, поддерживающая языки программирования Бейсик, Java, C++; Delphi. Типовая система программирования состоит из следующих компонент: • язык программирования – семантическая система описания алгоритмов или иных действий по обработке информации; • транслятор (интерпретатор или компилятор) – обработчик языка программирования, переводящий символические директивы на язык машинных кодов; • библиотека стандартных программ и функций – совокупность отлаженных программных модулей, вызываемых из пользовательской программы для выполнения стандартных действий; • средства трассировки (отладки), текстовый редактор и ряд других служебных утилит. Рассмотрим структуру абстрактной многоязыковой, открытой, компилирующей системы программирования и процесс разработки приложений в данной среде. Программа на исходном языке (исходный модуль) готовится с помощью текстовых редакторов и в виде текстового файла или раздела библиотеки поступает на вход транслятора. Трансляция исходной программы есть процедура преобразования исходного модуля в промежуточную, так называемую объектную форму. Трансляция в общем случае включает в себя препроцессинг (предобработку) и компиляцию.

Препроцессинг – необязательная фаза, состоящая в анализе исходного текста, извлечения из него директив препроцессора и их выполнения. Директивы препроцессора представляют собой помеченные спецсимволами (обычно %, #, &) строки, содержащие аббревиатуры, символические обозначения и т.д. конструкций, включаемых в состав исходной программы перед ее обработкой компилятором. Данные для расширения исходного текста могут быть стандартными, определяться пользователем либо содержаться в системных библиотеках ОС. Компиляция — в общем случае многоступенчатый процесс, включающий следующие фазы: • лексический анализ – проверка лексического состава входного текста и перевод составных символов (операторов, скобок, идентификаторов и пр.) в некоторую промежуточную внутреннюю форму (таблицы, графы, стеки, гиперссылки), удобную для дальнейшей обработки; • синтаксический анализ – проверка правильности конструкций, использованных программистом при подготовке текста; • семантический анализ – выявление несоответствий типов и структур переменных, функций и процедур; • генерация объектного кода – завершающая фаза трансляции. Выполнение трансляции (компиляции) может осуществляться в различных режимах, установка которых производится с помощью ключей, параметров или опций. Может быть, например, потребовано только выполнение фазы синтаксического анализа и т.п. Объектный модуль (object module) – программный модуль, являющийся результатом компиляции исходного модуля. Он включает машинные инструкции, словари, служебную информацию. Объектный модуль не работоспособен, поскольку содержит неразрешенные ссылки на вызываемые подпрограммы библиотеки транслятора (в общем случае – системы программирования), реализующие функции ввода/вывода, обработки числовых и строчных переменных, а также на другие программы пользователей или средства пакетов прикладных программ. Загрузочный модуль – программный модуль в виде, пригодном для загрузки и выполнения. Построение загрузочногомодуля осуществляется специальными программными средствами – редактор связей, построитель задач, компоновщик, сборщик, основной функцией которых является объединение объектных и загрузочных модулей в единый загрузочный модуль с последующей записью в библиотеку или файл. Полученный модуль в дальнейшем может использоваться для сборки других программ и т.д., что создает возможность наращивания программного обеспечения. Загрузочный модуль после сборки либо помещается в пользовательскую библиотеку программ, либо направляется на исполнение непосредственно. Выполнение модуля состоит в загрузке его в оперативную память, настройке по месту в памяти и передаче ему управления. Образ загрузочного модуля в памяти называется абсолютным модулем, поскольку все команды ЭВМ здесь приобретают окончательную форму и получают абсолютные адреса в памяти. Формирование абсолютного модуля может осуществляться как программно, путем обработки командных кодов модуля программой-загрузчиком, так и аппаратно путем применения индексирования и базирования команд загрузочного модуля и приведения указанных в них относительных адресов к абсолютной форме. Современные системы программирования позволяют удобно переходить от одного этапа к другому. Это осуществляется наличием так называемой интегрированной среды программирования, которая содержит в себе текстовый редактор, компилятор, компоновщик, встроенный отладчик и в зависимости от системы или ее версии предоставляет программисту дополнительные удобства для написания и отладки программ.

 

2. Разработать приложение в среде программирования Pascal или Delphi:

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

 

еще рефераты
Еще работы по информатике