Файл: Бакиров Р.О. Применение современных электронных вычислительных машин при расчете и проектировании конструкций инженерных сооружений учебное пособие.pdf

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

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

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

Добавлен: 05.04.2024

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

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

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

Вспомним, что команды записываются в восьмеричной системе, поэтому для записи команды в ячейку памяти в рассматриваемом случае необходимо 18 двоичных разрядов, по 3 двоичных разряда на каждый восьмеричный разряд.

Но команды реальных машин, для увеличения их возможностей и облегчения программирования, имеют еще некоторые признаки. Например, в машинах типа «Урал» нулевой разряд отводится для признака изменяемости команды, а 19-й — для признака полноты (4 или 0). В частности, изменяемая команда с признаком полноты может иметь вид:

—02 0215 4.

Знак «—» изображается в нулевом разряде единицей «1», а признак полноты «4» — единицей в девятнадцатом разряде (со­ держание первого двоичного разряда от двоичного числа 100). На­ писанная выше команда в двадцатиразрядной ячейке получит изо­ бражение, представленное на рис. 5.

0 1 2

18

19

/Ы /М 'OOi 001 Ol / Ш /

 

/^ т ~ 'wy

■признак полноты

Знак -

W

 

признак изменяемости

 

команды

Ри с. 5

Всорокаразрядной ячейке, например, можно поместить следую­ щие две команды:

02 0115 4

41ОНО 4.

Вкачестве упражнения изображение этих команд в сорокараз­ рядной ячейке предлагается произвести читателю самостоятельно.

Наконец, заметим, что при записи числа или команды в ячейку

еепрежнее содержание стирается, при считывании — сохраняется.

ОСНОВНЫЕ ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА МАШИНЕ

Решение любой задачи на машине можно разделить на два ос­ новных этапа — описание и программирование задачи в широком

смысле слова.

О п и с а н и е з а д а ч и , как правило, осуществляется специа­ листом определенной области, к которой относится задача, и вклю­ чает следующие основные элементы: постановка, математическая формулировка и последовательность вычислений. Кроме этого, при описании задачи указываются ее особенности, а также необходи­ мые исходные и выходные результаты и требования к программе. В постановке коротко формулируется назначение задачи, основные предпосылки, положенные в ее основу, схемы расчета конструк-

18


щии или сооружения, а также другие графические материалы, пояс­ няющие ее физическое содержание.

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

•особых точек при дифференцировании функций или решении си­ стем дифференциальных уравнений.

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

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

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

Второй этап решения задачи на машине — п р о г р а м м и р о ­ в а н и е в широком смысле, как правило, выполняется работником вычислительного центра (ВЦ) и включает в общем случае следую­ щие элементы: выбор численного метода, алгоритмизацию, собст­ венно программирование (в дальнейшем называемое просто про­ граммированием), отладку и решение задачи на машине.

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

2 *

19



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

Алгоритмизация задачи или составление машинного алгоритма,, т. е. сведение ее к выполнению определенной последовательности простейших арифметических и логических операций, — следующий ответственный элемент решения задачи на машине. От специалиста, разрабатывающего машинный алгоритм, требуется знание всех особенностей устройства машины, владение всеми методами про­ граммирования рассматриваемого класса задач, знание методов численного анализа и, наконец, необходимые познания в области той специальности, к которой относится подготавливаемая к ре­ шению на машине задача. Последнее требование особенно важно потому, что при отладке задачи специалист должен принимать ре­ шения по результатам промежуточных вычислений и судить о до­ стоверности получаемых при этом выходных данных. Таким обра­ зом, алгоритмизация задачи — это серьезный творческий процесс, требующий напряженных усилий со стороны научных работников ВЦ, объединяющих в своем лице квалифицированных математиков, программистов и специалистов той области знаний, к которой от­ носится алгоритмизируемая задача. Если некоторые проблемы еще не решаются на машине или решаются в недостаточном объеме, то объясняется это прежде всего тем, что еще не разработан ее ма­ шинный алгоритм. После составления такого алгоритма принципи­ альная сторона машинного метода решения проблемы может счи­ таться законченной.

Существуют различные способы описания алгоритмов, отличаю­ щиеся разной степенью детализации и приближения к машинному языку. Применяя в дальнейшем блок-схемную и операторную фор­ мы, целесообразно обратить внимание читателя также на получив­ ший в последнее время распространение алгоритмический язык АЛГОЛ-60 (1], наиболее близкий к обычной математической симво­ лике, применяемой при ручном счете и поэтому имеющий большую перспективу.

Программирование задачи — это составление системы команд, выполнение которых предусматривается в заранее определенном порядке, в полном соответствии с математической формулировкой и машинным алгоритмом.

Для программирования задачи необходимы все расчетные фор­ мулы и логические условия с входящими в них параметрами, под-

20


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

От программиста в работе требуется большая аккуратность, внимательность и способность к математическому мышлению. Ка­ чество и продолжительность разработки программы для ЭЦВМ во многом зависят от уровня подготовки и опытности программиста.

Не останавливаясь более подробно на вопросах программиро­ вания, укажем, что более или менее сложные задачи программиру­ ют сначала в условных адресах, так как при программировании еще неизвестно, сколько адресов (или ячеек) потребуется для раз­ мещения программы и числового материала. Например, начальные адреса для различных массивов обозначают следующими буквами: а + ° ) .... программа; в + о ) .... исходные данные; с + о ).... ре­ зультаты промежуточных вычислений; d —|—о) выходные данные и т. д. После окончания программирования и тщательной ее про­ верки (отладки на бумаге) программе присваивают действитель­ ные адреса.

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

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

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

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

Анализ полученных результатов является завершающим этапом решения задач с применением ЭЦВМ. Следует предупредить чита­ теля, что необходимо стремиться к выдаче минимально необходи­ мого количества выходных данных, ибо в противном случае их ана­ лиз может занять слишком много времени.

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

21