|
|
(10 промежуточных версий не показаны.) | Строка 1: |
Строка 1: |
| + | <metakeywords>Информатика, класc, урок, на тему, 9 класc, Алгоритм Евклида, блок-схема, алгоритм, Ветвление</metakeywords> |
| + | |
| '''[[Гипермаркет знаний - первый в мире!|Гипермаркет знаний]]>>[[Информатика|Информатика]]>>[[Информатика 9 класс|Информатика 9 класс]]>>Информатика: Алгоритм Евклида''' | | '''[[Гипермаркет знаний - первый в мире!|Гипермаркет знаний]]>>[[Информатика|Информатика]]>>[[Информатика 9 класс|Информатика 9 класс]]>>Информатика: Алгоритм Евклида''' |
| | | |
- | <br> | + | <br> <br> |
| | | |
- | <metakeywords>Информатика, класc, урок, на тему, 9 класc, Алгоритм Евклида.</metakeywords>АЛГОРИТМ ЕВКЛИДА
| + | '''§ 40. Алгоритм Евклида''' |
| | | |
- | <br>
| + | Основные темы параграфа: |
| | | |
- | <u>§ 40. Алгоритм Евклида</u> | + | ♦ наибольший общий делитель; <br>♦ идея алгоритма Евклида; <br>♦ описание алгоритма Евклида '''[[Цикли. Блок–схеми алгоритмів з циклами|блок-схемой]]'''; <br>♦ программа на AЯ и на Паскале. |
| | | |
- | Основные темы параграфа:
| + | <br> |
- | | + | |
- | ♦ наибольший общий делитель; <br>♦ идея алгоритма Евклида; <br>♦ описание алгоритма Евклида блок-схемой; <br>♦ программа на AЯ и на Паскале.
| + | |
| | | |
- | ''Наибольший общий делитель'' | + | '''Наибольший общий делитель''' |
| | | |
- | Рассмотрим следующую задачу: требуется составить программу определения наибольшего общего делителя (НОД) двух натуральных чисел. | + | Рассмотрим следующую задачу: требуется составить [http://xvatit.com/it/fishki-ot-itshki/ '''программу'''] определения наибольшего общего делителя (НОД) двух натуральных чисел. |
| | | |
| Вспомним математику. Наибольший общий делитель двух натуральных чисел — это самое большое натуральное число, на которое они делятся нацело. Например, у чисел 12 и 18 имеются общие делители: 2, 3, 6. Наибольшим общим делителем является число 6. Это записывается так: | | Вспомним математику. Наибольший общий делитель двух натуральных чисел — это самое большое натуральное число, на которое они делятся нацело. Например, у чисел 12 и 18 имеются общие делители: 2, 3, 6. Наибольшим общим делителем является число 6. Это записывается так: |
Строка 27: |
Строка 27: |
| В данном случае какой-то дополнительной математической формализации не требуется. Сама постановка задачи носит формальный математический характер. Не существует формулы для вычисления НОД(М, N) по значениям М и N. Но зато достаточно давно, задолго до появления ЭВМ, был известен алгоритмический способ решения этой задачи. Называется он алгоритмом Евклида. | | В данном случае какой-то дополнительной математической формализации не требуется. Сама постановка задачи носит формальный математический характер. Не существует формулы для вычисления НОД(М, N) по значениям М и N. Но зато достаточно давно, задолго до появления ЭВМ, был известен алгоритмический способ решения этой задачи. Называется он алгоритмом Евклида. |
| | | |
- | ''Идея алгоритма Евклида'' | + | <br> |
| + | |
| + | '''Идея алгоритма Евклида''' |
| | | |
- | Идея этого алгоритма основана на том свойстве, что если М>N, то | + | Идея этого '''[[Циклiчнi алгоритми. Повні уроки|алгоритма]]''' основана на том свойстве, что если М>N, то |
| | | |
| НОД(М, N) = НОД(М – N, N). | | НОД(М, N) = НОД(М – N, N). |
Строка 35: |
Строка 37: |
| Иначе говоря, НОД двух натуральных чисел равен НОД их положительной разности (модуля их разности) и меньшего числа. | | Иначе говоря, НОД двух натуральных чисел равен НОД их положительной разности (модуля их разности) и меньшего числа. |
| | | |
- | Легко доказать это свойство. Пусть К — общий делитель М и N (М > Н). Это значит, что М = mК, N = nК, где m,n — натуральные числа, причем m > n. Тогда М - N = К(m - n), откуда следует, что К — делитель числа М - N. Значит, все общие делители чисел М и N являются делителями их разности М - N в том числе и наибольший общий делитель. | + | Легко доказать это свойство. Пусть К — общий делитель М и N (М > N). Это значит, что М = mК, N = nК, где m,n — натуральные числа, причем m > n. Тогда М - N = К(m - n), откуда следует, что К — делитель числа М - N. Значит, все общие делители чисел М и N являются делителями их разности М - N в том числе и наибольший общий делитель. |
| | | |
| Второе очевидное свойство: | | Второе очевидное свойство: |
Строка 47: |
Строка 49: |
| Рассмотрим этот алгоритм на примере М=32, N=24: | | Рассмотрим этот алгоритм на примере М=32, N=24: |
| | | |
- | {| cellspacing="1" cellpadding="1" border="1" width="250" | + | {| width="250" cellspacing="1" cellpadding="1" border="1" |
| |- | | |- |
| | M | | | M |
Строка 64: |
Строка 66: |
| Получили: НОД(32, 24) = НОД(8, 8) = 8, что верно. | | Получили: НОД(32, 24) = НОД(8, 8) = 8, что верно. |
| | | |
- | ''Описание алгоритма Евклида блок-схемой'' | + | <br> |
| + | |
| + | '''Описание алгоритма Евклида блок-схемой''' |
| | | |
| На рис. 6.8 приведена блок-схема алгоритма Евклида. | | На рис. 6.8 приведена блок-схема алгоритма Евклида. |
| | | |
- | [[Image:Informatika 9 231.jpg]] | + | [[Image:Informatika 9 231 2.jpg|360px|Блок-схема алгоритма Евклида]]<br> |
| | | |
- | Структура алгоритма — цикл-пока с вложенным ветвлением. Цикл повторяется, пока значения М и N не равны друг другу. В ветвлении большее из двух значений заменяется на их разность. | + | Структура алгоритма — цикл-пока с вложенным '''[[Ветвление и последовательная детализация алгоритма|ветвлением]]'''. Цикл повторяется, пока значения М и N не равны друг другу. В ветвлении большее из двух значений заменяется на их разность. |
| | | |
| А теперь посмотрите на трассировочную таблицу алгоритма для исходных значений М = 32, N = 24. | | А теперь посмотрите на трассировочную таблицу алгоритма для исходных значений М = 32, N = 24. |
| | | |
- | {| cellspacing="1" cellpadding="1" border="1" width="500" | + | {| width="500" cellspacing="1" cellpadding="1" border="1" |
| |- | | |- |
| | Шаг | | | Шаг |
Строка 83: |
Строка 87: |
| |- | | |- |
| | 1 | | | 1 |
- | | ввод ''M'' | + | | ввод ''M'' |
| | 32 | | | 32 |
| | | | | |
Строка 89: |
Строка 93: |
| |- | | |- |
| | 2 | | | 2 |
- | | ввод ''N'' | + | | ввод ''N'' |
| | | | | |
| | 24 | | | 24 |
Строка 95: |
Строка 99: |
| |- | | |- |
| | 3 | | | 3 |
- | | ''M''≠''N'' | + | | ''M''≠''N'' |
| | | | | |
| | | | | |
Строка 101: |
Строка 105: |
| |- | | |- |
| | 4 | | | 4 |
- | | ''M''>''N'' | + | | ''M''>''N'' |
| | | | | |
| | | | | |
Строка 122: |
Строка 126: |
| | | | | |
| | | | | |
- | | 8>24, да | + | | 8>24, нет |
| |- | | |- |
| | 8 | | | 8 |
Строка 131: |
Строка 135: |
| |- | | |- |
| | 9 | | | 9 |
- | | ''M''≠''N'' | + | | ''M''≠''N'' |
| | | | | |
| | | | | |
Строка 143: |
Строка 147: |
| |- | | |- |
| | 11 | | | 11 |
- | | ''N'':=''N''-''M'' | + | | ''N'':=''N''-''M'' |
| | | | | |
| | 8 | | | 8 |
Строка 169: |
Строка 173: |
| В итоге получился верный результат. | | В итоге получился верный результат. |
| | | |
- | ''Программа на АЯ и на Паскале''<br><br>Запишем алгоритм на АЯ и программу на Паскале. <br><br>Коротко о главном<br>Алгоритм Евклида предназначен для получения наибольшего общего делителя двух натуральных чисел. Структура алгоритма Евклида — цикл с вложенным ветвлением.<br>Ручная трассировка может использоваться для проверки правильности лишь сравнительно простых алгоритмов. Правильность программ проверяется путем тестирования на компьютере.<br>Вопросы и задания<br>1. Выполните на компьютере программу Еvklid. Протестируйте ее на значениях М= 32, N = 24; М = 696, N = 234.<br>2. Составьте программу нахождения наибольшего общего делите¬ля трех чисел, используя следующую формулу:<br>НОД(А, B, С) = НОД(НОД(A, В), С).<br>3. Составьте программу нахождения наименьшего общего кратно¬го (НОК) двух чисел, используя формулу:<br>А.В = НОД (А, В).HOK(А, В).<br><br> ''И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс<br>Отослано читателями из интернет-сайтов''
| + | <br> |
| | | |
- | <br> <sub>Вся информатика онлайн, список тем по предметам, сборник конспектов по информатике, домашняя работа, вопросы и ответы, рефераты по информатике 9 класс, планы уроков</sub> | + | '''Программа на АЯ и на Паскале''' |
| + | |
| + | Запишем алгоритм на АЯ и программу на Паскале. |
| + | |
| + | [[Image:Informatika 9 232 2.jpg|550px|Программа на АЯ и на Паскале]]<br> |
| + | |
| + | <br> |
| + | |
| + | '''Коротко о главном''' |
| + | |
| + | Алгоритм Евклида предназначен для получения наибольшего общего делителя двух натуральных чисел. Структура алгоритма Евклида — цикл с вложенным ветвлением. |
| + | |
| + | Ручная трассировка может использоваться для проверки правильности лишь сравнительно простых алгоритмов. Правильность программ проверяется путем тестирования на [http://xvatit.com/it/comp_primochki/ '''компьютере''']. |
| + | |
| + | <br> |
| + | |
| + | '''Вопросы и задания''' |
| + | |
| + | ''1. Выполните на компьютере программу Еvklid. Протестируйте ее на значениях М= 32, N = 24; М = 696, N = 234.<br>2. Составьте программу нахождения наибольшего общего делителя трех чисел, используя следующую формулу:<br>НОД(А, B, С) = НОД(НОД(A, В), С).<br>3. Составьте программу нахождения наименьшего общего кратного (НОК) двух чисел, используя формулу:<br>А·В = НОД(А, В)·HOK(А, В).'' |
| + | |
| + | <br><br> ''И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс<br>Отослано читателями из интернет-сайтов'' |
| + | |
| + | <br> <sub>Вся [[Інформатика|информатика]] онлайн, список тем по предметам, [[Гипермаркет знаний - первый в мире!|сборник конспектов]] по информатике, домашняя работа, вопросы и ответы, рефераты [[Информатика 9 класс|по информатике 9 класс]], планы уроков</sub> |
| | | |
| <br> | | <br> |
| | | |
| '''<u>Содержание урока</u>''' | | '''<u>Содержание урока</u>''' |
- | '''[[Image:1236084776 kr.jpg|10x10px]] конспект урока ''' | + | '''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] конспект урока ''' |
- | [[Image:1236084776 kr.jpg|10x10px]] опорный каркас | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] опорный каркас |
- | [[Image:1236084776 kr.jpg|10x10px]] презентация урока | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] презентация урока |
- | [[Image:1236084776 kr.jpg|10x10px]] акселеративные методы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] акселеративные методы |
- | [[Image:1236084776 kr.jpg|10x10px]] интерактивные технологии | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] интерактивные технологии |
| | | |
| '''<u>Практика</u>''' | | '''<u>Практика</u>''' |
- | [[Image:1236084776 kr.jpg|10x10px]] задачи и упражнения | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] задачи и упражнения |
- | [[Image:1236084776 kr.jpg|10x10px]] самопроверка | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] самопроверка |
- | [[Image:1236084776 kr.jpg|10x10px]] практикумы, тренинги, кейсы, квесты | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] практикумы, тренинги, кейсы, квесты |
- | [[Image:1236084776 kr.jpg|10x10px]] домашние задания | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] домашние задания |
- | [[Image:1236084776 kr.jpg|10x10px]] дискуссионные вопросы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] дискуссионные вопросы |
- | [[Image:1236084776 kr.jpg|10x10px]] риторические вопросы от учеников | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] риторические вопросы от учеников |
- |
| + | |
| '''<u>Иллюстрации</u>''' | | '''<u>Иллюстрации</u>''' |
- | '''[[Image:1236084776 kr.jpg|10x10px]] аудио-, видеоклипы и мультимедиа ''' | + | '''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] аудио-, видеоклипы и мультимедиа ''' |
- | [[Image:1236084776 kr.jpg|10x10px]] фотографии, картинки | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] фотографии, картинки |
- | [[Image:1236084776 kr.jpg|10x10px]] графики, таблицы, схемы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] графики, таблицы, схемы |
- | [[Image:1236084776 kr.jpg|10x10px]] юмор, анекдоты, приколы, комиксы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] юмор, анекдоты, приколы, комиксы |
- | [[Image:1236084776 kr.jpg|10x10px]] притчи, поговорки, кроссворды, цитаты | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] притчи, поговорки, кроссворды, цитаты |
| | | |
| '''<u>Дополнения</u>''' | | '''<u>Дополнения</u>''' |
- | '''[[Image:1236084776 kr.jpg|10x10px]] рефераты''' | + | '''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] рефераты''' |
- | [[Image:1236084776 kr.jpg|10x10px]] статьи | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] статьи |
- | [[Image:1236084776 kr.jpg|10x10px]] фишки для любознательных | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] фишки для любознательных |
- | [[Image:1236084776 kr.jpg|10x10px]] шпаргалки | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] шпаргалки |
- | [[Image:1236084776 kr.jpg|10x10px]] учебники основные и дополнительные | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] учебники основные и дополнительные |
- | [[Image:1236084776 kr.jpg|10x10px]] словарь терминов | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] словарь терминов |
- | [[Image:1236084776 kr.jpg|10x10px]] прочие | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] прочие |
| | | |
| <u>Совершенствование учебников и уроков | | <u>Совершенствование учебников и уроков |
- | </u>'''[[Image:1236084776 kr.jpg|10x10px]] исправление ошибок в учебнике''' | + | </u>'''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] исправление ошибок в учебнике''' |
- | [[Image:1236084776 kr.jpg|10x10px]] обновление фрагмента в учебнике | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] обновление фрагмента в учебнике |
- | [[Image:1236084776 kr.jpg|10x10px]] элементы новаторства на уроке | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] элементы новаторства на уроке |
- | [[Image:1236084776 kr.jpg|10x10px]] замена устаревших знаний новыми | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] замена устаревших знаний новыми |
- |
| + | |
| '''<u>Только для учителей</u>''' | | '''<u>Только для учителей</u>''' |
- | '''[[Image:1236084776 kr.jpg|10x10px]] идеальные уроки ''' | + | '''[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] идеальные уроки ''' |
- | [[Image:1236084776 kr.jpg|10x10px]] календарный план на год | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] календарный план на год |
- | [[Image:1236084776 kr.jpg|10x10px]] методические рекомендации | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] методические рекомендации |
- | [[Image:1236084776 kr.jpg|10x10px]] программы | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] программы |
- | [[Image:1236084776 kr.jpg|10x10px]] обсуждения | + | [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] обсуждения |
| | | |
| | | |
Текущая версия на 05:49, 4 июля 2012
Гипермаркет знаний>>Информатика>>Информатика 9 класс>>Информатика: Алгоритм Евклида
§ 40. Алгоритм Евклида
Основные темы параграфа:
♦ наибольший общий делитель; ♦ идея алгоритма Евклида; ♦ описание алгоритма Евклида блок-схемой; ♦ программа на AЯ и на Паскале.
Наибольший общий делитель
Рассмотрим следующую задачу: требуется составить программу определения наибольшего общего делителя (НОД) двух натуральных чисел.
Вспомним математику. Наибольший общий делитель двух натуральных чисел — это самое большое натуральное число, на которое они делятся нацело. Например, у чисел 12 и 18 имеются общие делители: 2, 3, 6. Наибольшим общим делителем является число 6. Это записывается так:
НOД(12, 18) = 6.
Обозначим исходные данные как М и N. Постановка задачи выглядит следующим образом:
Дано: М, N Найти: НОД(M, N).
В данном случае какой-то дополнительной математической формализации не требуется. Сама постановка задачи носит формальный математический характер. Не существует формулы для вычисления НОД(М, N) по значениям М и N. Но зато достаточно давно, задолго до появления ЭВМ, был известен алгоритмический способ решения этой задачи. Называется он алгоритмом Евклида.
Идея алгоритма Евклида
Идея этого алгоритма основана на том свойстве, что если М>N, то
НОД(М, N) = НОД(М – N, N).
Иначе говоря, НОД двух натуральных чисел равен НОД их положительной разности (модуля их разности) и меньшего числа.
Легко доказать это свойство. Пусть К — общий делитель М и N (М > N). Это значит, что М = mК, N = nК, где m,n — натуральные числа, причем m > n. Тогда М - N = К(m - n), откуда следует, что К — делитель числа М - N. Значит, все общие делители чисел М и N являются делителями их разности М - N в том числе и наибольший общий делитель.
Второе очевидное свойство:
НОД(М, М) = М.
Для «ручного» счета алгоритм Евклида выглядит так:
1) если числа равны, то взять любое из них в качестве ответа, в противном случае продолжить выполнение алгоритма; 2) затенить большее число разностью большего и меньшего из чисел; 3) вернуться к выполнению п. 1.
Рассмотрим этот алгоритм на примере М=32, N=24:
Получили: НОД(32, 24) = НОД(8, 8) = 8, что верно.
Описание алгоритма Евклида блок-схемой
На рис. 6.8 приведена блок-схема алгоритма Евклида.

Структура алгоритма — цикл-пока с вложенным ветвлением. Цикл повторяется, пока значения М и N не равны друг другу. В ветвлении большее из двух значений заменяется на их разность.
А теперь посмотрите на трассировочную таблицу алгоритма для исходных значений М = 32, N = 24.
Шаг
| Операция
| M
| N
| Условие
|
1
| ввод M
| 32
|
|
|
2
| ввод N
|
| 24
|
|
3
| M≠N
|
|
| 32≠24, да
|
4
| M>N
|
|
| 32>24, да
|
5
| M:=M-N
| 8
|
|
|
6
| M≠N
|
|
| 8≠24, да
|
7
| M>N
|
|
| 8>24, нет
|
8
| N:=N-M
|
| 16
|
|
9
| M≠N
|
|
| 8≠16, да
|
10
| M>N
|
|
| 8>16, нет
|
11
| N:=N-M
|
| 8
|
|
12
| M≠N
|
|
| 8≠8, нет
|
13
| вывод М
| 8
|
|
|
14
| конец
|
|
|
|
В итоге получился верный результат.
Программа на АЯ и на Паскале
Запишем алгоритм на АЯ и программу на Паскале.

Коротко о главном
Алгоритм Евклида предназначен для получения наибольшего общего делителя двух натуральных чисел. Структура алгоритма Евклида — цикл с вложенным ветвлением.
Ручная трассировка может использоваться для проверки правильности лишь сравнительно простых алгоритмов. Правильность программ проверяется путем тестирования на компьютере.
Вопросы и задания
1. Выполните на компьютере программу Еvklid. Протестируйте ее на значениях М= 32, N = 24; М = 696, N = 234. 2. Составьте программу нахождения наибольшего общего делителя трех чисел, используя следующую формулу: НОД(А, B, С) = НОД(НОД(A, В), С). 3. Составьте программу нахождения наименьшего общего кратного (НОК) двух чисел, используя формулу: А·В = НОД(А, В)·HOK(А, В).
И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс Отослано читателями из интернет-сайтов
Вся информатика онлайн, список тем по предметам, сборник конспектов по информатике, домашняя работа, вопросы и ответы, рефераты по информатике 9 класс, планы уроков
Содержание урока
конспект урока
опорный каркас
презентация урока
акселеративные методы
интерактивные технологии
Практика
задачи и упражнения
самопроверка
практикумы, тренинги, кейсы, квесты
домашние задания
дискуссионные вопросы
риторические вопросы от учеников
Иллюстрации
аудио-, видеоклипы и мультимедиа
фотографии, картинки
графики, таблицы, схемы
юмор, анекдоты, приколы, комиксы
притчи, поговорки, кроссворды, цитаты
Дополнения
рефераты
статьи
фишки для любознательных
шпаргалки
учебники основные и дополнительные
словарь терминов
прочие
Совершенствование учебников и уроков
исправление ошибок в учебнике
обновление фрагмента в учебнике
элементы новаторства на уроке
замена устаревших знаний новыми
Только для учителей
идеальные уроки
календарный план на год
методические рекомендации
программы
обсуждения
Интегрированные уроки
Если у вас есть исправления или предложения к данному уроку, напишите нам.
Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.
|