-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdataset.jsonl
More file actions
260 lines (260 loc) · 143 KB
/
dataset.jsonl
File metadata and controls
260 lines (260 loc) · 143 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
{"id": 1, "question_number": 4, "query": "recreates the given shape + its horizontal and vertical diameters.", "base_shape": "autotest/source/1_1.jpg", "result_shape": "Tasks/1/result_image/q4_image.png", "variables": "radius=100", "base_shape_code": "t.circle(radius)\nt.circle(radius, 90)\nt.left(90)\nt.forward(2 * radius)\nt.left(90)\nt.circle(radius, 90)\nt.left(90)\nt.forward(2 * radius)\n", "source_contours": 1, "description": "A simple circle"}
{"id": 1, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/1_1.jpg", "result_shape": "Tasks/1/result_image/q1_image.png", "variables": "radius=100", "base_shape_code": "t.circle(radius)\n", "source_contours": 1, "description": "A simple circle"}
{"id": 1, "question_number": 3, "query": "divides the shape into four equal pieces and draws the upper left and bottom right quarters.", "base_shape": "autotest/source/1_1.jpg", "result_shape": "Tasks/1/result_image/q3_image.png", "variables": "radius=100", "base_shape_code": "for i in range(4):\n if i % 2 == 0:\n t.penup()\n else:\n t.pendown()\n t.circle(radius, 90)\n", "source_contours": 1, "description": "A simple circle"}
{"id": 1, "question_number": 2, "query": "creates the upper semicircle in the given shape.", "base_shape": "autotest/source/1_1.jpg", "result_shape": "Tasks/1/result_image/q2_image.png", "variables": "radius=100", "base_shape_code": "t.setheading(90)\nt.circle(radius, 180)\n", "source_contours": 1, "description": "A simple circle"}
{"id": 2, "question_number": 4, "query": "in the given shape connects the midpoints of each side.", "base_shape": "autotest/source/2_1.jpg", "result_shape": "Tasks/2/result_image/q4_image.png", "variables": "triangle_side=200", "base_shape_code": "t.setheading(60)\nfor i in range(3):\n t.forward(triangle_side)\n t.right(120)\nt.forward(triangle_side / 2)\nt.right(60)\nfor i in range(3):\n t.forward(triangle_side / 2)\n t.right(120)\n", "source_contours": 1, "description": "An equilateral triangle, with one vertex pointing upwards and a horizontal base."}
{"id": 2, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/2_1.jpg", "result_shape": "Tasks/2/result_image/q1_image.png", "variables": "triangle_side=200", "base_shape_code": "t.setheading(60)\nfor i in range(3):\n t.forward(triangle_side)\n t.right(120)\n", "source_contours": 1, "description": "An equilateral triangle, with one vertex pointing upwards and a horizontal base."}
{"id": 2, "question_number": 3, "query": "recreates the same shape upside down.", "base_shape": "autotest/source/2_1.jpg", "result_shape": "Tasks/2/result_image/q3_image.png", "variables": "triangle_side=200", "base_shape_code": "t.setheading(0)\nfor i in range(3):\n t.forward(triangle_side)\n t.right(120)\n", "source_contours": 1, "description": "An equilateral triangle, with one vertex pointing upwards and a horizontal base."}
{"id": 2, "question_number": 2, "query": "removes the bottom side of the given shape.", "base_shape": "autotest/source/2_1.jpg", "result_shape": "Tasks/2/result_image/q2_image.png", "variables": "triangle_side=200", "base_shape_code": "t.setheading(60)\nfor i in range(2):\n t.forward(triangle_side)\n t.right(120)\n", "source_contours": 1, "description": "An equilateral triangle, with one vertex pointing upwards and a horizontal base."}
{"id": 3, "question_number": 10, "query": "in the given shape connects the midpoints of each side of the square.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q10_image.png", "variables": "square_side=200", "base_shape_code": "for i in range(4):\n t.forward(square_side)\n t.right(90)\nt.forward(square_side / 2)\nt.right(45)\nfor i in range(4):\n t.forward(square_side * sqrt(2) / 2)\n t.right(90)\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 9, "query": "in the given shape, adds four smaller squares to divide the larger square into four equal pieces.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q9_image.png", "variables": "square_side=200", "base_shape_code": "for j in range(4):\n t.right(90)\n for i in range(4):\n t.forward(square_side / 2)\n t.right(90)\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 8, "query": "creates the given shape + its diagonals.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q8_image.png", "variables": "square_side=200", "base_shape_code": "from math import sqrt\nt.setheading(0)\nfor i in range(4):\n t.forward(square_side)\n t.right(90)\nt.right(45)\nt.forward(square_side * sqrt(2))\nt.right(135)\nt.forward(square_side)\nt.right(135)\nt.forward(square_side * sqrt(2)) \n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 6, "query": "creates the given shape + its diagonals and removes the sides on the left and right.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q6_image.png", "variables": "square_side=200", "base_shape_code": "from math import sqrt\nt.setheading(0)\nfor i in range(4):\n if i % 2 == 1:\n t.penup()\n else:\n t.down()\n t.forward(square_side)\n t.right(90)\nt.pendown()\nt.right(45)\nt.forward(square_side * sqrt(2))\nt.right(135)\nt.forward(square_side)\nt.right(135)\nt.forward(square_side * sqrt(2))\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 7, "query": "creates the given shape without its sides on the left and right.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q7_image.png", "variables": "square_side=200", "base_shape_code": "for i in range(4):\n if i % 2 == 1:\n t.penup()\n else:\n t.down()\n t.forward(square_side)\n t.right(90)\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 5, "query": "recreates the same shape rotated by 45 degrees.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q5_image.png", "variables": "square_side=200", "base_shape_code": "t.setheading(45)\nfor i in range(4):\n t.forward(square_side)\n t.right(90)\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 4, "query": "creates exactly the same shape.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q4_image.png", "variables": "square_side=200", "base_shape_code": "t.setheading(0)\nfor i in range(4):\n t.forward(square_side)\n t.right(90)\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q1_image.png", "variables": "square_side=200", "base_shape_code": "t.setheading(0)\nfor i in range(4):\n t.forward(square_side)\n t.right(90)\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 3, "query": "removes the bottom side of the shape.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q3_image.png", "variables": "square_side=200", "base_shape_code": "t.setheading(90)\nfor i in range(3):\n t.forward(square_side)\n t.right(90)\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 3, "question_number": 2, "query": "removes the bottom side of the shape and substitutes it with a semicircle its diameter equals a side of the square and its curved edge is at the top.", "base_shape": "autotest/source/3_1.jpg", "result_shape": "Tasks/3/result_image/q2_image.png", "variables": "square_side=200", "base_shape_code": "t.setheading(90)\nfor i in range(3):\n t.forward(square_side)\n t.right(90)\nt.right(90)\nt.circle(square_side / 2, 180)\n", "source_contours": 1, "description": "A square, with two horizontal and two vertical sides."}
{"id": 4, "question_number": 5, "query": "removes the sides of the pentagon and only draws its diagonals.", "base_shape": "autotest/source/4_1.jpg", "result_shape": "Tasks/4/result_image/q5_image.png", "variables": "pentagon_side = 200", "base_shape_code": "t.setheading(72)\nfor i in range(5):\n t.forward(2 * pentagon_side * cos(pi / 5))\n t.right(180 - 36)\n", "source_contours": 1, "description": "A regular pentagon which has a horizontal side at the bottom."}
{"id": 4, "question_number": 4, "query": "creates the given shape without the two sides at the top.", "base_shape": "autotest/source/4_1.jpg", "result_shape": "Tasks/4/result_image/q4_image.png", "variables": "pentagon_side = 200", "base_shape_code": "t.setheading(36)\nfor i in range(5):\n t.forward(pentagon_side)\n t.right(72)\nt.right(36)\nfor i in range(5):\n t.forward(2 * pentagon_side * cos(pi / 5))\n t.right(180 - 36)\n", "source_contours": 1, "description": "A regular pentagon which has a horizontal side at the bottom."}
{"id": 4, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/4_1.jpg", "result_shape": "Tasks/4/result_image/q1_image.png", "variables": "pentagon_side = 200", "base_shape_code": "t.setheading(36)\nfor i in range(5):\n t.forward(pentagon_side)\n t.right(72)\n", "source_contours": 1, "description": "A regular pentagon which has a horizontal side at the bottom."}
{"id": 4, "question_number": 3, "query": "creates the given shape without the two sides at the top.", "base_shape": "autotest/source/4_1.jpg", "result_shape": "Tasks/4/result_image/q3_image.png", "variables": "pentagon_side = 200", "base_shape_code": "t.setheading(36)\nt.penup()\nfor i in range(5):\n if i == 2:\n t.pendown()\n t.forward(pentagon_side)\n t.right(72)\n", "source_contours": 1, "description": "A regular pentagon which has a horizontal side at the bottom."}
{"id": 4, "question_number": 2, "query": "recreates the same shape upside down.", "base_shape": "autotest/source/4_1.jpg", "result_shape": "Tasks/4/result_image/q2_image.png", "variables": "pentagon_side = 200", "base_shape_code": "t.setheading(0)\nfor i in range(5):\n t.forward(pentagon_side)\n t.right(72)\n", "source_contours": 1, "description": "A regular pentagon which has a horizontal side at the bottom."}
{"id": 5, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/5_1.jpg", "result_shape": "Tasks/5/result_image/q1_image.png", "variables": "small_triangle_side = 50\nlarge_triangle_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n t.left(60)\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n t.right(60)\nt.right(60)\nfor i in range(3):\n draw_polygon(3, small_triangle_side)\n t.right(120)\n t.forward(large_triangle_side)\n", "source_contours": 5, "description": "Four triangles, which one of them is larger than the others and at the center and three smaller ones each share a vertex with the larger triangle. The larger triangle is pointing upwards. Two sides of each smaller triangle is direct continuation of corresponding sides in the larger triangle."}
{"id": 5, "question_number": 3, "query": "creates the same shape but with the larger triangle removed.", "base_shape": "autotest/source/5_1.jpg", "result_shape": "Tasks/5/result_image/q3_image.png", "variables": "small_triangle_side = 50\nlarge_triangle_side = 100", "base_shape_code": "t.setheading(180)\ndef draw_polygon(sides, length):\n t.left(60)\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n t.right(60)\nfor i in range(3):\n draw_polygon(3, small_triangle_side)\n t.up()\n t.right(120)\n t.forward(large_triangle_side)\n t.down()\n", "source_contours": 5, "description": "Four triangles, which one of them is larger than the others and at the center and three smaller ones each share a vertex with the larger triangle. The larger triangle is pointing upwards. Two sides of each smaller triangle is direct continuation of corresponding sides in the larger triangle."}
{"id": 5, "question_number": 2, "query": "creates the given shape without the smaller triangles.", "base_shape": "autotest/source/5_1.jpg", "result_shape": "Tasks/5/result_image/q2_image.png", "variables": "small_triangle_side = 50\nlarge_triangle_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n t.left(60)\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n t.right(60)\ndraw_polygon(3, large_triangle_side)\n", "source_contours": 5, "description": "Four triangles, which one of them is larger than the others and at the center and three smaller ones each share a vertex with the larger triangle. The larger triangle is pointing upwards. Two sides of each smaller triangle is direct continuation of corresponding sides in the larger triangle."}
{"id": 6, "question_number": 5, "query": "creates the given shape but with both triangles upside down.", "base_shape": "autotest/source/6_1.jpg", "result_shape": "Tasks/6/result_image/q5_image.png", "variables": "triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.setheading(0)\ndraw_polygon(3, triangle_side)\nt.right(120)\ndraw_polygon(3, triangle_side)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles pointing upwards sharing a common base, forming a symmetrical figure along a vertical axis"}
{"id": 6, "question_number": 4, "query": "creates the given shape but with the left triangle upside down while keeping its base fixed.", "base_shape": "autotest/source/6_1.jpg", "result_shape": "Tasks/6/result_image/q4_image.png", "variables": "triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.setheading(60)\ndraw_polygon(3, triangle_side)\nt.right(180)\ndraw_polygon(3, triangle_side)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles pointing upwards sharing a common base, forming a symmetrical figure along a vertical axis"}
{"id": 6, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/6_1.jpg", "result_shape": "Tasks/6/result_image/q1_image.png", "variables": "triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\nfor i in range(2):\n draw_polygon(3, triangle_side)\n t.left(120)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles pointing upwards sharing a common base, forming a symmetrical figure along a vertical axis"}
{"id": 6, "question_number": 3, "query": "creates the given shape with one of the triangles removed.", "base_shape": "autotest/source/6_1.jpg", "result_shape": "Tasks/6/result_image/q3_image.png", "variables": "triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.setheading(60)\ndraw_polygon(3, triangle_side)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles pointing upwards sharing a common base, forming a symmetrical figure along a vertical axis"}
{"id": 6, "question_number": 2, "query": "fills the gap between the triangles in the given shape with a new triangle by adding only a new line to the shape.", "base_shape": "autotest/source/6_1.jpg", "result_shape": "Tasks/6/result_image/q2_image.png", "variables": "triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\nfor i in range(3):\n draw_polygon(3, triangle_side)\n t.left(60)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles pointing upwards sharing a common base, forming a symmetrical figure along a vertical axis"}
{"id": 7, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/7_1.jpg", "result_shape": "Tasks/7/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(-30)\ndraw_polygon(3, triangle_side)\nt.right(60)\ndraw_polygon(4, triangle_side)\n", "source_contours": 3, "description": "A square and an equilateral triangle pointing to right, sharing the right side of the square forming a horizontally symmetrical shape."}
{"id": 7, "question_number": 3, "query": "creates the same shape but with the triangle on top of the square, as its base lays over the top side of the square.", "base_shape": "autotest/source/7_1.jpg", "result_shape": "Tasks/7/result_image/q3_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\ndraw_polygon(3, triangle_side)\nt.right(60)\ndraw_polygon(4, triangle_side)\n", "source_contours": 3, "description": "A square and an equilateral triangle pointing to right, sharing the right side of the square forming a horizontally symmetrical shape."}
{"id": 7, "question_number": 2, "query": "creates the same shape, with the triangle inside the square as the left side of the triangle lays over the left side of the square.", "base_shape": "autotest/source/7_1.jpg", "result_shape": "Tasks/7/result_image/q2_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(-30)\ndraw_polygon(3, triangle_side)\nt.left(30)\ndraw_polygon(4, triangle_side)\n", "source_contours": 3, "description": "A square and an equilateral triangle pointing to right, sharing the right side of the square forming a horizontally symmetrical shape."}
{"id": 8, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/8_1.jpg", "result_shape": "Tasks/8/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.setheading(-30)\ndraw_polygon(3, triangle_side)\nt.right(150)\ndraw_polygon(3, triangle_side)\nt.forward(triangle_side)\nt.left(90)\nt.forward(triangle_side)\nt.right(120)\ndraw_polygon(3, 100)\nt.right(150)\ndraw_polygon(3, 100)\n", "source_contours": 6, "description": "Four equilateral triangles and a square at the center, where each triangle shares a side with the square and is pointng outward."}
{"id": 8, "question_number": 3, "query": "creates the given shape with the square removed.", "base_shape": "autotest/source/8_1.jpg", "result_shape": "Tasks/8/result_image/q3_image.png", "variables": "triangle_side=100", "base_shape_code": "t.setheading(60)\nfor i in range(4):\n for j in range(2):\n t.forward(triangle_side)\n t.right(120)\n t.left(150)\n", "source_contours": 6, "description": "Four equilateral triangles and a square at the center, where each triangle shares a side with the square and is pointng outward."}
{"id": 8, "question_number": 2, "query": "creates the given shape without the two triangles on top and bottom.", "base_shape": "autotest/source/8_1.jpg", "result_shape": "Tasks/8/result_image/q2_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.setheading(-30)\ndraw_polygon(3, triangle_side)\nt.right(150)\nt.forward(triangle_side)\nt.left(90)\nt.forward(triangle_side)\nt.right(120)\ndraw_polygon(3, triangle_side)\nt.right(150)\nt.forward(triangle_side)\n", "source_contours": 6, "description": "Four equilateral triangles and a square at the center, where each triangle shares a side with the square and is pointng outward."}
{"id": 9, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/9_1.jpg", "result_shape": "Tasks/9/result_image/q1_image.png", "variables": "semicircle_radius=70", "base_shape_code": "t.circle(semicircle_radius, -180)\nt.right(180)\nt.circle(semicircle_radius, 180)\nt.left(90)\nt.forward(4 * semicircle_radius)\n", "source_contours": 3, "description": null}
{"id": 9, "question_number": 3, "query": "adds two semicircles to the existing semicircles to make them a complete circle.", "base_shape": "autotest/source/9_1.jpg", "result_shape": "Tasks/9/result_image/q3_image.png", "variables": "semicircle_radius=70", "base_shape_code": "t.circle(semicircle_radius, -360)\nt.right(180)\nt.circle(semicircle_radius, 360)\nt.left(90)\nt.forward(2 * semicircle_radius)\nt.forward(-4 * semicircle_radius)\n", "source_contours": 3, "description": null}
{"id": 9, "question_number": 2, "query": "creates the given shape without the upper semicircle and its diameter.", "base_shape": "autotest/source/9_1.jpg", "result_shape": "Tasks/9/result_image/q2_image.png", "variables": "semicircle_radius=70", "base_shape_code": "t.setheading(180)\nt.circle(semicircle_radius, 180)\nt.left(90)\nt.forward(2 * semicircle_radius)\n", "source_contours": 3, "description": null}
{"id": 10, "question_number": 4, "query": "in the given shape, adds a new circle that circumscribes the squares.", "base_shape": "autotest/source/10_1.jpg", "result_shape": "Tasks/10/result_image/q4_image.png", "variables": "circle_radius=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.circle(circle_radius, 360)\nt.left(180)\nt.forward(circle_radius)\nt.right(90)\ndraw_polygon(4, 2 * circle_radius)\nt.right(135)\nt.circle(circle_radius * sqrt(2), 360)\n", "source_contours": 6, "description": "A circle inscribed in a square."}
{"id": 10, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/10_1.jpg", "result_shape": "Tasks/10/result_image/q1_image.png", "variables": "circle_radius=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.circle(circle_radius, 360)\nt.left(180)\nt.forward(circle_radius)\nt.right(90)\ndraw_polygon(4, 2 * circle_radius)\n", "source_contours": 6, "description": "A circle inscribed in a square."}
{"id": 10, "question_number": 3, "query": "in the given shape, draws two diameters of the circle that parallel the sides of the square.", "base_shape": "autotest/source/10_1.jpg", "result_shape": "Tasks/10/result_image/q3_image.png", "variables": "circle_radius=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.circle(circle_radius, 360)\nt.left(180)\nt.forward(circle_radius)\nt.right(90)\ndraw_polygon(4, 2 * circle_radius)\nt.forward(circle_radius)\nt.right(90)\nt.forward(2 * circle_radius)\nt.right(90)\nt.forward(circle_radius)\nt.right(90)\nt.forward(circle_radius)\nt.right(90)\nt.forward(2 * circle_radius)\n", "source_contours": 6, "description": "A circle inscribed in a square."}
{"id": 10, "question_number": 2, "query": "in the given shape, draws two diameters of the circle that exactly lay over the diagonals of the square.", "base_shape": "autotest/source/10_1.jpg", "result_shape": "Tasks/10/result_image/q2_image.png", "variables": "circle_radius=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.circle(circle_radius, 360)\nt.left(180)\nt.forward(circle_radius)\nt.right(90)\ndraw_polygon(4, 2 * circle_radius)\nt.forward(circle_radius)\nt.right(180)\nt.circle(circle_radius, 45)\nt.left(90)\nt.forward(2 * circle_radius)\nt.left(90)\nt.circle(circle_radius, 90)\nt.left(90)\nt.forward(2 * circle_radius)\n", "source_contours": 6, "description": "A circle inscribed in a square."}
{"id": 11, "question_number": 4, "query": "in the given shape, removes the upper triangle.", "base_shape": "autotest/source/11_1.jpg", "result_shape": "Tasks/11/result_image/q4_image.png", "variables": "large_triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\nfor i in range(3):\n t.forward(100)\n t.right(60)\nt.right(60)\nt.forward(large_triangle_side)\nt.right(120)\nt.forward(large_triangle_side/2)\nt.right(60)\ndraw_polygon(3, large_triangle_side/2)\nt.forward(large_triangle_side/4)\nt.right(60)\ndraw_polygon(3, large_triangle_side/4)\n", "source_contours": 8, "description": null}
{"id": 11, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/11_1.jpg", "result_shape": "Tasks/11/result_image/q1_image.png", "variables": "large_triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\ndraw_polygon(3, large_triangle_side)\nt.forward(large_triangle_side / 2)\nt.right(60)\ndraw_polygon(3, large_triangle_side/2)\nt.forward(large_triangle_side/4)\nt.right(60)\ndraw_polygon(3, large_triangle_side/4)\n", "source_contours": 8, "description": null}
{"id": 11, "question_number": 3, "query": "creates the given shape upside down.", "base_shape": "autotest/source/11_1.jpg", "result_shape": "Tasks/11/result_image/q3_image.png", "variables": "large_triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(0)\ndraw_polygon(3, large_triangle_side)\nt.forward(large_triangle_side / 2)\nt.right(60)\ndraw_polygon(3, large_triangle_side/2)\nt.forward(large_triangle_side/4)\nt.right(60)\ndraw_polygon(3, large_triangle_side/4)\n", "source_contours": 8, "description": null}
{"id": 11, "question_number": 2, "query": "in the given shape, removes the smallest triangle in the middle.", "base_shape": "autotest/source/11_1.jpg", "result_shape": "Tasks/11/result_image/q2_image.png", "variables": "large_triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\ndraw_polygon(3, large_triangle_side)\nt.forward(large_triangle_side/2)\nt.right(60)\ndraw_polygon(3, large_triangle_side/2)\n", "source_contours": 8, "description": null}
{"id": 12, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/12_1.jpg", "result_shape": "Tasks/12/result_image/q1_image.png", "variables": "square_side=200", "base_shape_code": "from math import sqrt, atan, pi\n\ndef draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\ndraw_polygon(4, square_side)\nt.right(atan(0.5) * 180 / pi)\nt.forward(square_side/2* sqrt(5))\nt.setheading(-135)\nt.forward(square_side/2 * sqrt(2))\nt.right(45 + atan(2) * 180 / pi)\nt.forward(square_side/2* sqrt(5))\n", "source_contours": 6, "description": "a circle with several straight lines intersecting at the center, dividing the circle into eight equal sections. The lines extend from the center to the circumference of the circle, creating eight pie-like segments."}
{"id": 13, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/13_1.jpg", "result_shape": "Tasks/13/result_image/q1_image.png", "variables": "radius=200", "base_shape_code": "for i in range(4):\n t.forward(radius)\n t.right(180)\n t.forward(2 * radius)\n t.right(180)\n t.forward(radius)\n t.right(45)\n\nt.forward(radius)\nt.right(270)\nt.circle(radius)\n", "source_contours": 9, "description": null}
{"id": 13, "question_number": 3, "query": "in the given shape, slices the circle into 6 equal pieces.", "base_shape": "autotest/source/13_1.jpg", "result_shape": "Tasks/13/result_image/q3_image.png", "variables": "radius=200", "base_shape_code": "for i in range(3):\n t.forward(radius)\n t.right(180)\n t.forward(2 * radius)\n t.right(180)\n t.forward(radius)\n t.right(60)\n\nt.forward(radius)\nt.right(270)\nt.circle(radius)\n", "source_contours": 9, "description": null}
{"id": 13, "question_number": 2, "query": "in the given shape, slices the circle into 16 equal pieces.", "base_shape": "autotest/source/13_1.jpg", "result_shape": "Tasks/13/result_image/q2_image.png", "variables": "radius=200", "base_shape_code": "for i in range(8):\n t.forward(radius)\n t.right(180)\n t.forward(2 * radius)\n t.right(180)\n t.forward(radius)\n t.right(22.5)\n\nt.forward(radius)\nt.right(270)\nt.circle(radius)\n", "source_contours": 9, "description": null}
{"id": 14, "question_number": 5, "query": "in the given shape removes the largest square but keeps the smaller squares and the triangle.", "base_shape": "autotest/source/14_1.jpg", "result_shape": "Tasks/14/result_image/q5_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.forward(triangle_sides[0])\nt.right(90)\ndraw_polygon(4, triangle_sides[0])\nt.left(180)\nt.forward(triangle_sides[1])\nt.right(90)\ndraw_polygon(4, triangle_sides[1])\nt.left(90)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(90)\n", "source_contours": 5, "description": null}
{"id": 14, "question_number": 4, "query": "in the given shape, substitutes the squares with regular hexagons that each share a side with the corresponding sides of the right triangles.", "base_shape": "autotest/source/14_1.jpg", "result_shape": "Tasks/14/result_image/q4_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nn_sides = 6\nsides_length = 20\ninner_angle = (n_sides - 2) * 180 / n_sides\nside_turn = 180 - inner_angle\nt.forward(triangle_sides[0])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[0])\nt.right(90 + inner_angle)\nt.forward(triangle_sides[1])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[1])\nt.left(180 - inner_angle)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[2])\n", "source_contours": 5, "description": null}
{"id": 14, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/14_1.jpg", "result_shape": "Tasks/14/result_image/q1_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.forward(triangle_sides[0])\nt.right(90)\ndraw_polygon(4, triangle_sides[0])\nt.left(180)\nt.forward(triangle_sides[1])\nt.right(90)\ndraw_polygon(4, triangle_sides[1])\nt.left(90)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(90)\ndraw_polygon(4, triangle_sides[2])\n", "source_contours": 5, "description": null}
{"id": 14, "question_number": 3, "query": "in the given shape, substitutes the squares with regular pentagons that each share a side with the corresponding sides of the right triangles.", "base_shape": "autotest/source/14_1.jpg", "result_shape": "Tasks/14/result_image/q3_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nn_sides = 5\ninner_angle = (n_sides - 2) * 180 / n_sides\nside_turn = 180 - inner_angle\nt.forward(triangle_sides[0])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[0])\nt.right(90 + inner_angle)\nt.forward(triangle_sides[1])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[1])\nt.left(180 - inner_angle)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[2])\n", "source_contours": 5, "description": null}
{"id": 14, "question_number": 2, "query": "in the given shape, substitutes the squares with equilateral triangles that each share a side with the corresponding sides of the right triangles.", "base_shape": "autotest/source/14_1.jpg", "result_shape": "Tasks/14/result_image/q2_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nn_sides = 3\nsides_length = 30\ninner_angle = (n_sides - 2) * 180 / n_sides\nside_turn = 180 - inner_angle\nt.forward(triangle_sides[0])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[0])\nt.right(90 + inner_angle)\nt.forward(triangle_sides[1])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[1])\nt.left(180 - inner_angle)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[2])\n", "source_contours": 5, "description": null}
{"id": 15, "question_number": 4, "query": "in the given shape removes all horizontal small squares but keeps all the other small squares.", "base_shape": "autotest/source/15_1.jpg", "result_shape": "Tasks/15/result_image/q4_image.png", "variables": "large_square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.right(45)\nx = 4\nfor i in range(x):\n draw_polygon(4, large_square_side / 2)\n t.right(360 / x)\n", "source_contours": 17, "description": null}
{"id": 15, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/15_1.jpg", "result_shape": "Tasks/15/result_image/q1_image.png", "variables": "large_square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nx = 8\nfor i in range(x):\n draw_polygon(4, large_square_side / 2)\n t.right(360 / x)\n", "source_contours": 17, "description": null}
{"id": 15, "question_number": 3, "query": "increases the number of small squares from 8 to 12 by following the same pattern of rotations.", "base_shape": "autotest/source/15_1.jpg", "result_shape": "Tasks/15/result_image/q3_image.png", "variables": "large_square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nx = 12\nfor i in range(x):\n draw_polygon(4, large_square_side / 2)\n t.right(360 / x)\n", "source_contours": 17, "description": null}
{"id": 15, "question_number": 2, "query": "in the given shape removes all small squares that look like diamonds but keeps all the other squares.", "base_shape": "autotest/source/15_1.jpg", "result_shape": "Tasks/15/result_image/q2_image.png", "variables": "large_square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nx = 4\nfor i in range(x):\n draw_polygon(4, large_square_side / 2)\n t.right(360 / x)\n", "source_contours": 17, "description": null}
{"id": 16, "question_number": 4, "query": "in the given shape, removes the second smallest triangle, the fourth smallest triangle, the sixth smallest triangle, and the eighth smallest triangle.", "base_shape": "autotest/source/16_1.jpg", "result_shape": "Tasks/16/result_image/q4_image.png", "variables": "smallest_triangle_legs=20", "base_shape_code": "def draw_right_isoceles(side_length):\n t.forward(side_length)\n t.left(90)\n t.forward(side_length)\n t.left(135)\n t.forward(side_length * sqrt(2))\nfor i in range(8):\n if i % 2 == 0:\n t.up()\n else: \n t.down()\n draw_right_isoceles(smallest_triangle_legs * sqrt(2 ** (i)))\n t.right(180)\n", "source_contours": 9, "description": null}
{"id": 16, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/16_1.jpg", "result_shape": "Tasks/16/result_image/q1_image.png", "variables": "smallest_triangle_legs=20", "base_shape_code": "def draw_right_isoceles(side_length):\n t.forward(side_length)\n t.left(90)\n t.forward(side_length)\n t.left(135)\n t.forward(side_length * sqrt(2))\nfor i in range(8):\n draw_right_isoceles(smallest_triangle_legs * sqrt(2 ** (i)))\n t.right(180)\n", "source_contours": 9, "description": null}
{"id": 16, "question_number": 3, "query": "in the given shape, removes the smallest triangle, the third smallest triangle, the fifth smallest triangle, and the seventh smallest triangle.", "base_shape": "autotest/source/16_1.jpg", "result_shape": "Tasks/16/result_image/q3_image.png", "variables": "smallest_triangle_legs=20", "base_shape_code": "def draw_right_isoceles(side_length):\n t.forward(side_length)\n t.left(90)\n t.forward(side_length)\n t.left(135)\n t.forward(side_length * sqrt(2))\nfor i in range(8):\n if i % 2 == 0:\n t.up()\n else: \n t.down()\n draw_right_isoceles(smallest_triangle_legs * sqrt(2 ** (i)))\n t.right(180)\n", "source_contours": 9, "description": null}
{"id": 16, "question_number": 2, "query": "in the given shape removes the two largest triangles but keeps the rest.", "base_shape": "autotest/source/16_1.jpg", "result_shape": "Tasks/16/result_image/q2_image.png", "variables": "smallest_triangle_legs=20", "base_shape_code": "def draw_right_isoceles(side_length):\n t.forward(side_length)\n t.left(90)\n t.forward(side_length)\n t.left(135)\n t.forward(side_length * sqrt(2))\nfor i in range(6):\n draw_right_isoceles(smallest_triangle_legs * sqrt(2 ** (i)))\n t.right(180)\n", "source_contours": 9, "description": null}
{"id": 17, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/17_1.jpg", "result_shape": "Tasks/17/result_image/q1_image.png", "variables": "semicircle_radius=100", "base_shape_code": "for i in range(4):\n t.right(90)\n t.circle(semicircle_radius, -180)\n", "source_contours": 6, "description": null}
{"id": 18, "question_number": 5, "query": "rotates the whole shape 60 degrees to the left.", "base_shape": "autotest/source/18_1.jpg", "result_shape": "Tasks/18/result_image/q5_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(60)\ndraw_polygon(3, triangle_side)\nt.left(120)\ndraw_polygon(3, triangle_side)\nt.left(120)\ndraw_polygon(3, triangle_side)\n", "source_contours": 4, "description": null}
{"id": 18, "question_number": 4, "query": "rotates the whole shape 120 degrees to the left.", "base_shape": "autotest/source/18_1.jpg", "result_shape": "Tasks/18/result_image/q4_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(0)\ndraw_polygon(3, triangle_side)\nt.left(120)\ndraw_polygon(3, triangle_side)\n\nt.left(120)\ndraw_polygon(3, triangle_side)\n", "source_contours": 4, "description": null}
{"id": 18, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/18_1.jpg", "result_shape": "Tasks/18/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(0)\ndraw_polygon(3, triangle_side)\nt.left(120)\ndraw_polygon(3, triangle_side)\n\nt.left(120)\ndraw_polygon(3, triangle_side)\n", "source_contours": 4, "description": null}
{"id": 18, "question_number": 3, "query": "in the given shape removes the upper triangle.", "base_shape": "autotest/source/18_1.jpg", "result_shape": "Tasks/18/result_image/q3_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.right(120)\ndraw_polygon(3, triangle_side)\nt.left(120)\ndraw_polygon(3, triangle_side)\n", "source_contours": 4, "description": null}
{"id": 18, "question_number": 2, "query": "in the given shape fills the gaps between the triangles with new triangles of the same size.", "base_shape": "autotest/source/18_1.jpg", "result_shape": "Tasks/18/result_image/q2_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(0)\nfor i in range(6): \n draw_polygon(3, triangle_side)\n t.left(60)\n", "source_contours": 4, "description": null}
{"id": 19, "question_number": 4, "query": "in the given shape, rotates the upper pentagon by 180 degrees to the left around its bottom vertex but keeps the others at the same position and orientation.", "base_shape": "autotest/source/19_1.jpg", "result_shape": "Tasks/19/result_image/q4_image.png", "variables": "pentagon_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(72)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(108)\ndraw_polygon(5, pentagon_side)\n", "source_contours": 6, "description": null}
{"id": 19, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/19_1.jpg", "result_shape": "Tasks/19/result_image/q1_image.png", "variables": "pentagon_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(72)\ndraw_polygon(5, pentagon_side)\n", "source_contours": 6, "description": null}
{"id": 19, "question_number": 3, "query": "creates the given shape upside down.", "base_shape": "autotest/source/19_1.jpg", "result_shape": "Tasks/19/result_image/q3_image.png", "variables": "pentagon_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(180)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(72)\ndraw_polygon(5, pentagon_side)\n", "source_contours": 6, "description": null}
{"id": 19, "question_number": 2, "query": "in the given shape removes the upper pentagon.", "base_shape": "autotest/source/19_1.jpg", "result_shape": "Tasks/19/result_image/q2_image.png", "variables": "pentagon_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(144)\ndraw_polygon(5, pentagon_side)\n", "source_contours": 6, "description": null}
{"id": 20, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/20_1.jpg", "result_shape": "Tasks/20/result_image/q1_image.png", "variables": "star_side=200", "base_shape_code": "def poly(side, angle):\n for i in range(8):\n t.forward(side)\n t.right(angle)\npoly(star_side, 135)\n", "source_contours": 18, "description": null}
{"id": 20, "question_number": 3, "query": "duplicates the given shape and places the new shape adjacent to the existing one where a pair of corresponding vertices from each star touches one another.", "base_shape": "autotest/source/20_1.jpg", "result_shape": "Tasks/20/result_image/q3_image.png", "variables": "star_side=200", "base_shape_code": "def poly(side, angle):\n for i in range(8):\n t.forward(side)\n t.right(angle)\npoly(star_side, 135)\nt.left(225)\npoly(star_side, 135)\n", "source_contours": 18, "description": null}
{"id": 20, "question_number": 2, "query": "in the given shape removes the two squares in the middle.", "base_shape": "autotest/source/20_1.jpg", "result_shape": "Tasks/20/result_image/q2_image.png", "variables": "star_side=200", "base_shape_code": "for i in range(8):\n t.forward(50)\n t.right(135)\n t.forward(50)\n t.left(90)\n", "source_contours": 18, "description": null}
{"id": 21, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/21_1.jpg", "result_shape": "Tasks/21/result_image/q1_image.png", "variables": "angles_between_branches=90\nroot_length=150", "base_shape_code": "def branch(side, level):\n if level == 0:\n return\n t.forward(side)\n t.left(angles_between_branches/2)\n branch(side / 2, level - 1)\n t.right(angles_between_branches)\n branch(side / 2, level - 1)\n t.left(angles_between_branches/2)\n t.forward(- side)\nt.left(90)\nbranch(root_length, 5)\n", "source_contours": 1, "description": null}
{"id": 22, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/22_1.jpg", "result_shape": "Tasks/22/result_image/q1_image.png", "variables": "side=30", "base_shape_code": "for i in range(7):\n t.forward(side)\n if i % 2 == 0:\n t.right(90)\n else:\n t.right(-90)\n", "source_contours": 1, "description": "a series of three and a half steps that look like a staircase viewed from the side. Starting from the top left, there is a short horizontal line that moves to the right, followed by a vertical line going downwards, forming the first step. This is followed by two more full steps, each consisting of a horizontal line followed by a vertical line. After the third step, there is a final horizontal line that represents the half step, without a subsequent vertical line descending from it. "}
{"id": 22, "question_number": 3, "query": "removes the upper step in the given shape.", "base_shape": "autotest/source/22_1.jpg", "result_shape": "Tasks/22/result_image/q3_image.png", "variables": "side=30", "base_shape_code": "for i in range(5):\n t.forward(side)\n if i % 2 == 0:\n t.right(90)\n else:\n t.right(-90)\n", "source_contours": 1, "description": "a series of three and a half steps that look like a staircase viewed from the side. Starting from the top left, there is a short horizontal line that moves to the right, followed by a vertical line going downwards, forming the first step. This is followed by two more full steps, each consisting of a horizontal line followed by a vertical line. After the third step, there is a final horizontal line that represents the half step, without a subsequent vertical line descending from it. "}
{"id": 22, "question_number": 2, "query": "in the given shape adds an ascending staircase to the right of the existing one of a similar length.", "base_shape": "autotest/source/22_1.jpg", "result_shape": "Tasks/22/result_image/q2_image.png", "variables": "side=30", "base_shape_code": "for i in range(7):\n t.forward(side)\n if i % 2 == 0:\n t.right(90)\n else:\n t.right(-90)\nt.left(90)\nfor i in range(7):\n t.forward(side)\n if i % 2 == 0:\n t.left(90)\n else:\n t.left(-90)\n", "source_contours": 1, "description": "a series of three and a half steps that look like a staircase viewed from the side. Starting from the top left, there is a short horizontal line that moves to the right, followed by a vertical line going downwards, forming the first step. This is followed by two more full steps, each consisting of a horizontal line followed by a vertical line. After the third step, there is a final horizontal line that represents the half step, without a subsequent vertical line descending from it. "}
{"id": 23, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/23_1.jpg", "result_shape": "Tasks/23/result_image/q1_image.png", "variables": "side=30", "base_shape_code": "for _ in range(4):\n for i in range(7):\n t.forward(side)\n if i % 2 == 0:\n t.right(90)\n else:\n t.right(-90)\n t.right(-180)\n", "source_contours": 1, "description": null}
{"id": 24, "question_number": 4, "query": "in the given shape replaces the larger triangle with a square of a similar side length.", "base_shape": "autotest/source/24_1.jpg", "result_shape": "Tasks/24/result_image/q4_image.png", "variables": "large_triangle_side=150\nsmall_triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\ndraw_polygon(3, small_triangle_side)\nt.left(120)\ndraw_polygon(4, large_triangle_side)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles sharing a horizontal common base both pointing upward, where the left triangle is larger than the right one."}
{"id": 24, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/24_1.jpg", "result_shape": "Tasks/24/result_image/q1_image.png", "variables": "large_triangle_side=150\nsmall_triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\ndraw_polygon(3, small_triangle_side)\nt.left(120)\ndraw_polygon(3, large_triangle_side)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles sharing a horizontal common base both pointing upward, where the left triangle is larger than the right one."}
{"id": 24, "question_number": 3, "query": "in the given shape replaces the smaller triangle with a square of a similar side length.", "base_shape": "autotest/source/24_1.jpg", "result_shape": "Tasks/24/result_image/q3_image.png", "variables": "large_triangle_side=150\nsmall_triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(180)\ndraw_polygon(3, large_triangle_side)\nt.right(90)\ndraw_polygon(4, small_triangle_side)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles sharing a horizontal common base both pointing upward, where the left triangle is larger than the right one."}
{"id": 24, "question_number": 2, "query": "adds two triangles to the right of the existing shape to make it vertically symmetrical.", "base_shape": "autotest/source/24_1.jpg", "result_shape": "Tasks/24/result_image/q2_image.png", "variables": "large_triangle_side=150\nsmall_triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\ndraw_polygon(3, small_triangle_side)\nt.left(120)\ndraw_polygon(3, large_triangle_side)\nt.forward(-100)\ndraw_polygon(3, small_triangle_side)\nt.right(120)\ndraw_polygon(3, large_triangle_side)\n", "source_contours": 3, "description": "Two adjacent equilateral triangles sharing a horizontal common base both pointing upward, where the left triangle is larger than the right one."}
{"id": 25, "question_number": 4, "query": "in the given shape reflects the middle triangle over the common base of the triangles.", "base_shape": "autotest/source/25_1.jpg", "result_shape": "Tasks/25/result_image/q4_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\nt.forward(2 * triangle_side)\nfor i in range(3):\n t.forward(-triangle_side)\n if i == 1:\n t.right(60)\n draw_polygon(3, triangle_side)\n if i == 1:\n t.left(60)\n", "source_contours": 4, "description": "Three adjacent equilateral triangles sharing a common base, all pointing upward, forming a symmetrical figure along a vertical axis."}
{"id": 25, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/25_1.jpg", "result_shape": "Tasks/25/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\nt.forward(2 * triangle_side)\nfor i in range(3):\n t.forward(-triangle_side)\n draw_polygon(3, triangle_side)\n", "source_contours": 4, "description": "Three adjacent equilateral triangles sharing a common base, all pointing upward, forming a symmetrical figure along a vertical axis."}
{"id": 25, "question_number": 3, "query": "in the given shape draws a circle that the base line of the triangles is its diameter.", "base_shape": "autotest/source/25_1.jpg", "result_shape": "Tasks/25/result_image/q3_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\nt.forward(2 * triangle_side)\nfor i in range(3):\n t.forward(-triangle_side)\n draw_polygon(3, triangle_side)\nt.left(-90)\nt.circle(triangle_side * 1.5)\n", "source_contours": 4, "description": "Three adjacent equilateral triangles sharing a common base, all pointing upward, forming a symmetrical figure along a vertical axis."}
{"id": 25, "question_number": 2, "query": "in the given shape adds three triangles to make a horizontally symmetrical shape.", "base_shape": "autotest/source/25_1.jpg", "result_shape": "Tasks/25/result_image/q2_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\nt.forward(2 * triangle_side)\nfor i in range(3):\n t.forward(-triangle_side)\n draw_polygon(3, triangle_side)\n\nt.left(180)\nfor i in range(3):\n t.forward(-triangle_side)\n draw_polygon(3, triangle_side)\n", "source_contours": 4, "description": "Three adjacent equilateral triangles sharing a common base, all pointing upward, forming a symmetrical figure along a vertical axis."}
{"id": 26, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/26_1.jpg", "result_shape": "Tasks/26/result_image/q1_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\nt.forward(2 * small_square_side)\nfor i in range(3):\n t.forward(-small_square_side)\n draw_polygon(4, small_square_side)\n", "source_contours": 4, "description": "Three adjacent squares sharing a common base, side by side, enclosed within a larger rectangle, resembling a segmented bar."}
{"id": 26, "question_number": 3, "query": "shifts the squares in the center upward by a distance equal to its side length.", "base_shape": "autotest/source/26_1.jpg", "result_shape": "Tasks/26/result_image/q3_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\n\ndraw_polygon(4, small_square_side)\nt.forward(small_square_side)\nt.left(90)\nt.forward(small_square_side)\nt.right(90)\ndraw_polygon(4, small_square_side)\nt.forward(small_square_side)\nt.right(90)\nt.forward(small_square_side)\nt.left(90)\ndraw_polygon(4, small_square_side)\n", "source_contours": 4, "description": "Three adjacent squares sharing a common base, side by side, enclosed within a larger rectangle, resembling a segmented bar."}
{"id": 26, "question_number": 2, "query": "removes the squares on the left and the right.", "base_shape": "autotest/source/26_1.jpg", "result_shape": "Tasks/26/result_image/q2_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\n\ndraw_polygon(4, small_square_side)\n", "source_contours": 4, "description": "Three adjacent squares sharing a common base, side by side, enclosed within a larger rectangle, resembling a segmented bar."}
{"id": 27, "question_number": 4, "query": "in the given shape removes the quarter circles on the top and the bottom of the square.", "base_shape": "autotest/source/27_1.jpg", "result_shape": "Tasks/27/result_image/q4_image.png", "variables": "square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\ndraw_polygon(4, square_side)\nt.left(-135)\nt.up()\nt.circle(square_side/2 * sqrt(2), -90)\nt.down()\nt.circle(square_side/2 * sqrt(2), -90)\nt.up()\nt.circle(square_side/2 * sqrt(2), -90)\nt.down()\nt.circle(square_side/2 * sqrt(2), -90)\n", "source_contours": 6, "description": "A square inscribed in a circle."}
{"id": 27, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/27_1.jpg", "result_shape": "Tasks/27/result_image/q1_image.png", "variables": "square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\ndraw_polygon(4, square_side)\nt.left(-135)\nt.circle(square_side/2 * sqrt(2), -360)\n", "source_contours": 6, "description": "A square inscribed in a circle."}
{"id": 27, "question_number": 3, "query": "in the given shape removes the quarter circles on the left and the right of the square.", "base_shape": "autotest/source/27_1.jpg", "result_shape": "Tasks/27/result_image/q3_image.png", "variables": "square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\ndraw_polygon(4, square_side)\nt.left(-135)\nt.circle(square_side/2 * sqrt(2), -90)\nt.up()\nt.circle(square_side/2 * sqrt(2), -90)\nt.down()\nt.circle(100 * sqrt(2), -90)\n", "source_contours": 6, "description": "A square inscribed in a circle."}
{"id": 27, "question_number": 2, "query": "in the given shape, slices the bigger square into 4 smaller equal squares.", "base_shape": "autotest/source/27_1.jpg", "result_shape": "Tasks/27/result_image/q2_image.png", "variables": "square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, square_side/2)\n t.right(90)\nt.forward(square_side/2)\nt.right(90)\nt.forward(square_side/2)\nt.left(135)\nt.circle(square_side/2 * sqrt(2), -360)\n", "source_contours": 6, "description": "A square inscribed in a circle."}
{"id": 28, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/28_1.jpg", "result_shape": "Tasks/28/result_image/q1_image.png", "variables": "square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\ndraw_polygon(4, square_side)\nt.right(45)\nt.forward(square_side * sqrt(2))\nt.right(135)\nt.forward(square_side)\nt.right(135)\nt.forward(square_side * sqrt(2))\n", "source_contours": 5, "description": "a square with its two diagonals"}
{"id": 29, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/29_1.jpg", "result_shape": "Tasks/29/result_image/q1_image.png", "variables": "square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\ndraw_polygon(4, square_side)\nt.right(45)\nt.forward(square_side * sqrt(2))\nt.right(135)\nt.forward(square_side)\n", "source_contours": 3, "description": "a square with one of its diagonals from top left to bottom right"}
{"id": 30, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/30_1.jpg", "result_shape": "Tasks/30/result_image/q1_image.png", "variables": "square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\ndraw_polygon(4, square_side)\nt.forward(square_side)\nt.right(135)\nt.forward(square_side * sqrt(2))\n", "source_contours": 3, "description": "a square with one of its diagonals from top right to bottom left"}
{"id": 30, "question_number": 2, "query": "in the given shape removes the triangle on the bottom.", "base_shape": "autotest/source/30_1.jpg", "result_shape": "Tasks/30/result_image/q2_image.png", "variables": "square_side=200", "base_shape_code": "t.forward(square_side)\nt.right(135)\nt.forward(square_side * sqrt(2))\nt.right(135)\nt.forward(square_side)\n", "source_contours": 3, "description": "a square with one of its diagonals from top right to bottom left"}
{"id": 31, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/31_1.jpg", "result_shape": "Tasks/31/result_image/q1_image.png", "variables": "square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(0)\ndraw_polygon(4, square_side)\nt.right(180)\ndraw_polygon(4, square_side)\n", "source_contours": 3, "description": "two squares connected at one corner. The square on the top left is aligned with the bottom right square such that one of its sides continues as one side of the other square"}
{"id": 31, "question_number": 2, "query": "adds two squares to the existing shape to make it horizontally and vertically symmetrical.", "base_shape": "autotest/source/31_1.jpg", "result_shape": "Tasks/31/result_image/q2_image.png", "variables": "square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(0)\nfor i in range(4):\n draw_polygon(4, square_side)\n t.right(90)\n", "source_contours": 3, "description": "two squares connected at one corner. The square on the top left is aligned with the bottom right square such that one of its sides continues as one side of the other square"}
{"id": 32, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/32_1.jpg", "result_shape": "Tasks/32/result_image/q1_image.png", "variables": "radius=100", "base_shape_code": "t.circle(radius)\nt.right(180)\nt.circle(radius)\nt.right(90)\nt.forward(2 * radius)\n", "source_contours": 4, "description": "Two circles on top of each other + the vertical diameter of the upper circle."}
{"id": 33, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/33_1.jpg", "result_shape": "Tasks/33/result_image/q1_image.png", "variables": "square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.setheading(135)\ndraw_polygon(4, square_side)\nt.left(-135)\nt.circle(square_side/2 * sqrt(2), 360)\nt.right(45)\ndraw_polygon(4, square_side)\nt.left(-135)\nt.circle(square_side/2 * sqrt(2), 360)\n", "source_contours": 19, "description": null}
{"id": 34, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/34_1.jpg", "result_shape": "Tasks/34/result_image/q1_image.png", "variables": "side=80", "base_shape_code": "for _ in range(4):\n t.forward(side)\n t.left(90)\n t.forward(side)\n t.right(90)\n t.forward(side)\n t.right(90)\n", "source_contours": 1, "description": null}
{"id": 35, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/35_1.jpg", "result_shape": "Tasks/35/result_image/q1_image.png", "variables": "triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\ndraw_polygon(3, triangle_side)\nt.right(90)\nt.circle(triangle_side/2, -180)\n", "source_contours": 3, "description": "a combination of a semicircle on top and an equilateral triangle beneath it, sharing the same base, resembling an ice cream cone."}
{"id": 36, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/36_1.jpg", "result_shape": "Tasks/36/result_image/q1_image.png", "variables": "large_circle_radius=100\nsmall_circle_radius=50", "base_shape_code": "t.setheading(90)\nt.circle(large_circle_radius, 360)\nt.right(180)\nt.circle(small_circle_radius, 360)\n", "source_contours": 3, "description": "two distinct circles placed adjacently, touching at one point. The larger circle is to the left, and the smaller circle is to the right."}
{"id": 36, "question_number": 3, "query": "in the given shape inserts the smaller circle on top of the larger circle.", "base_shape": "autotest/source/36_1.jpg", "result_shape": "Tasks/36/result_image/q3_image.png", "variables": "large_circle_radius=100\nsmall_circle_radius=50", "base_shape_code": "t.setheading(90)\nt.circle(large_circle_radius, 450)\nt.right(180)\nt.circle(small_circle_radius, 360)\n", "source_contours": 3, "description": "two distinct circles placed adjacently, touching at one point. The larger circle is to the left, and the smaller circle is to the right."}
{"id": 36, "question_number": 2, "query": "in the given shape inserts a circle of an equal size to the smaller circle on the left of the bigger circle to make a vertically symmetrical shape.", "base_shape": "autotest/source/36_1.jpg", "result_shape": "Tasks/36/result_image/q2_image.png", "variables": "large_circle_radius=100\nsmall_circle_radius=50", "base_shape_code": "t.setheading(90)\nt.circle(large_circle_radius, 360)\nt.right(180)\nt.circle(small_circle_radius, 360)\nt.right(180)\nt.circle(large_circle_radius, 180)\nt.right(180)\nt.circle(small_circle_radius, 360)\n", "source_contours": 3, "description": "two distinct circles placed adjacently, touching at one point. The larger circle is to the left, and the smaller circle is to the right."}
{"id": 37, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/37_1.jpg", "result_shape": "Tasks/37/result_image/q1_image.png", "variables": "half_lines_length=50\nsemicircle_radius=50", "base_shape_code": "t.forward(half_lines_length)\nt.right(90)\nt.circle(semicircle_radius, -180)\nt.right(90)\nt.forward(half_lines_length)\n", "source_contours": 1, "description": null}
{"id": 38, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/38_1.jpg", "result_shape": "Tasks/38/result_image/q1_image.png", "variables": "circles_radi=[100, 70, 40]", "base_shape_code": "t.circle(circles_radi[2])\nt.circle(circles_radi[1])\nt.circle(circles_radi[0])\n", "source_contours": 4, "description": "three circles with different radi lengths all sharing only one point at the bottom"}
{"id": 39, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/39_1.jpg", "result_shape": "Tasks/39/result_image/q1_image.png", "variables": "circles_radi=[100, 60, 20]", "base_shape_code": "for i in range(3):\n t.circle(circles_radi[2 - i])\n t.up()\n t.right(90)\n t.forward(40)\n t.left(90)\n t.down()\n", "source_contours": 6, "description": "Three concentric circles."}
{"id": 39, "question_number": 3, "query": "recreates the given shape without the smallest circle.", "base_shape": "autotest/source/39_1.jpg", "result_shape": "Tasks/39/result_image/q3_image.png", "variables": "circles_radi=[100, 60, 20]", "base_shape_code": "for i in range(1, 3):\n t.circle(circles_radi[2 - i])\n t.up()\n t.right(90)\n t.forward(40)\n t.left(90)\n t.down()\n", "source_contours": 6, "description": "Three concentric circles."}
{"id": 39, "question_number": 2, "query": "recreates the given shape without the second largest circle.", "base_shape": "autotest/source/39_1.jpg", "result_shape": "Tasks/39/result_image/q2_image.png", "variables": "circles_radi=[100, 60, 20]", "base_shape_code": "for i in range(3):\n if i != 1:\n t.circle(circles_radi[2 - i])\n t.up()\n t.right(90)\n t.forward(40)\n t.left(90)\n t.down()\n", "source_contours": 6, "description": "Three concentric circles."}
{"id": 40, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/40_1.jpg", "result_shape": "Tasks/40/result_image/q1_image.png", "variables": "large_semicircle_radius=120", "base_shape_code": "t.right(90)\nt.circle(large_semicircle_radius, -180)\nt.circle(large_semicircle_radius/2, 180)\nt.right(180)\nt.circle(large_semicircle_radius/2, 180)\n", "source_contours": 4, "description": null}
{"id": 40, "question_number": 2, "query": "in the given shape, replaces semicircles with complete circles to make the shape horizontally and vertically symmetric.", "base_shape": "autotest/source/40_1.jpg", "result_shape": "Tasks/40/result_image/q2_image.png", "variables": "large_semicircle_radius=120", "base_shape_code": "t.right(90)\nfor i in range(2):\n t.circle(large_semicircle_radius / 2)\n t.right(180)\n\nt.circle(large_semicircle_radius / 2, 180)\nt.circle(large_semicircle_radius)\n", "source_contours": 4, "description": null}
{"id": 41, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/41_1.jpg", "result_shape": "Tasks/41/result_image/q1_image.png", "variables": "triangle_side=200\nsemicircle_radius=40", "base_shape_code": "for i in range(3):\n t.forward((triangle_side-semicircle_radius)/2)\n t.right(90)\n t.circle(semicircle_radius, -180)\n t.right(90)\n t.forward((triangle_side-semicircle_radius)/2)\n t.left(120)\n", "source_contours": 1, "description": null}
{"id": 41, "question_number": 2, "query": "recreates the given shape with semicircles inverted.", "base_shape": "autotest/source/41_1.jpg", "result_shape": "Tasks/41/result_image/q2_image.png", "variables": "triangle_side=200\nsemicircle_radius=40", "base_shape_code": "for i in range(3):\n t.forward((triangle_side-semicircle_radius)/2)\n t.right(90)\n t.circle(semicircle_radius, 180)\n t.right(90)\n t.forward((triangle_side-semicircle_radius)/2)\n t.left(120)\n", "source_contours": 1, "description": null}
{"id": 42, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/42_1.jpg", "result_shape": "Tasks/42/result_image/q1_image.png", "variables": "triangle_side=200\nsemicircle_radius=40", "base_shape_code": "t.forward((triangle_side-2 * semicircle_radius)/2)\nt.right(90)\nt.circle(semicircle_radius, -180)\nt.right(90)\nt.forward((triangle_side-2 * semicircle_radius)/2)\nt.left(120)\nt.forward(triangle_side)\nt.left(120)\nt.forward(triangle_side)\n", "source_contours": 1, "description": null}
{"id": 42, "question_number": 2, "query": "creates the given shape with the semicircle inverted.", "base_shape": "autotest/source/42_1.jpg", "result_shape": "Tasks/42/result_image/q2_image.png", "variables": "triangle_side=200\nsemicircle_radius=40", "base_shape_code": "t.forward((triangle_side-2 * semicircle_radius)/2)\nt.right(90)\nt.circle(semicircle_radius, 180)\nt.right(90)\nt.forward((triangle_side-2 * semicircle_radius)/2)\nt.left(120)\nt.forward(triangle_side)\nt.left(120)\nt.forward(triangle_side)\n", "source_contours": 1, "description": null}
{"id": 43, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/43_1.jpg", "result_shape": "Tasks/43/result_image/q1_image.png", "variables": "square_side=200\nsemicircle_radius=40", "base_shape_code": "for i in range(4):\n t.forward((square_side-semicircle_radius)/2)\n t.right(90)\n t.circle(semicircle_radius, -180)\n t.right(90)\n t.forward((square_side-semicircle_radius)/2)\n t.left(90)\n", "source_contours": 1, "description": null}
{"id": 43, "question_number": 2, "query": "creates the given shape but reflects each semicircle across the side of the square on which it is.", "base_shape": "autotest/source/43_1.jpg", "result_shape": "Tasks/43/result_image/q2_image.png", "variables": "square_side=200\nsemicircle_radius=40", "base_shape_code": "for i in range(4):\n t.forward((square_side-semicircle_radius)/2)\n t.right(90)\n t.circle(semicircle_radius, 180)\n t.right(90)\n t.forward((square_side-semicircle_radius)/2)\n t.left(90)\n", "source_contours": 1, "description": null}
{"id": 44, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/44_1.jpg", "result_shape": "Tasks/44/result_image/q1_image.png", "variables": "semicircle_radius=20", "base_shape_code": "for i in range(3):\n t.circle(semicircle_radius, -180)\n t.right(180)\n t.circle(semicircle_radius, 180)\n t.right(180)\n", "source_contours": 1, "description": null}
{"id": 44, "question_number": 2, "query": "creates the same shape without the two semicircles on top and at the bottom.", "base_shape": "autotest/source/44_1.jpg", "result_shape": "Tasks/44/result_image/q2_image.png", "variables": "semicircle_radius=20", "base_shape_code": "for i in range(2):\n t.circle(semicircle_radius, 180)\n t.right(180)\n t.circle(semicircle_radius, -180)\n t.right(180)\n", "source_contours": 1, "description": null}
{"id": 45, "question_number": 4, "query": "es the given shape + the diagonals of all of the smaller squares.", "base_shape": "autotest/source/45_1.jpg", "result_shape": "Tasks/45/result_image/q4_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_square_and_diagonals(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n t.right(45)\n t.forward(length * sqrt(2))\n t.right(135)\n t.forward(length)\n t.right(135)\n t.forward(length * sqrt(2))\n t.right(45)\n t.forward(-length)\n\n \nx = 4\nfor i in range(x):\n draw_square_and_diagonals(4, small_square_side)\n t.right(360 / x)\n", "source_contours": 5, "description": "Four squares of an equal size that form a larger square."}
{"id": 45, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/45_1.jpg", "result_shape": "Tasks/45/result_image/q1_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nx = 4\nfor i in range(x):\n draw_polygon(4, small_square_side)\n t.right(360 / x)\n", "source_contours": 5, "description": "Four squares of an equal size that form a larger square."}
{"id": 45, "question_number": 3, "query": "es the given shape + the diagonals of the larger square.", "base_shape": "autotest/source/45_1.jpg", "result_shape": "Tasks/45/result_image/q3_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nx = 4\nfor i in range(x):\n draw_polygon(4, small_square_side)\n t.right(360 / x)\n\nt.right(45)\nt.forward(-small_square_side * sqrt(2))\nt.forward(small_square_side * 2 * sqrt(2))\nt.right(135)\nt.forward(small_square_side * 2)\nt.right(135)\nt.forward(small_square_side * 2 * sqrt(2))\n", "source_contours": 5, "description": "Four squares of an equal size that form a larger square."}
{"id": 45, "question_number": 2, "query": "in the given shape removes the small square on the top right.", "base_shape": "autotest/source/45_1.jpg", "result_shape": "Tasks/45/result_image/q2_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nx = 4\nfor i in range(x - 1):\n draw_polygon(4, small_square_side)\n t.right(360 / x)\n", "source_contours": 5, "description": "Four squares of an equal size that form a larger square."}
{"id": 46, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/46_1.jpg", "result_shape": "Tasks/46/result_image/q1_image.png", "variables": "line_segment=80\ncircle_radius=20", "base_shape_code": "for i in range(3):\n t.forward(line_segment)\n t.circle(circle_radius)\n t.forward(-line_segment)\n t.right(120)\n", "source_contours": 4, "description": null}
{"id": 46, "question_number": 2, "query": "creates the given shape upside down.", "base_shape": "autotest/source/46_1.jpg", "result_shape": "Tasks/46/result_image/q2_image.png", "variables": "line_segment=80\ncircle_radius=20", "base_shape_code": "for i in range(3):\n t.forward(line_segment)\n t.circle(circle_radius)\n t.forward(-line_segment)\n t.right(120)\n", "source_contours": 4, "description": null}
{"id": 47, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/47_1.jpg", "result_shape": "Tasks/47/result_image/q1_image.png", "variables": "line_segment=80\nsquare_side=40", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(3):\n t.forward(line_segment)\n draw_polygon(4, square_side)\n t.forward(-line_segment)\n t.right(120)\n", "source_contours": 4, "description": null}
{"id": 47, "question_number": 2, "query": "creates the given shape upside down.", "base_shape": "autotest/source/47_1.jpg", "result_shape": "Tasks/47/result_image/q2_image.png", "variables": "line_segment=80\nsquare_side=40", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.left(outer_turn)\n\nfor i in range(3):\n t.forward(line_segment)\n draw_polygon(4, square_side)\n t.forward(-line_segment)\n t.right(120)\n", "source_contours": 4, "description": null}
{"id": 48, "question_number": 4, "query": "creates the same shape and also inserts the diagonal of the second smallest square from top left to bottom right.", "base_shape": "autotest/source/48_1.jpg", "result_shape": "Tasks/48/result_image/q4_image.png", "variables": "squares_sides=[40, 80, 120, 160]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, squares_sides[i])\nt.right(45)\nt.forward(squares_sides[1] * sqrt(2))\n", "source_contours": 5, "description": null}
{"id": 48, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/48_1.jpg", "result_shape": "Tasks/48/result_image/q1_image.png", "variables": "squares_sides=[40, 80, 120, 160]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, squares_sides[i])\n", "source_contours": 5, "description": null}
{"id": 48, "question_number": 3, "query": "creates the same shape and also inserts the diagonal of the largest square from top left to bottom right.", "base_shape": "autotest/source/48_1.jpg", "result_shape": "Tasks/48/result_image/q3_image.png", "variables": "squares_sides=[40, 80, 120, 160]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, squares_sides[i])\nt.right(45)\nt.forward(squares_sides[3] * sqrt(2))\n", "source_contours": 5, "description": null}
{"id": 48, "question_number": 2, "query": "creates the same shape upside down.", "base_shape": "autotest/source/48_1.jpg", "result_shape": "Tasks/48/result_image/q2_image.png", "variables": "squares_sides=[40, 80, 120, 160]", "base_shape_code": "t.right(270)\ndef draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, squares_sides[i])\n", "source_contours": 5, "description": null}
{"id": 49, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/49_1.jpg", "result_shape": "Tasks/49/result_image/q1_image.png", "variables": "small_circle_radius=80", "base_shape_code": "r = 80\nfor i in range(4):\n t.circle(small_circle_radius)\n t.right(90)\n\nt.circle(small_circle_radius, 180)\nt.circle(2 * small_circle_radius)\n", "source_contours": 29, "description": null}
{"id": 49, "question_number": 3, "query": "in the given shape removes the small circles on top and the bottom.", "base_shape": "autotest/source/49_1.jpg", "result_shape": "Tasks/49/result_image/q3_image.png", "variables": "small_circle_radius=80", "base_shape_code": "t.right(90)\nfor i in range(2):\n t.circle(small_circle_radius)\n t.right(180)\n\nt.circle(small_circle_radius, 180)\nt.circle(2 * small_circle_radius)\n", "source_contours": 29, "description": null}
{"id": 49, "question_number": 2, "query": "in the given shape removes the small circles on the left and the right.", "base_shape": "autotest/source/49_1.jpg", "result_shape": "Tasks/49/result_image/q2_image.png", "variables": "small_circle_radius=80", "base_shape_code": "for i in range(2):\n t.circle(small_circle_radius)\n t.right(180)\n\nt.circle(small_circle_radius, 180)\nt.circle(2 * small_circle_radius)\n", "source_contours": 29, "description": null}
{"id": 50, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/50_1.jpg", "result_shape": "Tasks/50/result_image/q1_image.png", "variables": "small_circle_radius=100", "base_shape_code": "for i in range(4):\n t.circle(small_circle_radius)\n t.right(90)\n\nt.circle(small_circle_radius, 180)\n", "source_contours": 13, "description": null}
{"id": 50, "question_number": 3, "query": "in the given shape removes the small circles on the left and the right.", "base_shape": "autotest/source/50_1.jpg", "result_shape": "Tasks/50/result_image/q3_image.png", "variables": "small_circle_radius=100", "base_shape_code": "for i in range(2):\n t.circle(small_circle_radius)\n t.right(180)\n\nt.circle(small_circle_radius, 180)\n", "source_contours": 13, "description": null}
{"id": 50, "question_number": 2, "query": "in the given shape circumscribes all the circles in a larger circle.", "base_shape": "autotest/source/50_1.jpg", "result_shape": "Tasks/50/result_image/q2_image.png", "variables": "small_circle_radius=100", "base_shape_code": "for i in range(4):\n t.circle(small_circle_radius)\n t.right(90)\n\nt.circle(small_circle_radius, 180)\nt.circle(2 * small_circle_radius)\n", "source_contours": 13, "description": null}
{"id": 51, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/51_1.jpg", "result_shape": "Tasks/51/result_image/q1_image.png", "variables": "small_circle_radius=100", "base_shape_code": "for i in range(6):\n t.circle(small_circle_radius)\n t.right(60)\n\nt.circle(small_circle_radius, 180)\nt.circle(2 * small_circle_radius)\n", "source_contours": 31, "description": null}
{"id": 52, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/52_1.jpg", "result_shape": "Tasks/52/result_image/q1_image.png", "variables": "square_side=200", "base_shape_code": "for i in range(8):\n t.forward((1 + sqrt(2)) * square_side / (2 + sqrt(2)))\n t.right(45)\n t.forward((1 + sqrt(2)) * square_side / (2 + sqrt(2)))\n t.right(90)\n", "source_contours": 10, "description": null}
{"id": 52, "question_number": 2, "query": "in the given shape removes all the right isosceles triangles.", "base_shape": "autotest/source/52_1.jpg", "result_shape": "Tasks/52/result_image/q2_image.png", "variables": "square_side=200", "base_shape_code": "for i in range(8):\n t.forward(sqrt(2) * square_side / (2 + sqrt(2)))\n t.right(45)\n", "source_contours": 10, "description": null}
{"id": 53, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/53_1.jpg", "result_shape": "Tasks/53/result_image/q1_image.png", "variables": "radius=100", "base_shape_code": "t.circle(radius, 270)\nt.left(90)\nt.forward(radius)\nt.right(90)\nt.forward(radius)\n", "source_contours": 1, "description": null}
{"id": 53, "question_number": 2, "query": "divides the given shape into three equal pieces.", "base_shape": "autotest/source/53_1.jpg", "result_shape": "Tasks/53/result_image/q2_image.png", "variables": "radius=100", "base_shape_code": "t.circle(radius, 270)\nt.left(90)\nt.forward(radius)\nt.right(90)\nt.forward(radius)\nt.right(180)\nt.forward(2 * radius)\nt.forward(-radius)\nt.right(90)\nt.forward(radius)\n", "source_contours": 1, "description": null}
{"id": 54, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/54_1.jpg", "result_shape": "Tasks/54/result_image/q1_image.png", "variables": "small_hexagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(6):\n draw_polygon(6, small_hexagon_side)\n t.right(60)\n", "source_contours": 13, "description": null}
{"id": 54, "question_number": 3, "query": "circumscribes the whole shape in a circle.", "base_shape": "autotest/source/54_1.jpg", "result_shape": "Tasks/54/result_image/q3_image.png", "variables": "small_hexagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(6):\n draw_polygon(6, small_hexagon_side)\n t.right(60)\nt.up()\nt.forward(2 * small_hexagon_side)\nt.down()\nt.left(90)\nt.circle(2 * small_hexagon_side)\n", "source_contours": 13, "description": null}
{"id": 54, "question_number": 2, "query": "e given shapes removes the diamonds that have at least one common side with the larger hexagon.", "base_shape": "autotest/source/54_1.jpg", "result_shape": "Tasks/54/result_image/q2_image.png", "variables": "small_hexagon_side=100", "base_shape_code": "for i in range(6):\n for j in range(2):\n t.forward(small_hexagon_side)\n t.right(60)\n t.forward(small_hexagon_side)\n t.right(120)\n t.right(60)\n", "source_contours": 13, "description": null}
{"id": 55, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/55_1.jpg", "result_shape": "Tasks/55/result_image/q1_image.png", "variables": "pentagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(5):\n draw_polygon(5, pentagon_side)\n t.right(72)\n", "source_contours": 11, "description": null}
{"id": 55, "question_number": 3, "query": "creates the given shape without the two pentagons at the bottom.", "base_shape": "autotest/source/55_1.jpg", "result_shape": "Tasks/55/result_image/q3_image.png", "variables": "pentagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.right(144)\nfor i in range(3):\n draw_polygon(5, pentagon_side)\n t.right(72)\n", "source_contours": 11, "description": null}
{"id": 55, "question_number": 2, "query": "creates the given shape without the three pentagons at the top.", "base_shape": "autotest/source/55_1.jpg", "result_shape": "Tasks/55/result_image/q2_image.png", "variables": "pentagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(2):\n draw_polygon(5, pentagon_side)\n t.right(72)\n", "source_contours": 11, "description": null}
{"id": 56, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/56_1.jpg", "result_shape": "Tasks/56/result_image/q1_image.png", "variables": "hexagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(3):\n draw_polygon(6, hexagon_side)\n t.right(120)\n", "source_contours": 4, "description": null}
{"id": 56, "question_number": 3, "query": "creates the given shape without the hexagon on the left.", "base_shape": "autotest/source/56_1.jpg", "result_shape": "Tasks/56/result_image/q3_image.png", "variables": "hexagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.left(120)\nfor i in range(2):\n draw_polygon(6, hexagon_side)\n t.right(120)\n", "source_contours": 4, "description": null}
{"id": 56, "question_number": 2, "query": "creates the given shape without the hexagon at the bottom.", "base_shape": "autotest/source/56_1.jpg", "result_shape": "Tasks/56/result_image/q2_image.png", "variables": "hexagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.left(60)\nfor i in range(2):\n draw_polygon(6, hexagon_side)\n t.right(120)\n", "source_contours": 4, "description": null}
{"id": 57, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/57_1.jpg", "result_shape": "Tasks/57/result_image/q1_image.png", "variables": "large_triangle_side = 150\nsmall_triangle_side = 75", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(60)\ndraw_polygon(3, large_triangle_side)\nt.right(60)\nt.forward(small_triangle_side)\nt.left(60)\ndraw_polygon(3, large_triangle_side)\n", "source_contours": 4, "description": null}
{"id": 57, "question_number": 3, "query": "in the given shape fills in the gap between the large triangles with a small triangle.", "base_shape": "autotest/source/57_1.jpg", "result_shape": "Tasks/57/result_image/q3_image.png", "variables": "large_triangle_side = 150\nsmall_triangle_side = 75", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(60)\ndraw_polygon(3, large_triangle_side)\nt.right(60)\nt.forward(small_triangle_side)\nt.left(60)\ndraw_polygon(3, large_triangle_side)\nt.forward(small_triangle_side)\nt.left(60)\ndraw_polygon(3, small_triangle_side)\n", "source_contours": 4, "description": null}
{"id": 57, "question_number": 2, "query": "in the given shape slides the two large triangles apart horizontally so that the small triangle in the middle disappears, but they still touch at a single point.", "base_shape": "autotest/source/57_1.jpg", "result_shape": "Tasks/57/result_image/q2_image.png", "variables": "large_triangle_side = 150\nsmall_triangle_side = 75", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(60)\ndraw_polygon(3, large_triangle_side)\nt.right(60)\nt.forward(2 * small_triangle_side)\nt.left(60)\ndraw_polygon(3, large_triangle_side)\n", "source_contours": 4, "description": null}
{"id": 58, "question_number": 6, "query": "recreates the given shape and also inserts the horizontal diameter of the left circle and the vertical diameter of the right circle.", "base_shape": "autotest/source/58_1.jpg", "result_shape": "Tasks/58/result_image/q6_image.png", "variables": "circle_radius=100", "base_shape_code": "t.forward(circle_radius * 2)\nt.circle(circle_radius, 540)\nt.left(90)\nt.forward(circle_radius * 2)\nt.forward(- circle_radius * 2)\nt.right(90)\nt.forward(circle_radius * 2)\nt.circle(circle_radius, 450)\nt.left(90)\nt.forward(circle_radius * 2)\n", "source_contours": 5, "description": null}
{"id": 58, "question_number": 7, "query": "recreates the given shape and also inserts the horizontal diameter of the right circle.", "base_shape": "autotest/source/58_1.jpg", "result_shape": "Tasks/58/result_image/q7_image.png", "variables": "circle_radius=100", "base_shape_code": "t.forward(circle_radius * 2)\nt.circle(circle_radius, 450)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.circle(circle_radius, -90)\nt.forward(circle_radius * 2)\nt.circle(circle_radius, 450)\n", "source_contours": 5, "description": null}
{"id": 58, "question_number": 5, "query": "recreates the given shape without the left semicircle of the right circle and the right semicircle of the left circle.", "base_shape": "autotest/source/58_1.jpg", "result_shape": "Tasks/58/result_image/q5_image.png", "variables": "circle_radius=100", "base_shape_code": "t.forward(circle_radius * 2)\nt.circle(circle_radius, 180)\nt.forward(circle_radius * 2)\nt.circle(circle_radius, 180)\n", "source_contours": 5, "description": null}
{"id": 58, "question_number": 4, "query": "recreates the given shape and also inserts the horizontal and vertical diameters of each circle.", "base_shape": "autotest/source/58_1.jpg", "result_shape": "Tasks/58/result_image/q4_image.png", "variables": "circle_radius=100", "base_shape_code": "for i in range(2):\n t.forward(circle_radius * 2)\n t.circle(circle_radius, 450)\n t.left(90)\n t.forward(circle_radius * 2)\n t.left(90)\n t.circle(circle_radius, 90)\n t.left(90)\n t.forward(circle_radius * 2)\n t.left(90)\n", "source_contours": 5, "description": null}
{"id": 58, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/58_1.jpg", "result_shape": "Tasks/58/result_image/q1_image.png", "variables": "circle_radius=100", "base_shape_code": "t.forward(circle_radius * 2)\nt.circle(circle_radius, 540)\nt.forward(circle_radius * 2)\nt.circle(circle_radius, 540)\n", "source_contours": 5, "description": null}
{"id": 58, "question_number": 3, "query": "recreates the given shape and also inserts the horizontal diameters of each circle.", "base_shape": "autotest/source/58_1.jpg", "result_shape": "Tasks/58/result_image/q3_image.png", "variables": "circle_radius=100", "base_shape_code": "t.forward(circle_radius * 2)\nt.circle(circle_radius, 450)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.circle(circle_radius, -90)\nt.forward(circle_radius * 2)\nt.circle(circle_radius, 450)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.circle(circle_radius, -90)\n", "source_contours": 5, "description": null}
{"id": 58, "question_number": 2, "query": "recreates the given shape and also inserts the vertical diameters of each circle.", "base_shape": "autotest/source/58_1.jpg", "result_shape": "Tasks/58/result_image/q2_image.png", "variables": "circle_radius=100", "base_shape_code": "t.forward(circle_radius * 2)\nt.circle(circle_radius, 360)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.circle(circle_radius, 540)\n", "source_contours": 5, "description": null}
{"id": 59, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/59_1.jpg", "result_shape": "Tasks/59/result_image/q1_image.png", "variables": "largest_square_side = 200\nsmallest_square_side = 50", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, largest_square_side / 2) \n t.right(90)\nt.forward(smallest_square_side)\nt.right(90)\nt.forward(smallest_square_side)\nt.right(90)\ndraw_polygon(4, largest_square_side / 2)\n", "source_contours": 9, "description": null}
{"id": 59, "question_number": 2, "query": "in the given shape, connects the midpoints of each side of the largest square to the midpoints of adjacent sides.", "base_shape": "autotest/source/59_1.jpg", "result_shape": "Tasks/59/result_image/q2_image.png", "variables": "largest_square_side = 200\nsmallest_square_side = 50", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, largest_square_side / 2) \n t.right(90)\nt.forward(smallest_square_side)\nt.right(90)\nt.forward(smallest_square_side)\nt.right(90)\ndraw_polygon(4, smallest_square_side * 2)\nt.right(90)\n\nt.forward(smallest_square_side)\nt.right(90)\nt.forward(smallest_square_side)\nt.right(135)\ndraw_polygon(4, largest_square_side * sqrt(2) / 2)\n", "source_contours": 9, "description": null}
{"id": 60, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/60_1.jpg", "result_shape": "Tasks/60/result_image/q1_image.png", "variables": "triangle_sides=[40, 80, 120, 160]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.right(60)\nfor i in range(4):\n draw_polygon(3, triangle_sides[i])\n", "source_contours": 5, "description": null}
{"id": 60, "question_number": 3, "query": "in the given shape only creates the two smallest triangles.", "base_shape": "autotest/source/60_1.jpg", "result_shape": "Tasks/60/result_image/q3_image.png", "variables": "triangle_sides=[40, 80, 120, 160]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.right(60)\nfor i in range(2):\n draw_polygon(3, triangle_sides[i])\n", "source_contours": 5, "description": null}
{"id": 60, "question_number": 2, "query": "in the given shape only creates the two largest triangles.", "base_shape": "autotest/source/60_1.jpg", "result_shape": "Tasks/60/result_image/q2_image.png", "variables": "triangle_sides=[40, 80, 120, 160]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.right(60)\nfor i in range(2):\n draw_polygon(3, triangle_sides[i+ 2])\n", "source_contours": 5, "description": null}
{"id": 61, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/61_1.jpg", "result_shape": "Tasks/61/result_image/q1_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "t.left(90)\nt.circle(semicircle_radius, 180)\nt.left(90)\nt.forward(2 * semicircle_radius)\n", "source_contours": 1, "description": "A semicircle with its diameter which is a horizontal line segment and the semicircle arc is on top of it."}
{"id": 61, "question_number": 3, "query": "creates the same shape + two lines that divide the semicircle into three equal slices.", "base_shape": "autotest/source/61_1.jpg", "result_shape": "Tasks/61/result_image/q3_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "t.left(90)\nt.circle(semicircle_radius, 180)\nt.left(90)\nt.forward(2 * semicircle_radius)\nt.forward(-semicircle_radius)\nt.left(120)\nt.forward(semicircle_radius)\nt.forward(-semicircle_radius)\nt.right(60)\nt.forward(semicircle_radius)\nt.forward(-semicircle_radius)\n", "source_contours": 1, "description": "A semicircle with its diameter which is a horizontal line segment and the semicircle arc is on top of it."}
{"id": 61, "question_number": 2, "query": "creates the same shape + a line that divides the semicircle into two equal slices.", "base_shape": "autotest/source/61_1.jpg", "result_shape": "Tasks/61/result_image/q2_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "t.left(90)\nt.circle(semicircle_radius, 180)\nt.left(90)\nt.forward(semicircle_radius)\nt.left(90)\nt.forward(semicircle_radius)\nt.forward(-semicircle_radius)\nt.right(90)\nt.forward(semicircle_radius)\n", "source_contours": 1, "description": "A semicircle with its diameter which is a horizontal line segment and the semicircle arc is on top of it."}
{"id": 62, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/62_1.jpg", "result_shape": "Tasks/62/result_image/q1_image.png", "variables": "radius = 90\nrectangle_length = 300", "base_shape_code": "t.forward(radius)\nt.circle(radius)\nt.forward((rectangle_length - 2 * radius))\nt.circle(radius)\nt.forward(radius)\nt.left(90)\nt.forward(2 * radius)\nt.left(90)\nt.forward(rectangle_length)\nt.left(90)\nt.forward(2 * radius)\n", "source_contours": 10, "description": "Two circles interstecting at two points which makes a shared area between them. The circles are inscribed by a horizontal rectangle."}
{"id": 62, "question_number": 3, "query": "creates the given shape without the circles.", "base_shape": "autotest/source/62_1.jpg", "result_shape": "Tasks/62/result_image/q3_image.png", "variables": "radius = 90\nrectangle_length = 300", "base_shape_code": "t.forward(rectangle_length)\nt.left(90)\nt.forward(2 * radius)\nt.left(90)\nt.forward(rectangle_length)\nt.left(90)\nt.forward(2 * radius)\n", "source_contours": 10, "description": "Two circles interstecting at two points which makes a shared area between them. The circles are inscribed by a horizontal rectangle."}
{"id": 62, "question_number": 2, "query": "creates the given shape without the rectangle.", "base_shape": "autotest/source/62_1.jpg", "result_shape": "Tasks/62/result_image/q2_image.png", "variables": "radius = 90\nrectangle_length = 300", "base_shape_code": "t.up()\nt.forward(radius)\nt.down()\nt.circle(radius)\nt.up()\nt.forward((rectangle_length - 2 * radius))\nt.down()\nt.circle(radius)\n", "source_contours": 10, "description": "Two circles interstecting at two points which makes a shared area between them. The circles are inscribed by a horizontal rectangle."}
{"id": 63, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/63_1.jpg", "result_shape": "Tasks/63/result_image/q1_image.png", "variables": "hexagon_side=120\nsemicircle_radius=30", "base_shape_code": "for i in range(6):\n t.forward((hexagon_side- 2 * semicircle_radius)/2)\n t.right(90)\n t.circle(semicircle_radius, -180)\n t.right(90)\n t.forward((hexagon_side- 2 * semicircle_radius)/2)\n t.left(60)\n", "source_contours": 1, "description": null}
{"id": 63, "question_number": 2, "query": "creates the given shape + its longest diagonals.", "base_shape": "autotest/source/63_1.jpg", "result_shape": "Tasks/63/result_image/q2_image.png", "variables": "hexagon_side=120\nsemicircle_radius=30", "base_shape_code": "for i in range(6):\n t.forward((hexagon_side-2 * semicircle_radius)/2)\n t.right(90)\n t.circle(semicircle_radius, -180)\n t.right(90)\n t.forward((hexagon_side-2 * semicircle_radius)/2)\n t.left(120)\n t.forward(2 * hexagon_side)\n t.forward(-2 * hexagon_side)\n t.right(60)\n", "source_contours": 1, "description": null}
{"id": 64, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/64_1.jpg", "result_shape": "Tasks/64/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(30)\nfor i in range(4):\n draw_polygon(3, triangle_side)\n t.left(90)\n", "source_contours": 9, "description": null}
{"id": 65, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/65_1.jpg", "result_shape": "Tasks/65/result_image/q1_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "t.left(90)\nfor i in range(3):\n t.circle(semicircle_radius, 180)\n t.left(60)\n", "source_contours": 5, "description": null}
{"id": 65, "question_number": 2, "query": "in the given shape extends each semicircle to a complete circle.", "base_shape": "autotest/source/65_1.jpg", "result_shape": "Tasks/65/result_image/q2_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "t.left(90)\nfor i in range(3):\n t.circle(semicircle_radius, 360)\n t.circle(semicircle_radius, -180)\n t.left(60)\n", "source_contours": 5, "description": null}
{"id": 66, "question_number": 4, "query": "creates the given shape without the lines between the segments and also inserts horizontal and vertical diameters of the smaller circle.", "base_shape": "autotest/source/66_1.jpg", "result_shape": "Tasks/66/result_image/q4_image.png", "variables": "large_circle_radius = 100\nsmall_circle_radius = 40", "base_shape_code": "t.circle(large_circle_radius)\nt.left(90)\nt.up()\nt.forward(large_circle_radius - small_circle_radius)\nt.down()\nt.right(90)\nfor i in range(4):\n t.circle(small_circle_radius, 90)\n t.left(90)\n t.forward(small_circle_radius)\n t.forward(-small_circle_radius)\n t.right(90)\n", "source_contours": 6, "description": null}
{"id": 66, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/66_1.jpg", "result_shape": "Tasks/66/result_image/q1_image.png", "variables": "large_circle_radius = 100\nsmall_circle_radius = 40", "base_shape_code": "for i in range(4):\n t.circle(large_circle_radius, 90)\n t.left(90)\n t.forward(large_circle_radius - small_circle_radius)\n t.forward(-(large_circle_radius - small_circle_radius))\n t.right(90)\nt.left(90)\nt.forward(large_circle_radius - small_circle_radius)\nt.right(90)\nt.circle(small_circle_radius)\n", "source_contours": 6, "description": null}
{"id": 66, "question_number": 3, "query": "in the given shape, adds a line to each of the four segments around the smaller circle to divide each into two equal segments.", "base_shape": "autotest/source/66_1.jpg", "result_shape": "Tasks/66/result_image/q3_image.png", "variables": "large_circle_radius = 100\nsmall_circle_radius = 40", "base_shape_code": "for i in range(8):\n t.circle(large_circle_radius, 45)\n t.left(90)\n t.forward(large_circle_radius - small_circle_radius)\n t.forward(-(large_circle_radius - small_circle_radius))\n t.right(90)\nt.left(90)\nt.forward(large_circle_radius - small_circle_radius)\nt.right(90)\nt.circle(small_circle_radius)\n", "source_contours": 6, "description": null}
{"id": 66, "question_number": 2, "query": "creates the given shape + the horizontal and vertical diameters of the smaller circle.", "base_shape": "autotest/source/66_1.jpg", "result_shape": "Tasks/66/result_image/q2_image.png", "variables": "large_circle_radius = 100\nsmall_circle_radius = 40", "base_shape_code": "for i in range(4):\n t.circle(large_circle_radius, 90)\n t.left(90)\n t.forward(large_circle_radius)\n t.forward(-(large_circle_radius))\n t.right(90)\nt.left(90)\nt.forward(large_circle_radius - small_circle_radius)\nt.right(90)\nt.circle(small_circle_radius)\n", "source_contours": 6, "description": null}
{"id": 67, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/67_1.jpg", "result_shape": "Tasks/67/result_image/q1_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "for i in range(4):\n t.circle(semicircle_radius, 180)\n t.left(90)\n t.forward(2 * semicircle_radius)\n", "source_contours": 5, "description": null}
{"id": 67, "question_number": 3, "query": "creates the given shape reflected across the vertical line in the middle of the shape.", "base_shape": "autotest/source/67_1.jpg", "result_shape": "Tasks/67/result_image/q3_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "for i in range(4):\n t.circle(semicircle_radius, -180)\n t.left(90)\n t.forward(2 * semicircle_radius)\n", "source_contours": 5, "description": null}
{"id": 67, "question_number": 2, "query": "creates the given pattern but with eight petals that are evenly spaced around the central point to maintain symmetry.", "base_shape": "autotest/source/67_1.jpg", "result_shape": "Tasks/67/result_image/q2_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "for i in range(8):\n t.circle(semicircle_radius, 180)\n t.left(90)\n t.forward(2 * semicircle_radius)\n t.left(45)\n", "source_contours": 5, "description": null}
{"id": 68, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/68_1.jpg", "result_shape": "Tasks/68/result_image/q1_image.png", "variables": "semicircle_radius = 50", "base_shape_code": "for i in range(4):\n t.circle(semicircle_radius, 180)\n t.right(90)\nt.left(90)\nfor i in range(4):\n t.forward(2 * semicircle_radius)\n t.left(90)\n", "source_contours": 6, "description": null}
{"id": 68, "question_number": 3, "query": "creates the given shape without the square.", "base_shape": "autotest/source/68_1.jpg", "result_shape": "Tasks/68/result_image/q3_image.png", "variables": "semicircle_radius = 50", "base_shape_code": "for i in range(4):\n t.circle(semicircle_radius, 180)\n t.right(90)\nt.left(90)\n", "source_contours": 6, "description": null}
{"id": 68, "question_number": 2, "query": "creates the given shape + a circle that circumscribes the whole shape.", "base_shape": "autotest/source/68_1.jpg", "result_shape": "Tasks/68/result_image/q2_image.png", "variables": "semicircle_radius = 50", "base_shape_code": "for i in range(4):\n t.circle(semicircle_radius, 180)\n t.right(90)\nt.left(90)\nfor i in range(4):\n t.forward(2 * semicircle_radius)\n t.left(90)\n \nt.circle(semicircle_radius, -90)\nt.circle(2 * semicircle_radius)\n", "source_contours": 6, "description": null}
{"id": 69, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/69_1.jpg", "result_shape": "Tasks/69/result_image/q1_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "for i in range(4):\n t.forward(2 * semicircle_radius)\n t.left(90)\n t.circle(semicircle_radius, -180)\n t.left(90)\n t.forward(2 * semicircle_radius)\n t.right(90)\n", "source_contours": 10, "description": null}
{"id": 69, "question_number": 3, "query": "creates the given shape without the semicircles at the top and the bottom.", "base_shape": "autotest/source/69_1.jpg", "result_shape": "Tasks/69/result_image/q3_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "t.left(90)\nfor i in range(2):\n t.forward(2 * semicircle_radius)\n t.left(90)\n t.circle(semicircle_radius, -180)\n t.left(90)\n t.forward(2 * semicircle_radius)\n t.right(90)\n t.forward(2 * semicircle_radius)\n t.right(90)\n", "source_contours": 10, "description": null}
{"id": 69, "question_number": 2, "query": "creates the given shape without the semicircles on the left and the right.", "base_shape": "autotest/source/69_1.jpg", "result_shape": "Tasks/69/result_image/q2_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "for i in range(2):\n t.forward(2 * semicircle_radius)\n t.left(90)\n t.circle(semicircle_radius, -180)\n t.left(90)\n t.forward(2 * semicircle_radius)\n t.right(90)\n t.forward(2 * semicircle_radius)\n t.right(90)\n", "source_contours": 10, "description": null}
{"id": 70, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/70_1.jpg", "result_shape": "Tasks/70/result_image/q1_image.png", "variables": "small_triangle_side = 50", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor j in range(3):\n for i in range(3):\n draw_polygon(3, small_triangle_side)\n t.forward(small_triangle_side)\n t.left(120)\n", "source_contours": 11, "description": null}
{"id": 70, "question_number": 3, "query": "in the given shape replaces the larger triangle with a square of the same side length while extending the pattern of smaller triangles to the square.", "base_shape": "autotest/source/70_1.jpg", "result_shape": "Tasks/70/result_image/q3_image.png", "variables": "small_triangle_side = 50", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor j in range(4):\n for i in range(3):\n draw_polygon(3, small_triangle_side)\n t.forward(small_triangle_side)\n t.left(90)\n", "source_contours": 11, "description": null}
{"id": 70, "question_number": 2, "query": "creates the given shape but with only the middle triangle on each side of the larger triangle.", "base_shape": "autotest/source/70_1.jpg", "result_shape": "Tasks/70/result_image/q2_image.png", "variables": "small_triangle_side = 50", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor j in range(3):\n t.forward(small_triangle_side)\n draw_polygon(3, small_triangle_side)\n t.forward(2 * small_triangle_side)\n t.left(120)\n", "source_contours": 11, "description": null}
{"id": 71, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/71_1.jpg", "result_shape": "Tasks/71/result_image/q1_image.png", "variables": "radius=100", "base_shape_code": "t.setheading(90)\nt.circle(radius, 180)", "source_contours": 1, "description": null}
{"id": 72, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/72_1.jpg", "result_shape": "Tasks/72/result_image/q1_image.png", "variables": "radius=100", "base_shape_code": "t.circle(radius)\nt.circle(radius, 90)\nt.left(90)\nt.forward(2 * radius)\nt.left(90)\nt.circle(radius, 90)\nt.left(90)\nt.forward(2 * radius)", "source_contours": 5, "description": null}
{"id": 73, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/73_1.jpg", "result_shape": "Tasks/73/result_image/q1_image.png", "variables": "largest_triangle_side=200", "base_shape_code": "t.setheading(60)\nfor i in range(3):\n t.forward(largest_triangle_side)\n t.right(120)\nt.forward(largest_triangle_side / 2)\nt.right(60)\nfor i in range(3):\n t.forward(largest_triangle_side / 2)\n t.right(120)", "source_contours": 5, "description": null}
{"id": 74, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/74_1.jpg", "result_shape": "Tasks/74/result_image/q1_image.png", "variables": "square_side=200", "base_shape_code": "t.setheading(90)\nfor i in range(3):\n t.forward(square_side)\n t.right(90)", "source_contours": 1, "description": null}
{"id": 75, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/75_1.jpg", "result_shape": "Tasks/75/result_image/q1_image.png", "variables": "largest_square_side=200", "base_shape_code": "for i in range(4):\n t.forward(largest_square_side)\n t.right(90)\nt.forward(largest_square_side / 2)\nt.right(45)\nfor i in range(4):\n t.forward(largest_square_side * sqrt(2) / 2)\n t.right(90)", "source_contours": 6, "description": null}
{"id": 76, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/76_1.jpg", "result_shape": "Tasks/76/result_image/q1_image.png", "variables": "pentagon_side=200", "base_shape_code": "t.setheading(0)\nfor i in range(5):\n t.forward(pentagon_side)\n t.right(72)", "source_contours": 1, "description": null}
{"id": 77, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/77_1.jpg", "result_shape": "Tasks/77/result_image/q1_image.png", "variables": "pentagon_side=200", "base_shape_code": "from math import sqrt, pi, cos\nt = turtle.Turtle()\nt.speed(0)\nt.hideturtle()\nt.setheading(36)\nfor i in range(5):\n t.forward(pentagon_side)\n t.right(72)\nt.right(36)\nfor i in range(5):\n t.forward(2 * pentagon_side * cos(pi / 5))\n t.right(180 - 36)", "source_contours": 14, "description": null}
{"id": 78, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/78_1.jpg", "result_shape": "Tasks/78/result_image/q1_image.png", "variables": "triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\nfor i in range(3):\n draw_polygon(3, triangle_side)\n t.left(60)", "source_contours": 4, "description": null}
{"id": 79, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/79_1.jpg", "result_shape": "Tasks/79/result_image/q1_image.png", "variables": "triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.setheading(0)\ndraw_polygon(3, triangle_side)\nt.right(120)\ndraw_polygon(3, triangle_side)\n", "source_contours": 3, "description": null}
{"id": 80, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/80_1.jpg", "result_shape": "Tasks/80/result_image/q1_image.png", "variables": "semicircle_radius=70", "base_shape_code": "t.setheading(180)\nt.circle(semicircle_radius, 180)\nt.left(90)\nt.forward(2 * semicircle_radius)\n", "source_contours": 1, "description": null}
{"id": 81, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/81_1.jpg", "result_shape": "Tasks/81/result_image/q1_image.png", "variables": "semicircle_radius=70", "base_shape_code": "t.circle(semicircle_radius, -360)\nt.right(180)\nt.circle(semicircle_radius, 360)\nt.left(90)\nt.forward(2 * semicircle_radius)\nt.forward(-4 * semicircle_radius)\n", "source_contours": 5, "description": null}
{"id": 82, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/82_1.jpg", "result_shape": "Tasks/82/result_image/q1_image.png", "variables": "circle_radius=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.circle(circle_radius, 360)\nt.left(180)\nt.forward(circle_radius)\nt.right(90)\ndraw_polygon(4, 2 * circle_radius)\nt.forward(circle_radius)\nt.right(90)\nt.forward(2 * circle_radius)\nt.right(90)\nt.forward(circle_radius)\nt.right(90)\nt.forward(circle_radius)\nt.right(90)\nt.forward(2 * circle_radius)\n", "source_contours": 9, "description": null}
{"id": 83, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/83_1.jpg", "result_shape": "Tasks/83/result_image/q1_image.png", "variables": "large_triangle_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(0)\ndraw_polygon(3, large_triangle_side)\nt.forward(large_triangle_side / 2)\nt.right(60)\ndraw_polygon(3, large_triangle_side/2)\nt.forward(large_triangle_side/4)\nt.right(60)\ndraw_polygon(3, large_triangle_side/4)\n", "source_contours": 8, "description": null}
{"id": 84, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/84_1.jpg", "result_shape": "Tasks/84/result_image/q1_image.png", "variables": "radius=200", "base_shape_code": "for i in range(3):\n t.forward(radius)\n t.right(180)\n t.forward(2 * radius)\n t.right(180)\n t.forward(radius)\n t.right(60)\n\nt.forward(radius)\nt.right(270)\nt.circle(radius)\n", "source_contours": 7, "description": null}
{"id": 85, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/85_1.jpg", "result_shape": "Tasks/85/result_image/q1_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nn_sides = 3\nsides_length = 30\ninner_angle = (n_sides - 2) * 180 / n_sides\nside_turn = 180 - inner_angle\nt.forward(triangle_sides[0])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[0])\nt.right(90 + inner_angle)\nt.forward(triangle_sides[1])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[1])\nt.left(180 - inner_angle)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[2])\n", "source_contours": 5, "description": null}
{"id": 86, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/86_1.jpg", "result_shape": "Tasks/86/result_image/q1_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nn_sides = 5\ninner_angle = (n_sides - 2) * 180 / n_sides\nside_turn = 180 - inner_angle\nt.forward(triangle_sides[0])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[0])\nt.right(90 + inner_angle)\nt.forward(triangle_sides[1])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[1])\nt.left(180 - inner_angle)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[2])\n", "source_contours": 5, "description": null}
{"id": 87, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/87_1.jpg", "result_shape": "Tasks/87/result_image/q1_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nn_sides = 6\nsides_length = 20\ninner_angle = (n_sides - 2) * 180 / n_sides\nside_turn = 180 - inner_angle\nt.forward(triangle_sides[0])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[0])\nt.right(90 + inner_angle)\nt.forward(triangle_sides[1])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[1])\nt.left(180 - inner_angle)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(side_turn)\ndraw_polygon(n_sides, triangle_sides[2])\n", "source_contours": 6, "description": null}
{"id": 88, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/88_1.jpg", "result_shape": "Tasks/88/result_image/q1_image.png", "variables": "triangle_sides=[90, 120, 150]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.forward(triangle_sides[0])\nt.right(90)\ndraw_polygon(4, triangle_sides[0])\nt.left(180)\nt.forward(triangle_sides[1])\nt.right(90)\ndraw_polygon(4, triangle_sides[1])\nt.left(90)\nt.left(180 - atan((0.75)) * 180 / pi)\nt.forward(triangle_sides[2])\nt.right(90)\n", "source_contours": 4, "description": null}
{"id": 89, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/89_1.jpg", "result_shape": "Tasks/89/result_image/q1_image.png", "variables": "large_square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.right(45)\nx = 4\nfor i in range(x):\n draw_polygon(4, large_square_side / 2)\n t.right(360 / x)\n", "source_contours": 5, "description": null}
{"id": 90, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/90_1.jpg", "result_shape": "Tasks/90/result_image/q1_image.png", "variables": "smallest_triangle_legs=20", "base_shape_code": "def draw_right_isoceles(side_length):\n t.forward(side_length)\n t.left(90)\n t.forward(side_length)\n t.left(135)\n t.forward(side_length * sqrt(2))\nfor i in range(6):\n draw_right_isoceles(smallest_triangle_legs * sqrt(2 ** (i)))\n t.right(180)\n", "source_contours": 7, "description": null}
{"id": 91, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/91_1.jpg", "result_shape": "Tasks/91/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(0)\nfor i in range(6): \n draw_polygon(3, triangle_side)\n t.left(60)\n", "source_contours": 7, "description": null}
{"id": 92, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/92_1.jpg", "result_shape": "Tasks/92/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(0)\ndraw_polygon(3, triangle_side)\nt.left(120)\ndraw_polygon(3, triangle_side)\n\nt.left(120)\ndraw_polygon(3, triangle_side)\n", "source_contours": 4, "description": null}
{"id": 93, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/93_1.jpg", "result_shape": "Tasks/93/result_image/q1_image.png", "variables": "pentagon_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(144)\ndraw_polygon(5, pentagon_side)\n", "source_contours": 3, "description": null}
{"id": 94, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/94_1.jpg", "result_shape": "Tasks/94/result_image/q1_image.png", "variables": "pentagon_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\nt.left(180)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(72)\ndraw_polygon(5, pentagon_side)\n", "source_contours": 6, "description": null}
{"id": 95, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/95_1.jpg", "result_shape": "Tasks/95/result_image/q1_image.png", "variables": "pentagon_side = 100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(72)\nt.left(72)\ndraw_polygon(5, pentagon_side)\nt.left(108)\ndraw_polygon(5, pentagon_side)\n", "source_contours": 4, "description": null}
{"id": 96, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/96_1.jpg", "result_shape": "Tasks/96/result_image/q1_image.png", "variables": "side=50", "base_shape_code": "for i in range(8):\n t.forward(side)\n t.right(135)\n t.forward(side)\n t.left(90)\n", "source_contours": 1, "description": null}
{"id": 97, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/97_1.jpg", "result_shape": "Tasks/97/result_image/q1_image.png", "variables": "star_side=200", "base_shape_code": "def poly(side, angle):\n for i in range(8):\n t.forward(side)\n t.right(angle)\npoly(star_side, 135)\nt.left(225)\npoly(star_side, 135)\n", "source_contours": 36, "description": null}
{"id": 98, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/98_1.jpg", "result_shape": "Tasks/98/result_image/q1_image.png", "variables": "side=50", "base_shape_code": "for i in range(5):\n t.forward(side)\n if i % 2 == 0:\n t.right(90)\n else:\n t.right(-90)\n", "source_contours": 1, "description": null}
{"id": 99, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/99_1.jpg", "result_shape": "Tasks/99/result_image/q1_image.png", "variables": "side=50", "base_shape_code": "for _ in range(4):\n for i in range(5):\n t.forward(side)\n if i % 2 == 0:\n t.right(90)\n else:\n t.right(-90)\n t.right(-180)", "source_contours": 1, "description": null}
{"id": 100, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/100_1.jpg", "result_shape": "Tasks/100/result_image/q1_image.png", "variables": "large_triangle_side=150\nsmall_triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\ndraw_polygon(3, small_triangle_side)\nt.left(120)\ndraw_polygon(3, large_triangle_side)\nt.forward(-100)\ndraw_polygon(3, small_triangle_side)\nt.right(120)\ndraw_polygon(3, large_triangle_side)\n", "source_contours": 4, "description": null}
{"id": 101, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/101_1.jpg", "result_shape": "Tasks/101/result_image/q1_image.png", "variables": "triangle_side=150\nsquare_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(180)\ndraw_polygon(3, triangle_side)\nt.right(90)\ndraw_polygon(4, square_side)", "source_contours": 3, "description": null}
{"id": 102, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/102_1.jpg", "result_shape": "Tasks/102/result_image/q1_image.png", "variables": "square_side=150\ntriangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.setheading(60)\ndraw_polygon(3, triangle_side)\nt.left(120)\ndraw_polygon(4, square_side)\n", "source_contours": 3, "description": null}
{"id": 103, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/103_1.jpg", "result_shape": "Tasks/103/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\nt.forward(2 * triangle_side)\nfor i in range(3):\n t.forward(-triangle_side)\n draw_polygon(3, triangle_side)\n\nt.left(180)\nfor i in range(3):\n t.forward(-triangle_side)\n draw_polygon(3, triangle_side)\n", "source_contours": 7, "description": null}
{"id": 104, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/104_1.jpg", "result_shape": "Tasks/104/result_image/q1_image.png", "variables": "triangle_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\nt.forward(2 * triangle_side)\nfor i in range(3):\n t.forward(-triangle_side)\n draw_polygon(3, triangle_side)\nt.left(-90)\nt.circle(triangle_side * 1.5)\n", "source_contours": 6, "description": null}
{"id": 105, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/105_1.jpg", "result_shape": "Tasks/105/result_image/q1_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(-outer_turn)\n\ndraw_polygon(4, small_square_side)\nt.forward(small_square_side)\nt.left(90)\nt.forward(small_square_side)\nt.right(90)\ndraw_polygon(4, small_square_side)\nt.forward(small_square_side)\nt.right(90)\nt.forward(small_square_side)\nt.left(90)\ndraw_polygon(4, small_square_side)\n", "source_contours": 4, "description": null}
{"id": 106, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/106_1.jpg", "result_shape": "Tasks/106/result_image/q1_image.png", "variables": "large_square_side=200", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, large_square_side/2)\n t.right(90)\nt.forward(large_square_side/2)\nt.right(90)\nt.forward(large_square_side/2)\nt.left(135)\nt.circle(large_square_side/2 * sqrt(2), -360)\n", "source_contours": 9, "description": null}
{"id": 107, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/107_1.jpg", "result_shape": "Tasks/107/result_image/q1_image.png", "variables": "large_circle_radius=100\nsmall_circle_radius=50", "base_shape_code": "t.setheading(90)\nt.circle(large_circle_radius, 360)\nt.right(180)\nt.circle(small_circle_radius, 360)\nt.right(180)\nt.circle(large_circle_radius, 180)\nt.right(180)\nt.circle(small_circle_radius, 360)\n", "source_contours": 4, "description": null}
{"id": 108, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/108_1.jpg", "result_shape": "Tasks/108/result_image/q1_image.png", "variables": "large_circle_radius=100\nsmall_circle_radius=50", "base_shape_code": "t.setheading(90)\nt.circle(large_circle_radius, 450)\nt.right(180)\nt.circle(small_circle_radius, 360)\n", "source_contours": 3, "description": null}
{"id": 109, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/109_1.jpg", "result_shape": "Tasks/109/result_image/q1_image.png", "variables": "large_semicircle_radius=120", "base_shape_code": "t.right(90)\nfor i in range(2):\n t.circle(large_semicircle_radius / 2)\n t.right(180)\n\nt.circle(large_semicircle_radius / 2, 180)\nt.circle(large_semicircle_radius)\n", "source_contours": 9, "description": null}
{"id": 110, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/110_1.jpg", "result_shape": "Tasks/110/result_image/q1_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "t.left(90)\nfor i in range(3):\n t.circle(semicircle_radius, 360)\n t.circle(semicircle_radius, -180)\n t.left(60)\n", "source_contours": 9, "description": null}
{"id": 111, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/111_1.jpg", "result_shape": "Tasks/111/result_image/q1_image.png", "variables": "triangle_side=200\nsemicircle_radius=40", "base_shape_code": "for i in range(3):\n t.forward((triangle_side-semicircle_radius)/2)\n t.right(90)\n t.circle(semicircle_radius, 180)\n t.right(90)\n t.forward((triangle_side-semicircle_radius)/2)\n t.left(120)\n", "source_contours": 1, "description": null}
{"id": 112, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/112_1.jpg", "result_shape": "Tasks/112/result_image/q1_image.png", "variables": "triangle_side=200\nsemicircle_radius=40", "base_shape_code": "t.forward((triangle_side-2 * semicircle_radius)/2)\nt.right(90)\nt.circle(semicircle_radius, 180)\nt.right(90)\nt.forward((triangle_side-2 * semicircle_radius)/2)\nt.left(120)\nt.forward(triangle_side)\nt.left(120)\nt.forward(triangle_side)\n", "source_contours": 1, "description": null}
{"id": 113, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/113_1.jpg", "result_shape": "Tasks/113/result_image/q1_image.png", "variables": "square_side=200\nsemicircle_radius=40", "base_shape_code": "for i in range(4):\n t.forward((square_side-semicircle_radius)/2)\n t.right(90)\n t.circle(semicircle_radius, 180)\n t.right(90)\n t.forward((square_side-semicircle_radius)/2)\n t.left(90)\n", "source_contours": 1, "description": null}
{"id": 114, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/114_1.jpg", "result_shape": "Tasks/114/result_image/q1_image.png", "variables": "semicircle_radius=20", "base_shape_code": "for i in range(2):\n t.circle(semicircle_radius, 180)\n t.right(180)\n t.circle(semicircle_radius, -180)\n t.right(180)\n", "source_contours": 1, "description": null}
{"id": 115, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/115_1.jpg", "result_shape": "Tasks/115/result_image/q1_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nx = 4\nfor i in range(x - 1):\n draw_polygon(4, small_square_side)\n t.right(360 / x)\n", "source_contours": 4, "description": null}
{"id": 116, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/116_1.jpg", "result_shape": "Tasks/116/result_image/q1_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nx = 4\nfor i in range(x):\n draw_polygon(4, small_square_side)\n t.right(360 / x)\n\nt.right(45)\nt.forward(-small_square_side * sqrt(2))\nt.forward(small_square_side * 2 * sqrt(2))\nt.right(135)\nt.forward(small_square_side * 2)\nt.right(135)\nt.forward(small_square_side * 2 * sqrt(2))\n", "source_contours": 9, "description": null}
{"id": 117, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/117_1.jpg", "result_shape": "Tasks/117/result_image/q1_image.png", "variables": "small_square_side=100", "base_shape_code": "def draw_square_and_diagonals(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n t.right(45)\n t.forward(length * sqrt(2))\n t.right(135)\n t.forward(length)\n t.right(135)\n t.forward(length * sqrt(2))\n t.right(45)\n t.forward(-length)\n\n \nx = 4\nfor i in range(x):\n draw_square_and_diagonals(4, small_square_side)\n t.right(360 / x)\n", "source_contours": 17, "description": null}
{"id": 118, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/118_1.jpg", "result_shape": "Tasks/118/result_image/q1_image.png", "variables": "squares_sides=[40, 80, 120, 160]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, squares_sides[i])\nt.right(45)\nt.forward(squares_sides[3] * sqrt(2))\n", "source_contours": 9, "description": null}
{"id": 119, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/119_1.jpg", "result_shape": "Tasks/119/result_image/q1_image.png", "variables": "squares_sides=[40, 80, 120, 160]", "base_shape_code": "t.right(270)\ndef draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, squares_sides[i])\n", "source_contours": 5, "description": null}
{"id": 120, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/120_1.jpg", "result_shape": "Tasks/120/result_image/q1_image.png", "variables": "squares_sides=[40, 80, 120, 160]", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(4):\n draw_polygon(4, squares_sides[i])\nt.right(45)\nt.forward(squares_sides[1] * sqrt(2))\n", "source_contours": 7, "description": null}
{"id": 121, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/121_1.jpg", "result_shape": "Tasks/121/result_image/q1_image.png", "variables": "radius=100", "base_shape_code": "t.circle(radius, 270)\nt.left(90)\nt.forward(radius)\nt.right(90)\nt.forward(radius)\nt.right(180)\nt.forward(2 * radius)\nt.forward(-radius)\nt.right(90)\nt.forward(radius)\n", "source_contours": 4, "description": null}
{"id": 122, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/122_1.jpg", "result_shape": "Tasks/122/result_image/q1_image.png", "variables": "small_diamond_side=100", "base_shape_code": "for i in range(6):\n for j in range(2):\n t.forward(small_diamond_side)\n t.right(60)\n t.forward(small_diamond_side)\n t.right(120)\n t.right(60)\n", "source_contours": 7, "description": null}
{"id": 123, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/123_1.jpg", "result_shape": "Tasks/123/result_image/q1_image.png", "variables": "pentagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nfor i in range(2):\n draw_polygon(5, pentagon_side)\n t.right(72)\n", "source_contours": 4, "description": null}
{"id": 124, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/124_1.jpg", "result_shape": "Tasks/124/result_image/q1_image.png", "variables": "hexagon_side=100", "base_shape_code": "def draw_polygon(sides, length):\n outer_turn = 360 / sides \n for _ in range(sides):\n t.forward(length)\n t.right(outer_turn)\n\nt.left(120)\nfor i in range(2):\n draw_polygon(6, hexagon_side)\n t.right(120)\n", "source_contours": 3, "description": null}
{"id": 125, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/125_1.jpg", "result_shape": "Tasks/125/result_image/q1_image.png", "variables": "circle_radius=100", "base_shape_code": "t.forward(circle_radius * 2)\nt.circle(circle_radius, 360)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.circle(circle_radius, 540)\n", "source_contours": 7, "description": null}
{"id": 126, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/126_1.jpg", "result_shape": "Tasks/126/result_image/q1_image.png", "variables": "circle_radius=100", "base_shape_code": "t.forward(circle_radius * 2)\nt.circle(circle_radius, 450)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.circle(circle_radius, -90)\nt.forward(circle_radius * 2)\nt.circle(circle_radius, 450)\nt.left(90)\nt.forward(circle_radius * 2)\nt.left(90)\nt.circle(circle_radius, -90)\n", "source_contours": 7, "description": null}
{"id": 127, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/127_1.jpg", "result_shape": "Tasks/127/result_image/q1_image.png", "variables": "circle_radius=100", "base_shape_code": "for i in range(2):\n t.forward(circle_radius * 2)\n t.circle(circle_radius, 450)\n t.left(90)\n t.forward(circle_radius * 2)\n t.left(90)\n t.circle(circle_radius, 90)\n t.left(90)\n t.forward(circle_radius * 2)\n t.left(90)\n", "source_contours": 11, "description": null}
{"id": 128, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/128_1.jpg", "result_shape": "Tasks/128/result_image/q1_image.png", "variables": "large_circle_radius = 100\nsmall_circle_radius = 40", "base_shape_code": "for i in range(4):\n t.circle(large_circle_radius, 90)\n t.left(90)\n t.forward(large_circle_radius)\n t.forward(-(large_circle_radius))\n t.right(90)\nt.left(90)\nt.forward(large_circle_radius - small_circle_radius)\nt.right(90)\nt.circle(small_circle_radius)\n", "source_contours": 9, "description": null}
{"id": 129, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/129_1.jpg", "result_shape": "Tasks/129/result_image/q1_image.png", "variables": "large_circle_radius = 100\nsmall_circle_radius = 40", "base_shape_code": "for i in range(8):\n t.circle(large_circle_radius, 45)\n t.left(90)\n t.forward(large_circle_radius - small_circle_radius)\n t.forward(-(large_circle_radius - small_circle_radius))\n t.right(90)\nt.left(90)\nt.forward(large_circle_radius - small_circle_radius)\nt.right(90)\nt.circle(small_circle_radius)\n", "source_contours": 10, "description": null}
{"id": 130, "question_number": 1, "query": "creates exactly the same shape.", "base_shape": "autotest/source/130_1.jpg", "result_shape": "Tasks/130/result_image/q1_image.png", "variables": "semicircle_radius = 100", "base_shape_code": "for i in range(2):\n t.forward(2 * semicircle_radius)\n t.left(90)\n t.circle(semicircle_radius, -180)\n t.left(90)\n t.forward(2 * semicircle_radius)\n t.right(90)\n t.forward(2 * semicircle_radius)\n t.right(90)\n", "source_contours": 5, "description": null}