ПОИСК Статьи Рисунки Таблицы Особенности программирования управляющих вычислительных машин из "Инженерные задачи в нефтепереработке и нефтехимии" Отладочные программы. Как показывает само название, служат для автоматизации процесса отладки. С помощью отладочных программ вся интересующая программиста информация выдается на печать. Например, отладочная программа Прокрутка позволяет при отладке программ на ЦВМ Минск-22М выводить на устройство печати адреса команд, команды, значения операндов (содержимое 1-го и 2-го адресов) и результаты операций. Таким образом, можно анализировать процесс рещения задачи без затрат машинного времени. [c.63] Метод библиотечных программ. Состоит в том, что отдельные стандартные участки алгоритмов не программируются, а с помощью компилирующей или интерпретирующей программы вставляются в программу в том готовом виде, в котором они находятся в библиотеке стандартных программ (БСП) . Если стандартные участки имеют сложный характер и их настройка в программе зависит от структуры данных и других факторов, то создают специальные системы сборки и настройки библиотечных программ. Такими стандартными программами (СП) могут быть перевод исходных данных из десятичной системы счисления в двоичную, обратный перевод результатов решения, вычисление таких элементарных функций, как sin ji, ]пх, е , интегралы, решение систем алгебраических и дифференциальных уравнений и т. д. [c.63] Обычно все СП составляют в условных адресах и хранят во внешних запоминающих устройствах. При этом используют различные способы автоматизации обращения к ВСП, обеспечивающие выбор, ввод, перевод в действительные адреса и размещение в памяти машины необходимых для решения данной задачи СП. Для этих целей применяют компилирующую и интерпретирующую системы. [c.63] Компилирующая система. Состоит из БСП, таблицы характеристик программ и компилирующей программы. [c.63] Компилирующая программа просматривает основную программу, определяет (с помощью таблицы характеристик про-грахмм) необходимые для рещения задачи СП, вьюывает и размещает их в выделенном для них массиве памяти мащины. Затем компилирующая программа заменяет условные адреса СП действительными и согласовывает их с основной программой. В результате выполнения всех этих действий в памяти мащины будет готовая к использованию программа. В процессе рещения компилирующая программа не используется. [c.64] Интерпретирующая система. Состоит из БСП, таблицы характеристик и интерпретирующей программы. Как и в компилирующей системе, таблица характеристик содержит информацию о размещении всех СП библиотеки во внещнем запоминающем устройстве. [c.64] Интерпретирующая программа выявляет команды обращения к СП, вызывает и размещает СП в памяти мащины в специальном рабочем массиве и переходит к ее выполнению. По мере выполнения основной программы интерпретирующая программа выявляет следующую команду обращения к СП и повторяет описанный выще процесс и т. д. Таким образом, интерпретирующая программа все время находится в памяти мащины и используется в процессе выполнения основной программы. [c.64] Объем рабочего массива, отведенного для хранения вызываемых из внешнего запоминающего устройства СП, ограничен, поэтому при необходимости СП хранятся в массиве по очереди. Поскольку во время выполнения основной программы приходится обращаться к внешним запоминающим устройствам для вызова очередной СП, время выполнения основной программы увеличивается. [c.64] Каждая из этих систем имеет свои достоинства и недостатки, поэтому целесообразность использования той или иной системы зависит от конкретных условий (типа решаемой задачи, ее сложности, числа используемых СП и т. д.). Надо помнить, что по сравнению с интерпретирующей системой компилирующая система дает выигрыш во времени решения задачи, так как вызывает СП в память машины лишь один раз но зато она требует большего объема памяти, поскольку необходимо хранить все используемые СП. [c.64] Рассмотренные системы облегчают процесс программирования за счет того, что вместо отдельных участков программы используются уже имеющиеся СП, размещение которых и согласование с основной программой производится автоматически. Однако остальные участки программы все же записываются в коде машины, т. е. сохраняется трудность и неудобство программирования в кодах. Одним из способов устранения указанных трудностей является использование прн программировании псевдокоманд или символических команд. [c.64] Метод символических адресов. Объектам машинных алгоритмов (константам, переменным, командам программы, операторам) присваиваются символические наименования. Переработка символических адресов в действительные (привязка объектов алгоритмов по месту в ЗУ) выполняется автоматически с помощью специальной переводящей программы, т. е. транслятора. [c.65] Метод символических адресов позволяет описывать алгоритмы по частям, сохранять за переменными наименования, принятые в формулах, вводить для переменных, используемых в программе, мнемонические обозначения, раскрывающие их назначение и т. д. [c.65] Сущность символического кодирования заключается в том, что в командах вместо конкретных числовых адресов и кодов операций записываются буквенно-цифровые символы, которые представляют собой наименования переменных или констант, сокращенное название кодов операций или какие-либо другие обозначения. [c.65] Программу, составленную с помощью символических команд, называют символической программой. ЦВМ не может выполнять символическую программу, поэтому перед решением задачи ее необходимо перевести в программу, записанную в кодах мащины, т. е. заменить символические коды операций соответствующими кодами машины, а символические адреса соответствующими числовыми адресами. [c.65] Для перевода символических кодов операций в коды машины в программе-трансляторе есть таблица их соответствия. Чтобы заменить символические адреса числовыми, программа-транслятор производит распределение памяти и на этом основании каждой символической переменной ставит в соответствие действительный числовой адрес (при этом машина должна уметь отличать команды от чисел и констант). [c.65] Такая методика составления программ очень полезна в тех случаях, когда нужно записывать команды программы, использующие адреса чисел или команд, местоположение которых еще не известно. Поскольку символическое наименование адресов обычно соответствует их содержимому, а символические коды операций являются сокращенными наименованиями кодов, символическая программа легко записывается и проверяется. Благодаря методу символического кодирования появляется также возможность программирования задачи по частям (блочное программирование), что особенно важно при решении сложных и громоздких задач, так как для программирования отдельных участков таких программ может привлекаться несколько программистов. [c.65] Различают три уровня алгоритмического языка. [c.66] Первый уровень — эталонный язык, содержащий полный перечень всех символов алгоритмического языка и синтаксических правил (т. е. правил сочетания символов в конструкциях языка). На основе эталонного языка определяются все другие уровни данного языка. [c.66] Второй уровень — язык публикаций, допускающий некоторые видоизменения эталонного языка, обеспечивающие удобство печати (например, индексы, показатели степени, греческие буквы и т. п.), которые записываются на языке публикаций обычным образом. [c.66] Третий уровень — конкретные представления языка, образующиеся из эталонного языка путем его изменения, которое обусловлено особенностями трансляторов для конкретных ЦВМ. [c.66] Вернуться к основной статье