Инструменты пользователя

Инструменты сайта


turtle

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
turtle [2013/09/27 10:09]
super_admin [Упражнение]
turtle [2021/09/20 15:09] (текущий)
super_admin
Строка 1: Строка 1:
 ====== Исполнитель черепашка ====== ====== Исполнитель черепашка ======
-**Описание задачи**+**Условие задачи**
  
 {{:​wiki:​turtle_task.jpg|}} {{:​wiki:​turtle_task.jpg|}}
Строка 6: Строка 6:
 **Ключ к решению:​** **Ключ к решению:​**
  
-Если исполнитель "​черепашка"​ совершает два **предопределенных** действия:​ перемещение вперед на **заданное расстояние** и поворот направо на **заданный угол**, то при определенном количестве повторов,​ "​черепашка"​ вернется в ту точку из которой началось движение. Чем больше угол поворота,​ тем за меньшее количество повторов "​черепашка"​ вернется в исходную точку. ​Чем меньше ​угол поворота, тем больше ​фигура, которую описывает черепашка, ​будет ​походить ​на окружность и тем больше повторов потребуется "​черепашке",​ чтобы ​вернуться ​в исходную точку.+Если исполнитель "​черепашка"​ совершает два **предопределенных** действия:​ перемещение вперед на **заданное расстояние** и поворот направо на **заданный угол**, то при определенном количестве повторов,​ "​черепашка"​ вернется в ту точку из которой началось движение, если число, которое получается при делении 360 на величину угла, целое. Чем больше угол поворота,​ тем за меньшее количество повторов "​черепашка"​ вернется в исходную точку. ​Если ​угол поворота ​равен 1, замкнутая ​фигура будет иметь 360 углов
 + 
 +//Сумма внешних углов правильного многоугольника - 360 градусов.//
  
 **Очевидно,​ что величина угла и количество повторов взаимосвязаны.** **Очевидно,​ что величина угла и количество повторов взаимосвязаны.**
Строка 12: Строка 14:
 Эта взаимосвязь становиться ясна, если мы поймем,​ что в момент возвращения "​черепашки"​ в исходную точку, она совершает суммарный поворот на 360 градусов и каждый повтор есть равная угловая часть этой суммы. ​ Эта взаимосвязь становиться ясна, если мы поймем,​ что в момент возвращения "​черепашки"​ в исходную точку, она совершает суммарный поворот на 360 градусов и каждый повтор есть равная угловая часть этой суммы. ​
  
-Пусть X - количество повторов,​ A - величина угла поворота,​- искомая формула:​ X = 360/A или A = 360/X+Пусть X - количество повторов,​ A - величина ​внешнего ​угла поворота,​- искомая формула:​ X = 360/A или A = 360/X
  
 Проверим на простых упражнениях:​ Проверим на простых упражнениях:​
Строка 25: Строка 27:
  
 ==== Упражнение ==== ==== Упражнение ====
- 
-**Теория утверждается практикой.** 
  
 Прежде,​ чем решить приведенную выше задачу,​ пройдите ряд простых заданий: ​ Прежде,​ чем решить приведенную выше задачу,​ пройдите ряд простых заданий: ​
   * [[http://​intepra.ru/​turtle/​terrapin_gia_a6_v1.html|вариант 1]] - преобразуйте квадрат в треугольник,​ в шестиугольник и ромб   * [[http://​intepra.ru/​turtle/​terrapin_gia_a6_v1.html|вариант 1]] - преобразуйте квадрат в треугольник,​ в шестиугольник и ромб
-  * [[http://​intepra.ru/​turtle/​terrapin_gia_a6_v3.html|вариант 2]]+  * [[http://​intepra.ru/​turtle/​terrapin_gia_a6_v3.html|вариант 2]] - внесите изменения в код так, чтобы 2 квадрата касались вершинами и были расположены напротив друг друга
   * [[http://​intepra.ru/​turtle/​terrapin_gia_a6_e.html|вариант 3]] - напишите программу,​ которая нарисует,​ изображенную на рисунке фигуру:​   * [[http://​intepra.ru/​turtle/​terrapin_gia_a6_e.html|вариант 3]] - напишите программу,​ которая нарисует,​ изображенную на рисунке фигуру:​
 {{:​gia:​4_romba.png?​200|}} {{:​gia:​4_romba.png?​200|}}
  
  
-После того, как данное задание ​будет выполнено, испытайте свои навыки на следующих заданиях (ссылки указывают на одно задание):​+==== Дополнительные варианты фигур ====
  
-  ​[[https://​docs.google.com/​document/​d/​1-x1yy_p-bxphPDQ5iep5pVOlRjSzUxpr_S2Jzym50WI/​edit?​authkey=CN7Qq_0J | Дополнительные задачи]]  +**Необычный восьмиугольник**
-  * [[http://​intepra.ru/​wp-content/​uploads/​2011/​03/​cherepashka3.pdf | Дополнительные задачи (pdf) ]]+
  
-**//​Попробуйте сперва решить задачу в уме (можно пользоваться черновиком) и только для проверки правильности решения,​ используйте среду исполнителя!//​**+<​code>​ 
 +repeat 8[ 
 + ​repeat 8[ 
 +   ​forward 50 
 +   turn 45 
 + ] 
 +turn 45 
 +]
  
-Повышенный уровень сложности:​+</​code>​
  
-  * [[http://​intepra.ru/​wp-content/​uploads/​2011/​03/​terrapin_ru_4.html|Снежинка]] 
   * [[http://​intepra.ru/​turtle/​terrapin_ru.htm|Орнамент]]   * [[http://​intepra.ru/​turtle/​terrapin_ru.htm|Орнамент]]
-  * [[http://​en.literateprograms.org/​Turtle_graphics_%28JavaScript%29|ссылка на прототип]] ​ 
  
  
Строка 64: Строка 68:
  
 Полагаю Вас не должно "​испутать"​ то, что имена переменных на данном примере не соответствуют именам переменных в предыдущих примерах и обозначают:​ n - количество повторов,​ x - расстояние,​ которое преодолевает "​Черепашка"​ за одно действие,​ а угол программа вычисляет автоматически. ​ Полагаю Вас не должно "​испутать"​ то, что имена переменных на данном примере не соответствуют именам переменных в предыдущих примерах и обозначают:​ n - количество повторов,​ x - расстояние,​ которое преодолевает "​Черепашка"​ за одно действие,​ а угол программа вычисляет автоматически. ​
 +
 +
 ==== Упражнение ==== ==== Упражнение ====
  
Строка 79: Строка 85:
 Сравните результат,​ который у Вас получился с [[help_turtle_chart|данным результатом]] (если желаете оценить свой уровень - заранее не смотрите подсказку). Сравните результат,​ который у Вас получился с [[help_turtle_chart|данным результатом]] (если желаете оценить свой уровень - заранее не смотрите подсказку).
  
 +**Фрактальная графика (дерево)**
 +
 +<code python>
 +import random
 +def tree(size):
 + width(size/​25)
 + go(size)
 + if (size > 2):
 + scale = random.randrange(20)/​100.0 + 0.6
 + angle = random.randrange(10) + 30.0
 + turn(angle/​2)
 + tree(size*scale)
 + turn(-angle)
 + tree(size*scale)
 + turn(angle/​2)
 + go(-size)
 +
 +reset()
 +color("​green"​)
 +go(-50)
 +tree(50)
 +</​code>​
 +
 +{{:​practicum:​pytree.png?​300|}}
  
 +<code Python>
 +from turtle import *
 +import random
 +def tree(size):
 + width(size/​25 + 1)
 + fd(size)
 + if (size > 2):
 + scale = random.randrange(11)/​50.0 + 0.4
 + angle = random.randrange(5) + 40.0
 + rt(angle/​2)
 + tree(size*scale)
 + lt(angle)
 + tree(size*scale)
 + rt(angle/​2)
 + fd(-size)
 + 
 +reset()
 +lt(90)
 +color("​green"​)
 +fd(-70)
 +tree(70)
 +</​code>​
  
  
  
turtle.1380262176.txt.gz · Последние изменения: 2019/06/24 20:29 (внешнее изменение)