На уроках информатики учащиеся гимназии в 5-6 классах знакомятся с основами программирования в среде “Лого-миры”. Для более углубленного изучения Лого разработан элективный курс. Традиционно с большим интересом изучается тема “Графическое моделирование объектов природы с “золотыми” спиралями”, о чем и будет рассказано в этой статье.
Вначале немного теории и истории. В математике
пропорцией называют равенство двух отношений: A :
B = C : D.
Отрезок прямой АВ можно разделить точкой C на две
части следующими способами:
- на две равные части АВ : АC = АВ : ВC;
- на две неравные части в любом отношении (такие части пропорции не образуют);
таким образом, когда АВ : АC = АC : ВC. Последнее и есть золотое деление или деление отрезка в крайнем и среднем отношении.
Золотое сечение - это такое пропорциональное деление отрезка на неравные части, при котором весь отрезок так относится к большей части, как сама большая часть относится к меньшей; или другими словами, меньший отрезок так относится к большему, как больший ко всему A : B = B : C или C : B = B : A.
Отрезки золотой пропорции выражаются бесконечной иррациональной дробью 0,618..., если C принять за единицу, A = 0,382.
Леонардо да Винчи много внимания уделял изучению золотого деления. Он производил сечения стереометрического тела, образованного правильными пятиугольниками, и каждый раз получал прямоугольники с отношениями сторон в золотом делении. Поэтому он дал этому делению название золотое сечение. Так оно и держится до сих пор как самое популярное.
С историей золотого сечения косвенным образом связано имя итальянского математика монаха Леонардо из Пизы, более известного под именем Фибоначчи (сын Боначчи). Он много путешествовал по Востоку, познакомил Европу с индийскими (арабскими) цифрами.
Ряд чисел 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 и т.д. известен как ряд Фибоначчи. Особенность последовательности чисел состоит в том, что каждый ее член, начиная с третьего, равен сумме двух предыдущих 2 + 3 = 5; 3 + 5 = 8; 5 + 8 = 13, 8 + 13 = 21; 13 + 21 = 34 и т.д., а отношение смежных чисел ряда приближается к отношению золотого деления. Числа 0.618 и 0.382 являются коэффициентами последовательности Фибоначчи.
Важно отметить, что Фибоначчи как бы напомнил свою последовательность человечеству. Она была известна еще древним грекам и египтянам. И действительно, с тех пор в природе, архитектуре, изобразительном искусстве, математике, физике, астрономии, биологии и многих других областях были найдены закономерности, описываемые коэффициентами Фибоначчи. Примеры объектов с такими коэффициентами приведены на рисунках.
Анализируя эти объекты, легко увидеть, что для построения графических моделей будет использоваться “золотая” спираль или спираль Архимеда, для построения которой потребуется вычисление чисел ряда Фибоначчи.
Таким образом, формулируем первую задачу.
Задача 1.
Вывести на экран значения чисел ряда Фибоначчи. Результат
Решение. Т.к. значения чисел ряда Фибоначчи могут пропорционально увеличиваться или уменьшаться (например, 4, 4, 8, 12, 20, 32 …; 0,1 0,1 0,2 0,3 0,5 …), что очень часто необходимо при построении графических моделей объектов, программа вычисляет значения ряда Фибоначчи по его ПЧРФ (ПЧРФ – первое число ряда Фибоначчи).
Ниже приведен текст программы, оформленной в виде процедуры Лого.
это ряд_Фибоначчи
спроси [Введите первое число ряда:]
пусть "а ответ
пусть "б ответ
спроси [Введите количество чисел ряда:]
пусть "кл ответ
пиши :а
пиши :б
повтори (:кл - 2) [пусть "в :а + :б пиши :в пусть "а :б пусть "б :в]
конец
Попробуем найти ответ и на такой вопрос: если задано произвольное целое, положительное число, сколько и каких существует рядов Фибоначчи, в состав которых входит данное число.
Задача 2
. Вычислить значения рядов Фибоначчи, в которые входит заданное число.Решение. Очевидно, что заданное число может являться ПЧРФ. Например, ПЧРФ =6, ряд: 6, 6, 12, 18, 30 … ПЧРФ других всех возможных рядов можно найти, деля без остатка заданное число на числа Фибоначчи "основного" ряда (ЧОР) 1, 2, 3, 5, 8 … Перебор рядов заканчивается, когда заданное число становится меньше очередного числа Фибоначчи "основного" ряда . Кроме этого программа позволяет задать количество чисел ряда.
это ряды_Фибоначчи
спроси [Введите целое положительное число:]
пусть "число ответ
спроси [количество чисел ряда:]
пусть "кол ответ
пусть "чор 1
прог :чор
пусть "г 1
пусть "д 1
повтори :число [пусть "чор :г + :д
прог :чор
пусть "г :д
пусть "д :чор]
конец
это прог :чор
если :число < :чор [стоп]
если (остаток :число :чор) = 0 [ряд :число :кол]
конец
это ряд :число :кол
пусть "а :число / :чор
пусть "б :число / :чор
пиши :а
пиши :б
повтори (:кол - 2) [пусть "в :а + :б пиши :в пусть "а :б пусть "б :в]
конец
Задача 3.
Спираль Архимеда.При решении задачи так же осуществлялась попытка принципа универсальности: можно задать первоначальный шаг спирали (ПЧРФ), а так же количество дуг спирали.
это спирар ; спираль Архимеда
спроси [Введите шаг:]
пусть "а ответ
пусть "б ответ
спроси [Ведите количество сегментов спирали:]
пусть "сег ответ
лв 90
повтори :сег [пусть "в :а + :б повтори 90 [вп :в пр 1]
пусть "а :б пусть "б :в]
конец
Далее приведена программа, моделирующая (разумеется в статике) вихрь (галактику, тайфун). Есть возможность задать следующие параметры: шаг спирали, количество сегментов спирали, количество спиралей в вихре.
Задача 4
Моделирование вихря (галактики, тайфуна)это вихрь
спроси [Введите шаг:]
пусть "ш ответ
спроси [Введите количество сегментов спирали:]
пусть "сег ответ
спроси [Введите количество спиралей Архимеда:]
пусть "N ответ
пусть "уг 0
повтори :N [пр :уг спирар1 :ш :сег пп домой по
пусть "уг :уг + 360 / :N]
конец
это спирар1 :шаг :сег
пусть "а :шаг
пусть "б :шаг
повтори (:сег - 2) [пусть "в :а + :б повтори 90 [вп :в пр 1]
пусть "а :б пусть "б :в]
конец
Для построения спирали Архимеда и вихря закрученных против часовой стрелки в процедурах требуется поменять команды пр на лв.
Задача 5
. Графическая модель подсолнуха.Для построения графической модели подсолнуха воспользуемся решением задач 1,2,3, заменив команды диалога на параметры процедуры.
это подсолнух
спроси [Введите шаг]
пусть "шаг ответ
спроси [Введите количество дуг]
пусть "дуги ответ
спроси [Введите количество спиралей Архимеда]
пусть "N ответ
првихрь :шаг :дуги :N
лввихрь :шаг :дуги :N
конец
это првихрь :ш :дуги :N
пусть "уг 0
повтори :N [пр :уг прспирар :ш :дуги пп домой по
пусть "уг :уг + 360 / :N]
конец
это лввихрь :ш :дуги :N
пусть "уг 0
повтори :N [лв :уг лвспирар :ш :дуги пп домой по
пусть "уг :уг + 360 / :N]
конец
это прспирар :шаг :дуги
пусть "а :шаг
пусть "б :шаг
повтори :дуги [пусть "в :а + :б повтори 90 [вп :в пр 1]
пусть "а :б пусть "б :в]
конец
это лвспирар :шаг :дуги
пусть "а :шаг
пусть "б :шаг
повтори :дуги [пусть "в :а + :б повтори 90 [вп :в лв 1]
пусть "а :б пусть "б :в]
конец
В заключении отмечу, что среда Лого-Миры чрезвычайно популярна , постоянно появляются новые версии, дающие возможность создавать не только статические , но и динамические модели тех же самых вихрей. Пытайтесь, пробуйте, всем успехов!
Источники информации.
1. Юдина А.Г. Практикум по информатике в среде LogoWriter: Пособие для учащихся общеобразоват. учреждений – М.: Мнемозина, 1999.
2. http://kvant.mccme.ru/1988.03/chisla_fibonachchi.htm
3. http://school.ort.spb.ru/(Rus)/library/logo/texts/logo1_ru.doc
4. http://forexodessa.com.ua/book/fibonacci.php
5. http://people.n-audio.com/idea/zolotsech