Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
turtle [2014/02/04 18:45] super_admin [Python Turtle] |
turtle [2021/09/20 15:09] (текущий) super_admin |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Исполнитель черепашка ====== | ====== Исполнитель черепашка ====== | ||
- | **Описание задачи** | + | **Условие задачи** |
{{:wiki:turtle_task.jpg|}} | {{:wiki:turtle_task.jpg|}} | ||
Строка 35: | Строка 35: | ||
- | После того, как данное задание будет выполнено, испытайте свои навыки на следующих заданиях (ссылки указывают на одно задание): | + | ==== Дополнительные варианты фигур ==== |
- | * [[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 - расстояние, которое преодолевает "Черепашка" за одно действие, а угол программа вычисляет автоматически. | ||
+ | |||
+ | |||
+ | ==== Упражнение ==== | ||
+ | |||
+ | Напишите алгоритм, позволяющий вернуться "Черепашке" в исходную точку, повторно совершая два предопределенных действия (движение вперед и поворот), если известно, что | ||
+ | <code python> | ||
+ | x = 30 # расстояние при движении вперед | ||
+ | a = 40 # угол при повороте направо | ||
+ | # допишите программный код | ||
+ | # Внимание! Количество повторов программа должна вычислить автоматически. | ||
+ | </code> | ||
+ | ==== Упражнение ==== | ||
+ | |||
+ | Если Вы уже имели дело с [[http://ru.wikipedia.org/wiki/Блок-схема|блок-схемами]], перейдите в программу [[http://www.lucidchart.com|lucidchart]] и составьте блок-схему алгоритма программы, следуя которой, исполнитель "Черепашка" рисует правильные многоугольники (для первого варианта: известно количество повторов). | ||
+ | |||
+ | Сравните результат, который у Вас получился с [[help_turtle_chart|данным результатом]] (если желаете оценить свой уровень - заранее не смотрите подсказку). | ||
**Фрактальная графика (дерево)** | **Фрактальная графика (дерево)** | ||
<code python> | <code python> | ||
+ | import random | ||
def tree(size): | def tree(size): | ||
width(size/25) | width(size/25) | ||
Строка 79: | Строка 100: | ||
tree(size*scale) | tree(size*scale) | ||
turn(angle/2) | turn(angle/2) | ||
- | turn(180.0) | + | go(-size) |
- | go(size) | + | |
- | turn(180.0) | + | |
- | turn(180.0) | + | reset() |
- | go(100) | + | color("green") |
- | turn(180.0) | + | go(-50) |
- | tree(100) | + | tree(50) |
</code> | </code> | ||
- | ==== Упражнение ==== | ||
- | |||
- | Напишите алгоритм, позволяющий вернуться "Черепашке" в исходную точку, повторно совершая два предопределенных действия (движение вперед и поворот), если известно, что | ||
- | <code python> | ||
- | x = 30 # расстояние при движении вперед | ||
- | a = 40 # угол при повороте направо | ||
- | # допишите программный код | ||
- | # Внимание! Количество повторов программа должна вычислить автоматически. | ||
- | </code> | ||
- | ==== Упражнение ==== | ||
- | |||
- | Если Вы уже имели дело с [[http://ru.wikipedia.org/wiki/Блок-схема|блок-схемами]], перейдите в программу [[http://www.lucidchart.com|lucidchart]] и составьте блок-схему алгоритма программы, следуя которой, исполнитель "Черепашка" рисует правильные многоугольники (для первого варианта: известно количество повторов). | ||
- | |||
- | Сравните результат, который у Вас получился с [[help_turtle_chart|данным результатом]] (если желаете оценить свой уровень - заранее не смотрите подсказку). | ||
+ | {{: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> | ||