Файл: Сафонов, С. Ф. Вычислительная техника в инженерных и экономических расчетах (конспект лекций).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.10.2024

Просмотров: 46

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Т а б л и ц а VI

ЭВМ печатает: п== Отпечатать после знака равенства порядок уравнения

I-

Нажать клавишу «ВК»

Решение и выдача результатов

членов при прохождении основной программы засылать их в ячейку ОЗУ. начиная' с 64;

порядок системы поместить в 993 ячейку в форме целого

числа;

в ячейке 980 поместить команду выхода из подпрограммы

вформе целого числа 200, если после СПП следует перейти к ко­ манде из 200 ячейки;

в том месте основной программы, где требуется обраще­ ние к СПП, поместить команду перехода к ней в виде И 7723 П.

Результаты получаются в ячейках оперативной памяти с 64 по (644-л) и выводятся на печать, если на пульте сигнализации машины клавиша «Вариант» нажата.

СП вычисления определенного интеграла

Схема использования СП приведена в таблице VII. При работе программы возможны следующие случаи:

1. Машина выводит на печать: «Н‘е могу» — это означает, программа автоматического программирования заданной подын­ тегральной функции не размещается в отведенных для этого 76—200 ячейках ОЗУ.

82


Т а б л и ц а VII

Нажать клавишу «Пуск-1

I

Отпечатать: 70 п

Примечание: двоеточие перед знаком синуса обозначает оперирование кла­ вишей пробел

В таких случаях следует разбивать функцию на несколько подфункций, если это возможно, так, чтобы каждую такую под­ функцию программа автоматического программирования суме­ ла бы разместить в отведенном массиве памяти (76—200).

2. Машина выводит на печать: «Не могу» после вычисления интеграла, что означает — шаг интегрирования слишком мал.

Данная СП может быть использована и как СПП, т. е. в виде составляющей.

По СП и СПП можно вычислять интеграл, если подынте­ гральная функция содержит не .более чем 125 различных посто­ янных. Формула подынтегрального выражения может содержать не более 15 левых и 15 правых скобок.

СП нахождения определителя матрицы и обратной матрицы.

Для нахождения определителя и обратной матрицы исполь-

6:

83

Т а б л и ц а VIH

Нажать клавишу «Пуск-1»

Отпечатать 61 п

Набирать на клавиатуре элементы матрицы (по строкам), делая возврат каретки после набора каждого элемента

- 1

Отпечатать во — в случае вычисления определителя или ом — в случае вычисления обратной матрицы

-

ЭВМ печатает п = Отпечатать после знака равенства значение порядка матрицы

и сделать возврат каретки

зуется метод Леверье с видоизменением Д. К. Фадеева (см. А. К. Фаддеев и В. Н. Фаддеева. Вычислительные методы линейной ал­ гебры, 1960, стр. 295).

Схема использования программы как самостоятельной приве­ дена в табл. VIII.

Входе решения по дайной СП возможны следующие случаи:

1.Машина печатает «опред=0» и останавливается при сов­ местном использовании СП нахождения определителя и обрат­

ной матрицы. Это означает, что исходная матрица особенная.

2.Машина останавливается (в случае нахождения опреде­ лителя матрицы). Это происходит оттого, что исходная матрица особенная.

3.Если при решении вводится порядок матрицы, больший 12, ЭВМ выводит на печать: «Не могу» и вновь запрашивает поря­ док: «п= ».

СП можно использовать в виде СПП, Кроме рассмотрения программ, в ДЗУ «Наири» имеются и

стандартные программы автоматического программирования, ис­ пользуемые как команды-псевдооперации, СП счетного режи­ ма и другие СП.

§ 4. ЯЗЫК АВТОМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ ЭВМ «НАИРИ»

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

84


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

Результатом автоматического программирования является го­ товая программа, составленная в кодах команд определенной машины. Таким образом, форма представления требуемого ре­ зультата (т. е. выходной язык) заранее установлена. От формы задания исходной информации в значительной степени зависят:

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

трудности, связанные с заданием исходной информации, а следовательно, и успех внедрения автоматического программи-, рования взамен программирования вручную.

Вопросу разработки сходных языков для автоматического программирования уделяется большое внимание;.

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

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

При методе библиотечных подпрограмм (кроме собственно подпрограмм) необходимо иметь все сведения, нужные для ис­ пользования подпрограмм. Без наличия таких сведений програм­ мисту приходилось бы каждую подпрограмму перед ее примене­ нием расшифровывать. Необходимые сведения о подпрограммах можно значительно сократить, если в библиотеку собирать не «случайно» полученные части программ, а специально разраба­ тываемые подпрограммы, удовлетворяющие определенным тре­ бованиям, дающим возможность описать совокупность действий, необходимых для применения произвольной подпрограммы в ви­ де единого алгоритма. В этом случае подпрограммы называют,

85


как уже говорилось, стандартными подпрограммами (СПП), а их библиотеку — библиотекой подпрограмм (БСП). Библиотека стандартных подпрограмм в совокупности с алгоритмом для их использования (который, в частности, может быть оформлен в виде программы) и правилами задания исходной, информации образует систему стандартных подпрограмм. Метод библиотеч­ ных подпрограмм при программировании вручную широкого рас­ пространения не получил. Значительно большие успехи достиг­ нуты на пути автоматизации программирования, основанного на применении БСП. Автоматизированный метод программирова­ ния с помощью БСП в дальнейшем называемся методсцм библио­ теки стандартных подпрограмм.

Возможна автоматизация программирования, при которой со­ четаются методы ПП и БСП.

Компиляция и интерпретация. Если программирование и выполнение программы на машине рассматривать как единый процесс решения задачи на машине, то возможны два порядка осуществления этого процесса. Первый порядок, который назо­ вем раздельным, предусматривает составление всей программы; выполнение программы на машине при заданных исходных дан­ ных, т. е. собственно решение задачи. Этот порядок широко рас­ пространен при ручном программировании и в ряде случаев пре­ дусматривается при автоматическом программировании. Второй порядок назовем чередующимся. Он заключается в том, что ис­ ходная информация о программе (или неполная программа и ис­ ходная информация о недостающих кусках) вводится в машину вместе с исходными данными задачи. Общий процесс решения задачи на машине состоит из чередующихся .этапов автоматиче­ ской переработки частей исходной информации о программе в «куски» программы и заканчивается получением исходного ре­ зультата задачи. При этом перерабатываемые частями исходной информации являются группы, кодов, которым соответствуют за­ конченные элементы программы, например, команды, операторы или подпрограммы. Куски программы, получающиеся на этапах автоматического программирования, после выполнения не сохра­ няются.

Автоматическое программирование при раздельном порядке решения задач называется компиляцией программы, а при чере­ дующемся порядке — интерпретацией (исходной информации о программе). Возможно сочетание компиляции с интерпретаци­ ей; заключающееся в том, что компилируется программа, в со­ став которой, кроме команд, включены специальные коды, назы­ ваемые псевдокомандами. Псевдокоманды интерпретируются уже при выполнении составленной программы на •машине.

Если при компиляции программа, осуществляющая автома­ тическое программирование, нужна только для получения про­ граммируемой программы, то при интерпретации интерпретиру­ ющая программа. находится в оперативной. памяти в течение, все-

86


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

Ввиду того, что способы программирования можно любым образом сочетать с порядком'решения задач на машине, возмож­ ны ПП как компилирующие, так и интерпретирующие; точно так же метод БСГ1 может осуществляться как путем компиляции, так и путем интерпретации.

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

Трудность ручного программирования состоит в необходимо­ сти понимания специфики выполнения всех команд из алфавита системы команд данной машины. Алфавит команд современной ЭВМ обширен и специфичен, что затрудняет немедленное ис­ пользование языка ручного программирования неспециалиста­ ми вычислительной техники. Умение пользоваться языком ручно­ го программирования обычно приобретается не днями, а меся­ цами кропотливого труда, если за это дело берешься впервые. В языке автоматического программирования (в языке АП) про­ граммист перекладывает алгоритм на язык машины не в опера­ циях, а в операторах. Последние состоят из больших групп опе­ раций, составляемых самой машиной безошибочно.

Несмотря на существенные недостатки, язык РП, наверное, еще долго будет оставаться отличным методом составления ком­ пактных программ.

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

Главное достоинство языка АП — экономия времени при со­ ставлении программы.

Главный недостаток — невозможность составления компакт­ ных программ. В языке АП машина составляет программы в не­

87