3
Вычисление НОД
НОД = наибольший общий делитель двух натуральных чисел – это наибольшее число, на которое оба исходных числа делятся без остатка.
Перебор:
Записать в переменную k минимальное из двух чисел.
Если a и b без остатка делятся на k, то стоп.
Уменьшить k на 1.
Перейти к шагу 2.
это цикл с условием!
7
Модифицированный алгоритм Евклида
НОД(a,b)= НОД(a mod b, b)
= НОД(a, b mod a)
Заменяем большее из двух чисел остатком от деления большего на меньшее до тех пор, пока меньшее не станет равно нулю. Тогда большее — это НОД.
НОД (14, 21) = НОД (14, 7) = НОД (0, 7) = 7
Пример:
Еще один вариант:
НОД(2·a,2·b)= 2·НОД(a, b)
НОД(2·a,b)= НОД(a, b) // при нечетном b
8
Задания
«4»: Составить программу для вычисления НОД и заполнить таблицу:
«5»: То же самое, но сравнить для всех пар число шагов обычного и модифицированного алгоритмов (добавить в таблицу еще две строчки).
N | 64168 | 358853 | 6365133 | 17905514 | 549868978 |
M | 82678 | 691042 | 11494962 | 23108855 | 298294835 |
НОД(N,M) |
10
Методы решения уравнений
f (x) = 0
Точные (аналитические)
Приближенные
графические
численные(методы последовательного приближения):
по графику найти интервал [a, b], в котором находится x* (или одно начальное приближение x0)
по некоторому алгоритму уточнить решение, сужая интервал, в котором находится x*
повторять шаг 2, пока не достигнута требуемая точность:
b – a <
11
Численные методы
Применение: используются тогда, когда точное (аналитическое) решение неизвестно или очень трудоемко.
дают хотя бы какое-то решение
во многих случаях можно оценить ошибку и найти решение с заданной точностью
решение всегда приближенное, неточное
12
Метод прямого перебора
Задача: найти решение уравнения f (x) = 0 на интервале [a, b] с заданной точностью (чтобы найденное решение отличалось от истинного не более, чем на ).
Алгоритм:
разбить интервал [a, b] на полосы шириной
найти полосу [a*, b*], в которой находится x*
решение – a* или b*
14
Метод прямого перебора
eps := 0.001; { точность решения }
x := a;
ответ := x;
пока f(x)*f(x+eps) > 0 делай
x := x + eps; { к следующему интервалу}
конец
eps := 0.001; { точность решения }
x := a;
x := x + eps/2;
while f(x)*f(x+eps) > 0 do begin
x := x + eps; { к следующему интервалу}
end;
18
Метод дихотомии (деления пополам)
простота
можно получить решение с любой заданной точностью
нужно знать интервал [a, b]
на интервале [a, b] должно быть только одно решение
большое число шагов для достижения высокой точности
только для функций одной переменной
20
Задания
«4»: Найти все решения уравнения на интервале [-5,5] методом дихотомии и вывести их на экран.
«5»: Сделать задачу на «4» и сравнить число шагов цикла при использовании метода перебора и метода дихотомии.
21
Решение уравнений в Exсel
Задача: найти все решения уравнения на интервале [-5,5]
Методы решения уравнений:
аналитические: решение в виде формулы
численные: приближенное решение, число
выбрать начальное приближение «рядом» с решением
по некоторому алгоритму вычисляют первое приближение, затем – второе и т.д.
вычисления прекращают, когда значение меняется очень мало (метод сходится)
© ООО «Знанио»
С вами с 2009 года.