Файл: Сафонов, С. Ф. Вычислительная техника в инженерных и экономических расчетах (конспект лекций).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