Файл: Бакиров Р.О. Применение современных электронных вычислительных машин при расчете и проектировании конструкций инженерных сооружений учебное пособие.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