Алгоритм Евклида

Содержание

Слайд 2

Алгоритм Евклида ЕВКЛИД - древнегреческий математик. Работал в Александрии в 3

Алгоритм Евклида

ЕВКЛИД - древнегреческий математик. Работал в Александрии в 3

в. до н. э. Евклид оказал огромное влияние на развитие математики. Главный труд - «Начала» (состоит из 15 книг) -содержит основы античной математики, элементарной геометрии, теории чисел, общей теории отношений и методы определения площадей и объемов. Евклиду принадлежат также работы по астрономии, оптике, теории музыки.
Слайд 3

Постановка задачи: Требуется составить программу определения наибольшего общего делителя (НОД) двух

Постановка задачи:

Требуется составить программу определения наибольшего общего делителя (НОД) двух

натуральных чисел

НОД двух натуральных чисел - это самое большое натуральное число, на которое они делятся нацело
Например: НОД (12, 18) = 6

Слайд 4

12 2 18 2 6 2 9 3 3 3 3


12 2 18 2
6 2 9 3

3 3 3 3
1 1

НОД (12, 18) = 2 · 3 = 6

Алгоритм нахождения НОД

Слайд 5

Алгоритм нахождения НОД Разложить числа на простые множители. Найти общие множители. Найти их произведение.

Алгоритм нахождения НОД

Разложить числа на простые множители.
Найти общие множители.
Найти их произведение.

Слайд 6

Алгоритм Евклида Идея алгоритма основана на двух свойствах: 1. Если M>N,

Алгоритм Евклида


Идея алгоритма основана на двух свойствах:
1. Если M>N,

то
НОД (M, N) = НОД (M-N, N)
2. НОД (M, M) = M
НОД (12, 18) = НОД (12, 18-12) = НОД (12, 6) =
= НОД (12-6, 6) = НОД (6, 6) = 6
Слайд 7

Алгоритм Евклида Если числа равны, то взять любое из них в

Алгоритм Евклида

Если числа равны, то взять любое из них в качестве

ответа, в противном случае продолжить выполнение алгоритма.
Заменить большее число разностью большего и меньшего из чисел.
Вернуться к выполнению п. 1.
Слайд 8

Блок-схема алгоритма Евклида Н А Ч А Л О Ввод M

Блок-схема алгоритма Евклида

Н А Ч А Л О

Ввод M

и N

M ≠ N

N:=N-M

M:=M-N

M > N

нет

да

да

нет

Вывод M

К О Н Е Ц

Слайд 9

Структура алгоритма Евклида Н А Ч А Л О Ввод M

Структура алгоритма Евклида

Н А Ч А Л О

Ввод M

и N

M ≠ N

N:=N-M

M:=M-N

M > N

нет

да

да

нет

Вывод M

К О Н Е Ц

Цикл-пока
Повторяет выполнение, пока значения M и N не равны друг другу

Слайд 10

Структура алгоритма Евклида Н А Ч А Л О Ввод M

Структура алгоритма Евклида

Н А Ч А Л О

Ввод M

и N

M ≠ N

N:=N-M

M:=M-N

M > N

нет

да

да

нет

Вывод M

К О Н Е Ц

Вложенное ветвление
Заменяет большее из двух значений на их разность

Слайд 11

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 12

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 13

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 14

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 15

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 16

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 17

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 18

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 19

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 20

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 21

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 22

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 23

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 24

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 25

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 26

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 27

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 28

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 29

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 30

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 31

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 32

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 33

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 34

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 35

Трассировочная таблица алгоритма Евклида М=32, N=24

Трассировочная таблица алгоритма Евклида М=32, N=24

Слайд 36

Блок-схема алгоритма Евклида Н А Ч А Л О Ввод M

Блок-схема алгоритма Евклида

Н А Ч А Л О

Ввод M

и N

M ≠ N

N:=N-M

M:=M-N

M > N

нет

да

да

нет

Вывод M

К О Н Е Ц

Слайд 37

Программа на Паскале Program Evklid; var m, n: integer; begin writeln

Программа на Паскале

Program Evklid;
var m, n: integer;
begin


writeln (’Введите m и n ’);
readln (m, n);
while m<>n do
begin
if m>n
then m:=m-n
else n:=n-m
end;
write (’НОД=’, m)
end.
Слайд 38

Отладка и тестирование Выполнить на компьютере программу. Протестировать ее на значениях:

Отладка и тестирование

Выполнить на компьютере программу.
Протестировать ее на

значениях:
1) M=32, N=24;
2) M=696, N=234
Слайд 39

Постановка задачи: Составить программу нахождения наименьшего общего кратного (НОК) двух чисел,

Постановка задачи:

Составить программу нахождения наименьшего общего кратного (НОК) двух

чисел, используя формулу:
M х N = НОД (M, N) х НОК (M, N)
Слайд 40

Н А Ч А Л О Ввод M и N M

Н А Ч А Л О

Ввод M и N

M

≠ N

N:=N-M

M:=M-N

M > N

нет

да

да

нет

К О Н Е Ц

P:=M*N

HOK=P/M

Вывод НОК