- •Вопрос 1. (по-моему, бред )
- •Вопрос 2.
- •2.1. Структурное программирование
- •2.2. Нисходящее программирование
- •Вопрос 3. Модульное программирование. Понятие и основные характеристики программного модуля.
- •Вопрос 4. Языки программирования: эволюция и классификация.
- •Вопрос 5. Системы программирования.
Вопрос 5. Системы программирования.
Языки программирования являются важными функциональными компонентами соответствующей системы программирования, т.е. среды окружения программиста, позволяющей ему разрабатывать прикладные программы для соответствующих ЭВМ и операционных систем.
Система программирования – это совокупность средств разработки программ (языки программирования, текстовые редакторы, трансляторы, редакторы связей, библиотеки подпрограмм, утилиты и обслуживающие программы), обеспечивающих автоматизацию составления и отладки программ пользователя.
Системы программирования (СП) классифицируются по следующим признакам:
По набору исходных языков выделяют:
одноязыковые СП;
многоязыковые СП (отдельные части программы – секции, модули или сегменты – могут быть подготовлены на различных языках и объединены во время или перед выполнением в единый модуль).
По возможности расширения выделяют:
замкнутые СП;
открытые СП (допускают введение в систему нового входного языка с транслятором без изменений в этой системе).
По трансляции СП подразделяются на:
компилирующие СП (обеспечивают подготовку результирующего модуля, который может выполняться на ЭВМ практически независимо от среды);
интерпретирующие СП (осуществляют покомандную расшифровку и выполнение инструкций входного языка в среде данной системы программирования).
Основными этапами разработки приложения в некоторой абстрактной многоязыковой, открытой, компилирующей СП являются:
Ввод. Программа на исходном языке (исходный модуль) – готовится с помощью текстовых редакторов и виде текстового файла поступает на вход транслятора.
Трансляция – преобразование исходного модуля в объектную (промежуточную) форму. Трансляция включает в себя:
препроцессинг – необязательная фаза, состоящая в анализе исходного текста, извлечения из него директив препроцессора и их выполнения;
компиляция – многоступенчатый процесс, включающий в себя: а) синтаксический анализ (проверка правильности конструкций, использованных программистом при подготовке текста; б) семантический анализ (выявление несоответствий типов и структур переменных, функций и процедур); в) генерация объектного кода.
Объектный модуль – текст программы на машинном языке, включающий машинные инструкции, словари, служебную информацию.
Построение исполнительного (загрузочного) модуля осуществляется специальными программными средствами – редактором связей, построителем задач, компоновщиком, основной функцией которых является объединение объектных и загрузочных модулей в единый загрузочный модуль с последующей записью в библиотеку или файл. Может использоваться при построении других программ.
Загрузка программы. Загрузочный модуль после сборки помещается в качестве раздела в пользовательскую библиотеку программ. Его выполнение состоит в загрузке в оперативную память, настройке по месту в памяти и передаче ему управления. Абсолютный модуль – образ загрузочного модуля в памяти. На этапе его формирования все команды ЭВМ приобретают окончательную форму и получают абсолютные адреса в памяти.