 
        
        книги из ГПНТБ / Мараева И.Б. Вычислительная техника в инженерных и экономических расчетах. Автокод Инженер для ЭЦВМ Минск-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ичесвяе язы к е способствуют стандарт изапни н е -
