Надежная программа - Большая Энциклопедия Нефти и Газа, статья, страница 3
"Человечество существует тысячи лет, и ничего нового между мужчиной и женщиной произойти уже не может." (Оскар Уайлд) Законы Мерфи (еще...)

Надежная программа

Cтраница 3


Не всегда обратную задачу кинематики удается решить аналитически. При численном решении используется ЭВМ, что требуют программы численного решения системы трансцендентных уравнений. Однако универсальную и в то же время надежную программу такого типа разработать трудно. В данном параграфе дается простейший алгоритм численного решения системы трансцендентных уравнений.  [31]

Лауреатом Тьюринговской премии 1972 г. Эдсгер Дейкстра, который в то время был, пожалуй, наиболее известен своим письмом редактору журнала Communications of the ACM, в котором он подверг резкой критике оператор GOTO как приглашение сделать из Вашей программы нечто совершенно невразумительное. Дейкстра делает ретроспективный анализ важнейших тем своей работы. Отметив значение систем EDSAC, языков Фортран, Алгол и Лисп, а также охарактеризовав полный язык PL / I как потенциально смертельное заболевание, он выдвигает как главную проблему создание надежного программного обеспечения. Дейкстра развивает важную мысль о том, что ключом к созданию надежных программ является стремление избегать ошибок с самого начала, а не устранение их после того, как программа уже написана. Он доказывает, что безошибочное программирование и экономически важно, и технически осуществимо. Эта осуществимость может быть достигнута как результат ограничения интеллектуально постижимыми программами, Экономические доводы ныне хорошо известны.  [32]

При искажении вычислительного процесса или данных задача состоит в максимально быстром обнаружении искажения, в возможно точной классификации типа уже имеющихся и возможных последствий искажения, а также в проведении мероприятий, обеспечивающих быстрое восстановление нормального функционирования КП. Неизбежность ошибок в сложных КП, искажений исходных данных и аппаратных сбоев приводит к необходимости регулярной проверки процесса исполнения программ и сохранности данных. В процессе проектирования недостаточно создать правильные программы, выдающие верные результаты при идеальных исходных данных и абсолютном отсутствии любых возмущений. Требуется разрабатывать надежные программы, устойчивые к различным возмущениям и способные сохранять достаточное качество выходных результатов в реальных условиях функционирования. В любых ситуациях прежде всего должны исключаться катастрофические последствия и длительные отказы или в максимальной степени смягчаться их влияние на результаты, выдаваемые пользователю.  [33]

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

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

Завершив чтение этой главы, читатель ознакомится с большинством основных элементов Модулы-2. Материал остальных частей книги, несомненно, важен, но средства языка, представленные в первых нескольких главах, будут необходимы для составления большой части текста обычных программ. Не описана только одна действительно важная часть языка Модула-2 - ввод-вывод. Дополнительные языковые средства, описанные во второй половине этой книги, позволят эффективно разрабатывать большие, сложные и надежные программы.  [36]

Класс TDrawingCommand определяет переменные, используемые каждым типом команд рисования. TDrawingCommand и реализуют собственные методы рисования. Массив Commands в основной программе хранит до 1000 объектов TDrawingCommand. Они представлены полиморфно как объекты TDrawingCommand, но в действительности каждый из них является образцом одного из конкретных классов рисования формы. Эта программа использует простой массив с 1000 записями, чтобы хранить команды рисования. Более надежная программа строится на основе связанного списка или массива изменяемого размера, сохраняющего любое число команд.  [37]



Страницы:      1    2    3