Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
2
Добавлен:
23.10.2023
Размер:
4.54 Mб
Скачать

ЛЕНИНГРАДСКИЙ ОРДЕНА ЛЕНША КОРАБЛЕСТРОИТЕЛЬНЫЙ ШСТИГУТ

И.Б.МАРДЕВА, А.Н.ШЕБМСВ

ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА В ИНЖЕНЕРНЫХ И ЭКОНОМИЧЕСКИХ РАСЧЕТАХ

АВТОКОД "ИШЕНЕР" ДЛЯ ЭЩМ "МИНСК-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

 

 

 

 

 

 

а

О

 

 

 

 

 

 

 

 

 

г а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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ичесвяе язы к е способствуют стандарт изапни н е -

Соседние файлы в папке книги из ГПНТБ