ПОИСК Статьи Рисунки Таблицы Алгоритмизация математического описания элемента . Отладка программы из "Основы построения операционных систем в химической технологии" Алгоритмизация математического описания элемента. После составления математического описания и выбора соответствующих начальных и граничных условий необходимо довести задачу до логического конца — выбрать метод решения и составить программу. Этот этап хотя и трудоемкий, но в большей степени, чем любой другой, поддается формализации и на ЭВМ с развитым математическим обеспечением для ряда типовых задач может выполняться автоматически. Рассмотрим подробнее задачи, решаемые на этом этапе. [c.23] Выбор численного метода. При выборе метода для решения уравнений математического описания обычно ставится задача обеспечения максимального быстродействия при минимуме занимаемой программой памяти. Естественно, при этом должна обеспечиваться заданная точность решения. [c.23] Большинство методов являются итерационными. Это означает, что решение получается как предел некоторой последовательности приближений. Если эта последовательность приближений некоторым образом стремится к пределу, то процесс называется сходящимся, а если нет — то расходящимся. [c.23] Использование итерационных методов отвечает требованию минимизации занимаемой памяти ЭВМ, так как последовательные приближения выполняются по одним и тем же формулам, но с различными цифровыми данными. Аналогичный порядок вычислений и при применении рекуррентных соотношений. [c.23] Сложнее вопрос о быстродействии для итерационных методов. Во-первых, сходимость метода обеспечивается при выполнении определенных для каждого метода условий. Например, при решении уравнения /(Г) =0 по формуле (1-24) процесс будет сходящимся, если / (Г ) 1. Во-вторых, количество итераций, которое необходимо выполнить для получения решения, зависит от начального приближения и требуемой точности. Чем ближе начальное приближение к истинному решению, тем быстрее оно будет достигнуто. Более того, от начального приближения зависит вообще возможность получения решения. В связи с этим одной из сложных проблем при использовании итерационных методов является обеспечение сходимости решения в широком диапазоне изменения начальных условий и параметров процесса. Решению этой проблемы уделяется основное внимание при разработке универсальных моделирующих алгоритмов. [c.24] Прежде чем выбрать тот или иной численный метод, необходимо проанализировать ограничения, связанные с его использованием, например подвергнуть функцию или систему уравнений аналитическому исследованию, в результате которого выявляется возможность использования данного метода. При этом весьма часто исходная функция или система уравнений должна быть соответствующим образом преобразована с тем, чтобы можно было эффективно применить численный метод. Преобразованием или введением новых функциональных зависимостей часто удается значительно упростить задачу. Такое упрощение преобразованием иллюстрируется на примере 1. [c.24] ЭВМ оперирует с числовыми данными конечной длины, например полуслово, слово, двойное слово. Число, выходяш ее за пределы отведенной для него длины, округляется. Округление производится и при выполнении арифметических операций. Тем самым в процессе вычислений неизбежно вносится погрешность, обусловленная округлением. Насколько это существенно, рассмотрим следующий пример. [c.25] Отсюда Хз = 0,666... или после округления 0,667. Обратной подстановкой имеем, что х = 0,000. [c.25] Отсюда можно сделать вывод о том, что, во-первых, погрешности округления могут привести к совершенно неверному результату, и, во-вторых, их влияние можно свести к минимуму соответствующей организацией последовательности вычислений. [c.25] Составление алгоритма решения. После выбора численного метода желательно составить четкое описание последовательности вычислительных и логических действий, обеспечивающих решение, т. е. составить алгоритм решения задачи. [c.25] Основными требованиями к форме и содержанию записи алгоритма являются его наглядность, компактность и выразительность. В практике математического обеспечения вычислительных машин широкое распространение получил графический способ описания алгоритмов. [c.25] На блок-схемах внутри графических символов записываются словесно или символьно производимые действия. Если необходимы более подробные разъяснения относительно выполняемых действий, то можно воспользоваться символом комментарий, аннотация . [c.27] Степень детализации алгоритма в виде блок-схемы зависит от его сложности, от математического обеспечения ЭВМ и от степени использования стандартных алгоритмов. Если, например, в программе применяется подпрограмма из библиотеки, то ее, очевидно, нет необходимости детализировать, а достаточно лишь указать основные характеристики (наименование, список параметров и т. д.) и сопроводить ссылкой на первоисточник. [c.27] Для решения уравнения (1-9) используется формула метода касательных и приведено словесное описание алгоритма. Описание этого алгоритма в виде укрупненной блок-схемы представлено на рис. 1.6. [c.27] Из уравнения (1-9) следует, что для вычисления f (Ti) необходимо выполнять неоднократное суммирование величин, помеченных индексами. Операции суммирования в данном случае реализуются с помощью циклических процессов или циклов. На рисунке 1.6 они не приведены. [c.27] Более детальная блок-схема расчета коэффициентов активности по уравнениям NRTL приведена на рис. 1.7. Заметим, что эта блок-схема полностью соответствует программе, записанной на таких языках программирования, как Алгол-60, Фортран, ПЛ/1. Каждому из циклов в программе соответствует оператор цикла, а другие действия выполняются операторами присваивания. [c.27] Выбор языка программирования. Языком программирования называют определенный набор символов и правил, предназначенных для записи осмысленных сообщений. Как и любой язык. [c.27] Каждая ЭВМ имеет собственный язык — систему команд. Машина может выполнять програмлш, записанные только на этом языке. Однако применение его для составления программ связано с большими затратами труда программиста вследствие чрезмерной детализации программы, поскольку каждая команда предназначена для выполнения одной элементарной операции типа сложение, умножение и т. п. Поэтому на современных вычислительных машинах составление пакетов прикладных программ ведется на более развитых языках программирования. Их применение позволяет получать более простую запись алгоритма, чем запись на машинном языке, и возложить обязанности по составлению программы в командах на саму машину. [c.28] В настоящее время насчитывается несколько сотен языков программирования и число их растет с появлением новых вычислительных средств и систем программирования. Все это разнообразие языков удобно классифицировать по степени зависимости от машины. [c.28] Классификация по этому признаку приведена на рис. 1.8 [8]. [c.28] Вернуться к основной статье