Программирование цикла. Алгоритм Евклида

Содержание

Слайд 2

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

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

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

НОД

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

Слайд 3

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

Дано: M и N
Найти: НОД(M,N)

НОД

АЛГОРИТМ ЕВКЛИДА:
Если два числа равны,

Постановка задачи: Дано: M и N Найти: НОД(M,N) НОД АЛГОРИТМ ЕВКЛИДА: Если

то ответ любое из них
иначе перейти к 2)
2) Заменить большее число разностью
большего и меньшего из чисел
3) Вернуться к 1)

Слайд 4

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

Н А Ч А Л О

Ввод M и

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

M ≠ N

N=N-M

M=M-N

M > N

нет

да

да

нет

Вывод M

К О Н Е Ц

Слайд 5

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

Н А Ч А Л О

Ввод M и

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

M ≠ N

N=N-M

M=M-N

M > N

нет

да

да

нет

Вывод M

К О Н Е Ц

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

Слайд 6

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

Н А Ч А Л О

Ввод M и

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

M ≠ N

N=N-M

M=M-N

M > N

нет

да

да

нет

Вывод M

К О Н Е Ц

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

Слайд 7

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

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

Слайд 8

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

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

Слайд 9

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

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

Слайд 10

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

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

Слайд 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

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

Н А Ч А Л О

Ввод M и

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

M ≠ N

N=N-M

M=M-N

M > N

нет

да

да

нет

Вывод M

К О Н Е Ц

Слайд 33

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

Program Evklid;
var m,n:integer;
Begin
writeln(‘Введите m и n’);
readln (m,n);
while m<>n

Программа на Паскале Program Evklid; var m,n:integer; Begin writeln(‘Введите m и n’);
do
begin
If m>n
then m:=m-n
else n:=n-m
end;
write (‘НОД=‘,m);
end.

Слайд 34

Отладка и тестирование задачи на ПК:

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

Отладка и тестирование задачи на ПК: Выполнить на ПК программу. Протестировать ее
на значениях
1) M= 32
N=24
2) M= 696
N=234

Слайд 35

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

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

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