Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AlgStr / Библиотека / методичка Основы алгоритмизации.doc
Скачиваний:
42
Добавлен:
23.03.2015
Размер:
874.54 Кб
Скачать

5.3. Алгоритмы решения уравнений

Пусть задана непрерывная функция • Требуется опре-

делить такое значение > , чтобы f[X) = О • Мы будем считать, что корни уже отделены,т.е. известны-числа а и в такие, что в промежутке [а, 6] существует единственный ко­рень, либо известно значение Хс , достаточно близко располо­женное к корню. Наиболее часто используются методы половинного деления, метод Ньютона, метод простой итерации.

В методе половинного деления промежуток [ й-} о] делится точкой с - (ti i-Ь)/ ¿ на две равные части. Образуется два промежутка [а>С] и 1С, Si в одном из которых находится корень (если f(C) р-0 ). Для следующего шага промежуток уже будет вдвое меньше длины. Выбирается тот промежуток,в котором произ­ведение на концах будет ¿ О .

Таким образом,в алгоритме будут использованы две перемен­ные, которые можно рассматривать как левый и правый конец про­межутка. Для левого конца на разных шагах знак функции будет один и тот же. Таким образом,вычисляется точка с , вычисля­ется fíe) и определяется оС j\u.)-f(C) . Если ОС ? О , то ко­рень находится в промежутке ¿c} 6J , т.е. правый конец оста­ется тот же самый (6) , а левый конец изменится,т.е. теперь ле­вым концом станет С . Если OL <. О , то корень находится на промежутке £■'£■. í J , и следовательно, не изменяется левый ко­нец {&), а изменяется правый (#). После анализа сС мы пришди к той же задаче, но с половинной длиной промежутка. Продолжается цикл до тех пор, пока длина промежутка не станет Ъ . Алгоритм можно записать в виде ;

fx = f(CL)) F¿ jit); „,.í -:c¿\<£l tJ/¿; f*f(c>i *u\f-fi'C),h¿ ; c'-j; f:-*; -&h¿)#4; ó'iу Mft .m¿: * с; Fx •■ ft- éiij ми; **Ц- x~c»

oiid,' x - (U * mf: ...

Метод простой итерации предполагает, что уравнение записа-но в виде^ v - и известно начальное значение Хс - ПодставляяКв а правую часть, получим некоторое значение ki , под'ставицХА в правую часть, получим Жг и т.д. Если известно Хл , товычисляется по формуле x„rí Следует сразу от-

метить, что Mi,Ji2> .■■ ,Х*. не рекомендуется рассматривать как элементы массива, хотя бы потому, что мы не знаем сколько элемек­tob в этом массиве и, как правило, нам нужны не все^л.'г, .. , а то значение, к которому стремится(если стремится) последова­тельность л} при >г—»-<■«. анализ формулы показывает, что по прежнему, старому значению приближения вычисляется новое, более точное, лучшее приближение у .

так как х,*2- i.) т0 ПРИ продолжении процесса "но-

вое" значение на предыдущем шаге станет"старым" для следующего шага.

условие выхода должно предусматривать два случая - схо­димость процесса и его расходимость. если процесс сходится, то для достаточно большого п iXnrL-xn_\ - <£ , т.е. разница между X и У для сходящегося процесса » О й можно остановить­ся, если модуль этой разности будет меньше заданной величины d . для того, чтобы расходящийся процесс обрабатывался данным алго­ритмом (часто до решения трудно определить сходимость), необхо­димо задать условие расходимости. оно обычно задается по количест­ву итераций - если оно больше У0 (например 100), то считается, что процесс расходится.

алгоритм можно записать в виде:j. - х0; i+ij М •' Учу ( ) •Mi i У~ <f(*)',d ; У -к, д -- У, yiiy(iüi ' •■

часто для решения уравнения используется метод ньютона. как и в методе простой итерации в этом методе требуется знание начального, достаточно близкого к искомому корню,приближения Х0 . XL вычисляется по формуле хх io - jM/j"'(-ко), где f*(Xe) -производная от функции /,' ji ) .

если известно хл> то Х„. t вычисляется по формуле

алгоритм метода ньютона получается из алгоритма простой итерациипри 1уХ)~!l- f (х) . рассмотрим пример. пусть исполнитель

не умеет извлекать квадратный корень, как самостоятельную опе­рацию. требуется выразить эту операцию через 4 арифметические операции. X * Си эквивалентно решению уоавнения Хг-й. 'О. применим метод ньютона

-lcn.'i= Хщ * ч£ - ■*■ (Хп~* а-/.!*.).

в качестве Х0 выберем iL прц^&*0 . алгоритм запишем в виде;

X *и:-у; (X* 1/£ )/. ;

у-х; х- у; Упу^оСЛ? і

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

5.4. пример решения задачи 10 спортсменов принимают участие в забеге на 5000 м. из­вестно,что скорость і- -го спортсмена в момент Ь зависит от его начальной скорости V?*и степени его физической подготовки

и Определяется по йоэмуле ... ¿0) -А-У-^УТ

требуется составить прогноз распределения мест не финише.

обозначим через 1£ время преодоления дистанции і-ым спорт­сменом. 7порядочим числе в порядке возростанияэтом случае с какдым ^связывается определенный номер К , который является ис­комой величиной. таким образом, определиз уиелвь£,мы сведем нашу задачу к упорядочению чисел.

пусть і)-расстояние, пройденное і -)Ш спортсменом за время І , тогда числа ііявляются корнймй уравнений 5^ (^) '5000следовательно,определение ^ при известной функции сведено к решению трансцендентного урамнения.для его решения мы можем при­менить один из описанных выше методов.т.к. мн находим значение ¿¿ приближенно,будем считать,что погрешность не должна превышать' о.оісек. при использовании метода.половинного деления необходимо Зі -ние интервала,содержащего корень. нижней границей такого интер­вала можно взять число С, а верхней- число ЗбОС, т.к. за это время дистанция будет преодолена любим спортсменом, дл- определения 5^(0 вспомним,что

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

106 чаете»! и интеграл рассматривать как сумму 100 слагаемых.

в качестве исходных данных выступает массив А , содержащий 10чисел,определяющих .

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

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

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

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

1. Гурова Л.И. Основы программирования,-М. :Статистика,1976.-

318с.

  1. К р и н и ц к и й H.A., Миронов Г.А., Фролов Г.Д. Программирование и алгоритмические языки.-М. :Наука,1975..-ч90с.

  2. Ж оголев Е.А., Трифонов Н.П. Курс программирования.-М.:Наука,1971,-ЗВОс.

СОДЕРЖАНИЕ

1. АНАЛИЗ ЗАДАЧИ 3

  1. Моделирование процесса решения 3

  2. Формализация процесса решения задачи 4

  3. Примеры 7

2. ПОНЯТИЕ АЛГОРИТМА 9

  1. Интуитивное понятие алгоритме 9

  2. Некоторые свойства алгоритмов 10

  3. Пример 13

2.4. Связь интуитивного понятия алгоритма и строгогоопределения алгоритма 15

3. СПОСОБЫ ИЗОБРАЖЕНИЯ АЛГОРИТМОВ 16

3.1. Связь алгоритма и метода решения задачи 16

  1. 3.2. Общая структура оператора и набор основныхоператоров Формульнс—словесный способ записи алгоритмов 21

  2. Операторные схемы записи алгоритмов 22

  3. Блок-схема - рабочий инструмент программиста 24

4. ОСНОВНЫЕ СТРУКТУРНЫЕ ЭЛЕМЕНТЫ АЛГОРИТМОВ 29

  1. Линейные и ветвящиеся участки алгоритма 29

  2. Общая структура циклического процесса 31

  3. Вида циклов 17

34

5. ОСНОВНЫЕ ВЫЧИСЛИТЕЛЬЯНЕ АЛГОРИТМЫ 36

  1. Алгоритмы обработки массивов 36

  2. Вычисление функций 39

  3. Алгоритмы решения уравнений 43

  4. Пример реяения задачи 45 Список рекомендуемой литературы 46

ОСНОВЫ АЛГОРИТМИЗАЦИИ

Методические указания по курсу

" ПРАКТИКУМ НА Э В М "

Состз жители: доц. И.Г.ГУБАРЬ, вссист В.Н.2ШЮВ

Редактор З.В.Иванова Техрг актор Н.Р.Алексеева

Формат 60x34 1/16. Бумага типографская # 2. Печать плеская. Усл.печ.л. 2,01. Уч.-изд.л. 2,01, Заказ * 45 Тираж 500 экз. Цена 45 к.

редакЦионно-издательский отдел ЛГУ, г. Глепропетровск, пр. Гагарина, 72.

Ротапринт ЛГУ, г. Днепропетровск, ул. Генерале Пушкин?, 4

Соседние файлы в папке Библиотека