Программирование цикла. Алгоритм Евклида. Цель урока: освоить программирование циклов с предусловием на примере Алгоритма Евклида. Мостовая Елена Евгеньевна,

Презентация:



Advertisements
Похожие презентации
АЛГОРИТМ ЕВКЛИДА. Алгоритм Евклида - это алгоритм нахождения наибольшего общего делителя (НОД) двух целых неотрицательных чисел. Евклид ( до. н.
Advertisements

Алгоритм Евклида. Наибольший общий делитель Требуется составить программу определения наибольшего общего делителя ( НОД ) двух натуральных чисел. НОД.
Алгоритм Евклида Составила: Антонова Е.П. 2009г..
Программирование циклических алгоритмов на Паскале Программное управление работой компьютера Домашнее задание: §39, §40.
АЛГОРИТМ ЕВКЛИДА (нахождение наибольшего общего делителя (НОД) двух натуральных чисел)
Задача: даны два числа, найти их наибольший общий делитель.
Задача: даны два числа, найти их наибольший общий делитель.
Тема:Программирование цикла на Паскале На дом: §39-40.
Программирование циклов Паскаль. 9 класс Криворотова Л.Н. МОУ"Гимназия 5", г.Тырныауз.
Форми представлення алгоритмів. Базові фрагменти схеми алгоритму.
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
Алгоритм Евклида. Два варианта решения Программирование. Сочетание циклов и ветвлений. 9 класс Евклид Александрийский ( род. 330 г. до н. э.) - известный.
Циклические программы Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
Алгоритмы работы с величинами Компьютер + система программирования исполнитель Данные Величина ЧисловаяСимвольная Логическая Система команд Переменные.
Вложенные циклы Бородина Т.А., учитель информатики ГБОУ СОШ 3 г. Сызрани Самарской области.
Цикл с параметром Искандарова А.Р. учитель информатики МБОУ СОШ 18 г. Уфа.
Алгоритмические структуры Решение задач Искандарова А.Р. учитель информатики МБОУ СОШ 18 г.Уфа.
Алгоритмические структуры 1.Линейный 2.Ветвление 3.Цикл.
Сравниваем циклы, или…. Андрей Петрович Ершов … Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению.
Циклические программы Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
Транксрипт:

Программирование цикла. Алгоритм Евклида. Цель урока: освоить программирование циклов с предусловием на примере Алгоритма Евклида. Мостовая Елена Евгеньевна, учитель информатики, ГБОУ СОШ 1370, г. Москва

Алгоритм Евклида ЕВКЛИД, древнегреческий математик. Работал в Александрии в 3 в. до н. э. Главный труд «Начала» (15 книг), содержащий основы античной математики, элементарной геометрии, теории чисел, общей теории отношений и метода определения площадей и объемов, включавшего элементы теории пределов, оказал огромное влияние на развитие математики. Работы по астрономии, оптике, теории музыки.

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

Постановка задачи: Дано: M и N Найти: НОД(M,N) НОД АЛГОРИТМ ЕВКЛИДА: 1)Если два числа равны, то то ответ любое из них иначе перейти к 2) 2) Заменить большее число разностью большего и меньшего из чисел 3) Вернуться к 1)

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

Структура алгоритма Евклида Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц Цикл-пока Повторяет выполнение, пока значения M и N не равны друг другу

Структура алгоритма Евклида Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц Вложенное ветвление Заменяет большее из двух значений на их разность

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да 10 M N8 16, нет

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да 10 M N8 16, нет

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да 10 M N8 16, нет 11N=N-M

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да 10 M N8 16, нет 11N=N-M

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да 10 M N8 16, нет 11N=N-M88 12 M N8 8 нет 13 14

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да 10 M N8 16, нет 11N=N-M88 12 M N8 8 нет 13 14

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да 10 M N8 16, нет 11N=N-M88 12 M N8 8 нет 13Вывод М8 14

Трассировочная таблица алгоритма Евклида М=32, N=24 Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц шагоперацияMNусловие 1Ввод М32 2Ввод N M N32 24, да 4 M N32 24, да 5M=M-N824 6 M N8 24, да 7 M N8 24, нет 8N=N-M816 9 M N8 16, да 10 M N8 16, нет 11N=N-M88 12 M N8 8 нет 13Вывод М8 14 конец

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

Программа на Паскале 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. Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет Вывод M К О Н Е Ц

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

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

Н А Ч А Л О Ввод M и N M N N=N-MM=M-N M N нет да нет К О Н Е Ц P=M*N HOK=P/M Вывод НОК

Источники материала: «Информатика и ИКТ- 9» учебник И.Г.Семакин. Л.А. Залогова. С.В. Русаков. Л.В. Шестакова, М: Бином, 2012 г.