Автоматизация программирования

Сентябрь 16, 2018 Нет комментариев

Автоматизация программирования предполагает: 1) построение формализованного языка, на котором можно точно и однозначно выразить алгоритм; 2) разработку для каждого типа ЦВМ постоянной переводной программы„позволяющей автоматически перевести алгоритмы, записанные на формализованном языке, на машинный язык дайной ЦВМ.

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

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

В настоящее время разработано большое число формализованных алгоритмических языков. Среди них к числу наиболее распространенных относятся: международный алгоритмический язык АЛГОЛ; очень похожий на АЛГОЛ язык ФОРТРАН, широко применяемый в США; предназначенный для коммерческих задач язык КОБОЛ; алгоритмический язык ЛО-ГАЛГОЛ (LOGALGOL), служащий для решения логических нецифровых задач; формализованные языки АУТОПРОМТ и АНТ, используемые при реализации задач цифрового автоматического управления. В настоящее время отсутствует специальный алгоритмический язык, предназначенный для решения электроэнергетических задач, однако работы в этом направлении усиленно ведутся в ряде вычислительных центров.