Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
turtle [2014/02/06 08:26] 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> | ||
| - | color("green") | + | import random |
| def tree(size): | def tree(size): | ||
| width(size/25) | width(size/25) | ||
| Строка 82: | Строка 102: | ||
| go(-size) | go(-size) | ||
| + | reset() | ||
| + | color("green") | ||
| go(-50) | go(-50) | ||
| tree(50) | 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> | ||