logo
_Лекции по теории инф

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

Системы программирования — это совокупность различного рода программ, которые используются для автоматизации процесса программирования сценариев работы электронных вычислительных машин (ЭВМ).

Основная задача систем программирования — это автоматическая трансляция (перевод) текста сценария программы с входного языка высокого уровня на язык, понятный ЭВМ (язык программирования).

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

Реализация языка программирования (транслятор) — это системная программа, которая переводит (транслирует) записи на языке высокого уровня в последовательность машинных команд, понятных ЭВМ.

Существуют два основных транслятора языка программирования — интерпретаторы и компиляторы.

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

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

Все существующие системы программирования делятся на машинно-ориентированные и машинно-независимые системы.

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

Машинно-ориентированные языки по степени автоматизации программирования делятся на:

  1. Машинные языки — это командные языки, которые имеет каждый отдельный компьютер;

  2. Языки символического кодирования —это языки, которые, как и машинные языки, являются командными;

  3. Автокоды — это языки, которые включают в себя все возможности языков символического кодирования через использование макрокоманд. Макрокоманда — это часто использующаяся командная последовательность, соответствующая определенной процедуре преобразования информации. Ассемблеры — это развитые автокоды;

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