Главная > Энциклопедия кибернетики. Т.2
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

ПРОГРАММИРОВАНИЕ ДЛЯ ЦВМ

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

Ручное П. д. ЦВМ заключается в составлении человеком программ на машинном языке конкретной машины. Машинный язык — это язык команд конкретной машины, на которой будет решаться данная задача. Каждая команда задает машине информацию об одной операции: указывает вид операции (напр., сложение, умножение и т. д.), адреса исходных чисел и результата операции. Адресами являются номера ячеек памяти, в которых хранятся эти числа. Последовательность команд наз. программой. Команды выполняются машиной в том порядке, как они написаны в программе, за исключением т. н. команд перехода. Эти команды указывают номер команды в программе, к которой нужно перейти после их выполнения.

Перед написанием программы на языке машины (см. Языки машинные) составляют алгоритм задачи, определяющий общий ход вычислительного процесса, а также памяти распределение для данных (исходных, промежуточных

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

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

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

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

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

Для пояснения сущности программирования и различий, существующих между тремя упомянутыми способами П., рассмотрим пример записи расчета по формуле При непосредственном машинном программировании необходимо, во-первых, составить таблицу распределения величин в ячейках памяти машины. Пусть величина а находится в ячейке с адресом 0100, величина 6 — в ячейке с адресом 0101, величины в ячейках с адресами соответственно 0102 и 0103. Для размещения величины х отведем ячейку с адресом 0104. Пусть команда сложения имеет код 01, а команда умножения — код 02. Тогда, используя трехадресные команды, напишем следующий участок машинной программы:

Команды программы, как и числа, сами размещаются в ячейках памяти машины: слева указаны адреса трех соседних ячеек памяти (0010, 0011, 0012), в которых размещены три команды. Первая команда показывает, что нужно взять одно число из ячейки с адресом 0100, другое из ячейки с адресом 0101, сложить их (код операции 01) и послать в ячейку с адресом 0100 (третий адрес в команде совпадает в данном случае с первым адресом; это означает, что после выполнения команды в ячейке с адресом 0100 будет находиться уже не величина а, а сумма величин а Посылка к.-л. величины в определенную ячейку приводит к замещению прежнего содержимого ячейки новым значением. Вторая команда имеет аналогичный смысл. Третья команда выполняет умножение (код операции 02) двух промежуточных величин, находящихся в ячейках с адресами 0100 и 0102, и посылку результата в ячейку с адресом 0104.

В приведенном примере все команды работают так, что результаты операций посылаются по третьему адресу. Тот же пример в случае

записи программы на автокоде будет выглядеть так:

Здесь вместо кодов операций фигурируют условные буквенные обозначения этих операций (СЛ — сложение, УМ — умножение), а вместо адресов ячеек — буквенные обозначения величин, причем для записи промежуточных результатов введены две новые величины На языке программирования АЛГОЛ-60 этот пример будет записан одной строкой: . Здесь символ означает присваивание величине х значения правой части формулы; умножение обозначается знаком X, сложение знаком для указания порядка действий используются круглые скобки; конец расчетов по данной формуле обозначается точкой с запятой. Из приведенного примера видно, что запись на языке программирования является наиболее удобной.

Важным разделом П. д. ЦВМ является г. н. системное ирограииирование. Оно заключается в разработке комплексов программ для автоматизированных систем управления (АСУ), имеющих в своем составе ЦВМ. Эти комплексы программ наз. системой математического обеспечения ЦВМ АСУ. МО делится на две части: общее и специальное МО. Общее МО обеспечивает функционирование АСУ (т. е. работу ЦВМ) как универсальной системы сбора и переработки информации.

Осн. частями общего МО являются система автоматизации программирования и операционная система, управляющая последовательностью решения задач, осуществляющая ввод — вывод данных и обмен информацией между ЦВМ и операторами. В общее МО входит также набор тест-программ, служащих для проверки работы ЦВМ и др. аппаратуры, входящей в АСУ, и локализации неисправностей, и ряд вспомогательных программ. Общее МО разрабатывают предприятия, выпускающие ЦВМ. Специальное МО представляет собой набор программ для решения тех конкретных задач, для которых создается данная АСУ (управление заводом, электростанцией, крупным аэропортом или др. объектом). Специальное МО разрабатывается при участии того предприятия, для которого создается данная АСУ.

Для каждой системы МО составляют инструкции, определяющие порядок использования его средств, а также правила организации и ведения фонда алгоритмов и программ, включаемых в него с тем, чтобы ими в дальнейшем могли пользоваться все те, у кого возникнет необходимость в таких программах. Для этого включаемые в фонд программы должны тщательно отрабатываться и оформляться в соответствии с определенными правилами, обеспечивающими возможность их эффективного использования как автономно, так и в составе других, более сложных программ. Лит.: Гнеденко Б. В.. Королюк В. С., Ющенко Е. Л. Элементы программирования. М., 1963 [библиогр. с. 347—348]; Криницкий Н. А., Миронов Г. А., Фролов Г. Д. Программирование. М., 1966 [библиогр. с. 596-599]; Жоголев Е. А., Трифонов Н. П. Курс программирования. М., 1967 [библиогр. с. 404—405]; Китов А. И. Программирование экономических и управленческих задач. М., 1971 [библиогр. с.365]; Ледли Р. С. Программирование и использование цифровых вычислительных машин. Пер. с англ. м., 1966 [библиогр. с. 628—630]. А. И. Китов.

1
Оглавление
email@scask.ru