книги из ГПНТБ / Мараева И.Б. Вычислительная техника в инженерных и экономических расчетах. Автокод Инженер для ЭЦВМ Минск-22 учеб. пособие
.pdfЛЕНИНГРАДСКИЙ ОРДЕНА ЛЕНША КОРАБЛЕСТРОИТЕЛЬНЫЙ ШСТИГУТ
И.Б.МАРДЕВА, А.Н.ШЕБМСВ
ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА В ИНЖЕНЕРНЫХ И ЭКОНОМИЧЕСКИХ РАСЧЕТАХ
АВТОКОД "ИШЕНЕР" ДЛЯ ЭЩМ "МИНСК-22"
Учебное пособие
Ленинград |
1974 |
2 |
4 ? |
В данном учебное пособии излагаются |
правила |
программирования на алгоритмическом языке Автокод |
|
"Инженер" для обычного режима работы |
ЭЦЗМ |
"Минск-221' и для режима "Т".Материал сопровождает ся большум количеством примеров. В пособии оиксант
правила офордаения и отладки программ, приведены
таблицы остановов, кода перфорации и наиболее у ш - требкельные стандартные подпрограммы. Крона того , содержится набор задач для самостоятельных упраж нений.
Пособие предназначено для студентов и аспиран
тов всех специальностей Ленинградского |
корабле- |
|
строительного института, а также для инженеров |
и |
сотрудников, нуждающихся в сведениях по программи рованию на АКИ.
MAPAIBA
Ирина Борисовна
ШИБАЛСВ Александр Николаевич
ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА В ИНЖЕНЕРНЫХ И ЭКОНОМИЧЕСКИХ РАСЧЕТАХ
АВТОКОД "ШЖЕНЕР" ДЛЯ ЭЦЗМ "МИЮК-32"
Учебное пособие
Отв.редактор А.ГоСмирнова Лит. редактор Л. ЕцЧернушка
ТнпЦКИс Зак .Р -162 . |
Тир.5 0 0 . П еч.д .5, |
Цена 32 код . |
М-040П |
3
ПРЕДИСЛОВИЕ
За последние годы а связи с бурным развитием электронно-
вычислительной техники и повсеместным ее внедрением во все области народного хозяйства сильно возросло количество лвдей,
не программистов по образованию, которым нужно |
составлять |
программы и решать задачи на ЭЦВМ. Особенно |
повысилась по |
требность в умении программировать среди инженеров,студентов я аспирантов технических ву зов .
Одной из наиболее распространенных в Советском Союзе вы числительных мешин является ЭЩМ "Минск-22". Машины этой се
рии относятся к так называемому второму поколению |
вычисли |
||
тельной техники и обладают высокой надежность». |
Программы, |
||
составленные для ЭЦВМ "М инск-22", |
могут без изменений |
в ре |
|
жиме совместности попользоваться |
и на машинах "М инск-32",ко |
||
торые начали выпускаться нашей промышленностью в |
последнее |
||
время. |
|
|
|
Именно поэтому овладение методами программирования |
для |
ЭфМ "Минск-22" и использование системы математического обе
спечения |
является актуальным для широкого круга специалистов, |
|
связанных с применением вычислительной техники. |
||
За последнее время все большее |
значение по сравнению с |
|
программированием в машинных кодах |
приобретает программиро |
|
вание на |
уровне алгоритмических языков. |
Наибольшее распространение для машин серии "Минск-22" приобрел алгоритмический язык Автокод "Инженер". Методам про
граммирования на Автокоде и отладке программ на уровне вход ного языка а посвящено предлагаемое учебное пособие.
Изучение пособия не требует |
предварительного |
знакомства |
|
с принципами программирования в |
машинных кодах, |
за исключе |
|
нием части |
§ 8 , госвященной использованию в авто кодовой про |
||
грамма 88 |
участков, записанных в |
кодах машины. |
|
4
Читателю, знакомому с принципами ручного программирова -
ния или каких-нибудь алгоритмических языков, некоторые рассувдения пособия покажутся лишними, например, введение, ор
ганизация разветвляющихся и циклических программ и т,д.Одна
ко, эти сведения совершенно необходимы читателю, встречаю щ ееся с этим впервые.
Во введении подробно рассматривается порядок решения за
дачи на ЭЦВМ, начиная с ее постановки и кончая отладкой,
счетом и инструкцией оператору. Кроме того, |
даются |
краткие сведения о машине "Минск-22".
В § I и 2 описываются символы и элементы входного языка.
Дальнейшие параграфы (3 - 9 ) посвящены операторам, правилам их
записи |
и |
использованию |
в программах. |
|
|
§ |
10 |
посвящен вопросам оформления программы и |
перфора |
||
ции, а |
§ |
I I - отладке |
и корректировке программы. В |
этих |
па |
раграфах |
приводятся |
цифровой и текстовой коды перфорации, |
|||
бланк ввтокодовой программы, а также таблицы остановов |
при |
||||
трансляции и в стандартных программах АКИ. |
|
|
В § 12 перечисляются наиболее употребительные стандарт
ные программы библиотеки БСПГАКИ; вычисление некоторых функ
ций Бесселя, корней полиномов и трансцендентных |
уравнений, |
решение линейных алгебраических систем и систем |
дифферен |
циальных уравнений, действия над матрицами, изменение формы
представления чисел, деление целых чисел. Здесь же указывают ся правила обращения к этим стандартным программам в автоко
дов ых программах.
В есь изложенный материал иллюстрируется большим количе
ством примеров. При самостоятельном изучении программирова -
ния в Автокоде "Инженер" все рассматриваемые примеры рекомен-
дуется.реш ать самостоятельно, а затем сравнивать с приведен
ными решениями.
Для проверки знаний и приобретения необходимых навыков в программировании на алгоритмическом языке Автокод "Инженер" авторы советуют прорешать задачи § 13 . В этом параграфе со браны задачи различной трудности. Некоторые из них снабжены решениями, например, решение обыкновенного дифференциального уравнения П-го порядка методом прогонки, линейной алгебраи ческой системы - методом Зейделя. Задачи помещены в порядке возрастания сложности программирования.
В се замечания и пожелания по данноедпособию просьба на правлять на кафедру прикладной и вычислительной математики ЛКИ.
5
В В Е Д Е Н И Е
Порядок решения задачи на ЭЩМ
Решение задачи на ЭЩМ представляет собой сложный и тру доемкий процесс, требующий на каждом этапе сочетания знаний инженера, ставящего задачу, математика, программиста, техни ка-оператора.
Рассмотрим подробнее содержание каждого этапа.
1 . |
Постановка задачи |
|
|
|
|
В качестве постановки задачи рассматривается ее описание, |
|||||
сделанное специалистами в самом общем виде |
с применением ме |
||||
тодов |
характерных для данной области. На этом этапе |
указыва |
|||
ются: |
количество и характер всех величин, |
которые |
исполь |
||
зуются в задаче как исходные данные, пределы их |
изменения, |
||||
размерность; |
количество и характер всех величин, |
получаемых |
|||
в результате |
решения задачи; методы решения задач |
такого ти |
|||
па, применяемые в данной области; факторы, которые |
|
сущест |
|||
венно влияют па конечный результат или на ход |
вычислений |
||||
и т .д . |
|
|
|
|
|
2 . |
Математическое описание задачи |
|
|
|
Математическое описание задачи - это ее перевод на мате матический язык, т .е . выражение всех графических, табличных или иных функциональных зависимостей математическими формула ми, уравнениями, неравенствами; запись полного перечня всех исходных данных, начальных условий, расчетных вариантов;
установление точности всех вычислений, которые будут выпол нены при решении задачи, и т .д .
6
3 . Выбор численного метода и получение расчетных формул
Численные методы, изучаемые в математике, позволяют све
сти решение любой задачи к последовательному |
выполнению че |
||||
тырех арифметических действий» Дело в том, |
что |
ЭЦВМ выпол |
|||
няет не любые операции и не |
с любыми числами. |
Так, |
например, |
||
ЭШМ не мояет аналитически |
выражать производные ,оперировать |
||||
с |
комплексной числами и т .д . Поэторду выбор численного мето |
||||
да |
и вывод расчетных формул |
задачи предусматривает |
получение |
||
формул, содержащих только те |
действия, которые |
может выпол |
|||
нять данная ЭфМ» При зтом все числа (как исходные |
данные, |
так и результаты вычислений) не должны выходить из диапазона,
на который рассчитана ЭЩМ.
Диапазон чисел, |
представимых в форме с |
плавающей запятой, |
|
в машине ''Минск-22п |
следующий: |
|
|
0,5421010 • 10~19 < | Х / ^ |
0,9223372 • Ю19. |
||
ИЗ все-: численных методов решения конкретной задачи пред |
|||
почитается тот , который наилучшим образом |
обеспечивает вы |
||
полнение требований |
задачи. При выборе |
численпого метода на |
|
до принимать во внимание еще одни фактор - |
быстродействие |
ЭфМ. Высокая скорость вычислений приводит к тому, что опти
мальным может оказаться метод более простой в |
программиро |
||
вании, хотя и приводящий к некоторому увеличению объема |
вы |
||
числительной части решения. |
|
|
|
4 . Разработка алгоритма решения задачи |
|
|
|
Алгоритм решения задачи - это точное предписание |
о |
по |
|
рядке выполнения элементарных операций над всеми |
исходными |
данными для получения искомого результата. Алгоритм разраба
тывается, начиная с укрупненных операций |
(блоков); |
состав |
ляется логическая схема решения задачи. |
|
|
Существуют оааличные способы записи |
алгоритмов. |
Напри |
мер, в виде обычной последовательности |
пронумерованных опе |
|
раций, которые следуют одна за другой за |
исключением тех слу |
|
ч аев, когда какая-нибудь из них меняет естественный |
порядок |
выполнения. Можно записать алгоритм иначе.
Наибольшую наглядность дает так называемая блок-схема за дачи. Она мэжет быть представлена в виде графической схемы с записью содержания отдельных блоков в отведенных для них пря моугольниках, ромбах, кружках и с указанием условий и поряд
ка перехода от блока к блоку. Рассмотрим, например, задачу о
решении квадратного уравнения а х г+ £ х * G = 0 . Числа О |
, |
С- заданы.
Очевидно при решении этой задачи васжет встретиться слу
чай, |
ю гд а |
£У= |
0 . |
Тогда при |
|
|
решение |
имеет |
вид: |
|||||
я я |
- |
j . |
Если |
£ |
= |
0 , |
то |
задача |
(при а |
= 0 ) |
не |
имеет |
||
решения? |
|
|
|
|
|
|
|
|
|
|
|
|
||
Когда а |
$ В |
, возможны случал вещественных корней, |
вы |
|||||||||||
числяв.vane по ф о р м у л а м ____________ |
|
|
|
|||||||||||
|
|
|
_ |
_ - £ * \ 1 б * - Ь а с ' |
|
|
|
|||||||
|
|
|
* V |
,* - ------------ : — ~ |
|
, |
|
|
|
|||||
и комплексных корней, если |
££ |
- |
4 |
йС <Л При отрицательном |
||||||||||
дискриминанте можно вычислить на ЭЦШ только |
вещественную |
|||||||||||||
часть |
|
и коэффициенты мнимых частей комплексных корней: |
|
|||||||||||
|
|
|
|
|
|
1,2 |
|
|
|
- к ас) |
|
|
||
|
|
|
|
|
|
|
|
|
2 а |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Алгоритм решения данной задачи в |
соответствии |
с получен |
||||||||||||
ными расчетными формулами может быть |
записан |
так: |
|
|
||||||||||
1 . |
Ввести значения |
|
а , В, с . |
|
|
|
|
|
||||||
2 . |
Если |
а = |
0 , |
то |
перейти к |
пункту I I . |
|
|
|
|||||
3 . |
Вычислить |
Ю -Ё г - ^ а с . |
|
|
|
|
|
|
||||||
4 . |
Если 2)< 0 |
, |
то |
обратиться к |
пункту 8 . |
|
|
|||||||
5 . |
Найти горни уравнения по формулам |
|
|
|
||||||||||
|
|
|
|
|
|
- |
- ъ ± Ш |
|
|
|
|
|
||
6 . |
|
Напечатать |
текст |
"вещественные горни |
уравнения" |
н вы |
||||||||
вести на печать значения Х{ , |
сс, |
, |
|
|
|
|
|
|||||||
7 . Конец вычислений. |
|
|
|
|
|
|
|
|
||||||
3 . |
|
Определить вещественную часть и коэффициенты при мни |
||||||||||||
мых частях комплексных корней |
|
|
|
|
|
|
|
|||||||
|
|
|
р |
|
|
s ± |
f E |
|
|
|
|
|||
|
|
а |
О |
|
|
|
|
|
|
|
||||
|
|
г а |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
2а |
|
|
|
|
||
9 . |
|
Напечатать |
текст |
"комплексные |
корни уравнения" и вы - |
|||||||||
вести |
на печать значения |
|
|
jsa |
|
|
|
|
||||||
10. Конец вычислений. |
|
|
|
|
|
|
|
|
||||||
11 . |
Если |
В = |
0 , |
то |
перейти к |
пункту 15. |
|
|
|
8
12. |
Найти |
Ж |
|
£ |
|
|
|
■ |
|
|
|||
13. |
Напечатать |
О |
"корень уравнения" и вывести на пе |
|||
текст |
||||||
чать значение |
х |
• |
|
|
|
|
14. Конец вычислений. |
|
|
||||
15. Напечатать текст "задача не имеет решения". |
|
|||||
16. |
Конец вычислений. |
|
|
|||
Здесь перечислены все |
действия, которые нужно |
совершить |
||||
над исходными данными для получения конечного рнзультата, |
||||||
причем алгоритм годен для |
решения задачи с любыми |
исходными |
данными.
Тот же алгоритм можно изобразить графически с помощью блок-схемы (р и с.1).
•Рис. I
5 . Программирование
О
Программирование - это запись разработанного алгоритма задачи на языке, "понятном машине". В настоящее время сущест вует два метода программирования: ручной и автоматический.
Ручной метод заключается в расчленении алгоритма решения на
*
|
9 |
еентаряые |
операции ь записи ах программистом вручную в ви |
де отдельных |
команд* Каждой из операций, которыми располага |
ет машина, соответствует некоторый машинный код.Поэтому руч
ное |
программирование часто называют |
програнмировахнем в во |
|
дах |
машины. |
|
|
|
.автоматическое програмиировакне |
предусматривает |
запись |
алгоритма, на специальном алгоритмическом языке. Это |
такая |
форма записи, на основе которой программа в кодах машины ас
кет быть составлена самой вычислительной мшиной при |
помощи |
||
заранее разработанной специальной программы, называемой |
|
||
транслятором. |
|
|
|
Программа, записанная программистом на каком-либо |
а сго - |
||
пятмичесиом языке, называется автокодовой. Программа х е , |
ко |
||
торая составляется транслятором на основе автокодовой |
ж за |
||
писывается з кодах, называется рабочей. |
|
|
|
Процесс перевода звтокодовой программы в рабочую |
совер |
||
шается автоматически при помощи транслятора и называется |
|
||
" оансляцией программы. |
|
|
|
,'1дя того , чтобы трансляция была возможной, |
автокодовая |
||
программа должна быть записана строго формально с |
помощью |
||
тех сишолов и правки записи, которое определяют входной |
|
||
язык. |
|
|
|
Существует несколько алгоритмических языков, |
каждый |
из |
которых ориентирован на определенный класс задач. Так разли чают языки для вычислительных (инженерных), чнфосмацвоапо логических задач, задач моделирования и т .д .
Наиболее употребительными языками, ориентированным* з а решение, главным образом, инженерных вычислительных задач ,яв ляются АЛГОЛ- 6 0 , Автокод "Инженер" (АКИ), ФОРТРАН. В послед
ние годы завершена разработка алгоритмических языков зторого поколения P L - i , АЛГОЛ-68 и др. Она носят более универсаль ный характер и гсрут употребляться доя описания задач любого
класса. Однако трансляторы с этих языков создаются для машин более высокого класса, чем "Минск-22".
Применение алгоритмических языков значительно сокращает время на составление программы и количество возможных фор- •.апышх ошибок. Кроме того , описание задачи на алгоритмиче
ском языке может одинаково использоваться доя ее решения на различных ЗЗМ, имеющих трансляторы с этого языка. Таким об разом, алгорит?5ичесвяе язы к е способствуют стандарт изапни н е -