Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Топ:
Оснащения врачебно-сестринской бригады.
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2017-11-16 | 296 |
5.00
из
|
Заказать работу |
Рис. 4.5 - Метод Ньютона I (BASIC): цикл с выходом из середины
На рис. 4.5 приведена BASIC-программа поиска корня алгебраического уравнения методом Ньютона (касательных). Почему мы начали с языка BASIC, ведь этюд посвящен языку программирования Mathcad? Дело в том, что язык BASIC кроме традиционной тройки циклов (цикл с предпроверкой, цикл с постпроверкой, цикл с параметром) имеет и универсальный цикл с выходом из середины: Do [...] If... Then [...] Exit Do [...] Loop. Эта конструкция наряду с другими преимуществами, о которых будет сказано ниже, позволяет реализовывать алгоритмы в их естественной последовательности. Так, в программе на рис. 6.8 объявляются функции пользователя (анализируемое уравнение y и его производная dy), запрашивается значение начального приближения к корню x и задается значение погрешности TOL. После этого организуется цикл, но не традиционный, а с выходом из середины. В цикле, следуя естественному порядку алгоритма Ньютона, рассчитывается новое приближение к корню (x1), и если оно отстает от предыдущего не более чем на величину заданной погрешности, то (Then) задача считается решенной (Exit Do). Если нет, то ведется подготовка к новому приближению (x = x1), а цикл повторяется (Loop).
При реализации на языке Mathcad этот несложный алгоритм обрастает «архитектурными излишествами», так как его приходится реализовывать функцией и «запихивать» в прокрустово ложе цикла while – см. рис. 4.6.
Цикл с предпроверкой (цикл while) требует, чтобы булево выражение заголовка было определено еще до входа в цикл. А этого нет при поиске корня методом Ньютона. Приходится до входа (и для входа) в цикл писать x1 ←x + 2 × TOL. Подобным образом лгут детям (а машина тоже в каком-то смысле дитя), заставляя их что-то делать. Строку x1 ←x + 2 × TOL можно уподобить стартеру двигателя внутреннего сгорания, работающего, кстати, как и программа на рис. 4.6, циклически. Вот какими аллегориями (дитя, двигатель) обросла наша простенькая программа из-за того, что в языке Mathcad нет цикла с выходом из середины. На рис. 4.6 можно отметить и другую ненатуральность программы – постановку телеги впереди лошади: в цикле сначала приходится готовиться к новому приближению (x1 ←x), хотя еще не ясно, понадобится оно или нет, а только потом проводить его.
Операторы break, continue и return, введенные в Mathcad, призваны вернуть программе на рис. 4.6 ее естественность, но...
Рис. 4.7 - Метод Ньютона III: имитация цикла с выходом из середины
Оператор continue отличается от оператора break тем, что передает управление не в хвост, а в гриву (начало) цикла.
Остается рассказать о последней кнопке на панели программирования Mathcad 8 Pro. Нажатие на нее приводит к появлению на дисплее заготовки инфиксного оператора обработки ошибок с двумя операндами:
Суть оператора проста: если при выполнении правого операнда возникнет ошибка, то выполняется левый операнд. Этот оператор позволяет реализовывать в Mathcad-программах метод проб и ошибок.
Здесь графически решается неравенство: функция f(x) возвращает нуль не только тогда, когда логарифм меньше единицы, но и тогда, когда делается попытка взятия логарифма от неположительного числа. Можно, конечно, решить квадратное уравнение и обойти ошибку функцией или оператором if.
Контрольные вопросы:
1. Знать основные компоненты Математического пакета Mathcad
2. Дать описание всем инструментам, находящимся на панели «Программирование», уметь их практически использовать.
Задание:
1. Задание на закрепление пройденного: сделать программу на рис. 4.3 рекуррентной, а на рис. 4.4 – рекурсивной.
2. Задания 1 выполнить в среде математического пакета Mathcad.
ЛАБОРАТОРНАЯ РАБОТА №5
Тема: Программа сканирования и распознования текстов FineReader.
Цель работы: Ознакомление с принципом работы програм сканирования текста, а также приобретение навыков работы с программой FineReader.
Введение
Все мы вводим тексты в компьютер. Это могут быть газетные вырезки, журнальные статьи, прошлогодние договоры, деловые письма, факсы, прайс - листы, биржевые сводки, анкеты... Подсчитано, что более 90% современных документов поступает к нам на бумаге. Десятилетия люди знали только один способ ввода печатных документов в компьютер - с клавиатуры. Помните часы, которые Вы просиживали за компьютером, перепечатывая текст длиной в вечность? А как бы нам всем хотелось, чтобы компьютер научился читать сам прямо с бумажного листа!
Программа оптического распознавания текстов (по-английски OCR – Optical Character Recognition) FineReader позволит Вашему компьютеру и сканеру самостоятельно читать печатные тексты.
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!