КЕГЭ’2024 № 6 Определение результатов работы простейших алгоритмов
Крюкова Наталья Юрьевна
МОУ Ликино-Дулёвский лицей
Что проверяется
Определение возможных результатов работы простейших алгоритмов управления исполнителями и вычислительных алгоритмов
Что необходимо знать:
- Формулы для вычисления суммы арифметической прогрессии
- Формулы для вычисления расстояния между двумя точками по их координатам
- Формулы для вычисления площади различных фигур
- Базовую геометрию
- Формулу Пика
- Что сумма внутренних углов правильного многоугольника с n сторонами равна (n-2)*180
Что нужно контролировать
- Импорт библиотеки (from turtle import*)
- Установить направление – по умолчанию черепашка смотрит вправо (вдоль оси абсцисс). В заданиях же обычно черепашка смотрит вверх (вдоль оси ординат). Необходимо написать перед основным алгоритмом команду – lt(90)
- Следить за состоянием хвоста – обычно в задачах хвост опущен, также как и в Python по умолчанию – up() или down()
- Масштаб – черепашка рисует по пикселям. Рассмотреть целочисленные точки без увеличения нереально. Поэтому необходимо увеличивать масштаб, умножая все перемещения на одинаковый коэффициент. После чего вывести эти точки в окне, также перемещая черепашку на этот коэффициент. Например, если черепашка движется на 90 вперед, затем поворачивается направо на 90 градусов и проходит еще на 20 вперед, то:
k=30
fd(90*k)
lt(90)
fd(2*k)
- Размер окна – рисунок может выйти за пределы окна. Чтобы прокручивать рисунок, можно увеличить размер полотна с помощью команды screensize(x,y)
screensize(x,y) – размеры окна tracer() – включение/отключение анимации пера forward(Количество шагов) — движение вперёд на заданное количество шагов ; backward( Количество шагов ) — движение назад на заданное количество шагов ; right( Угол ) — поворот направо на заданный угол ; left( Угол ) — поворот налево на заданный угол ; color( Цвет пера, Цвет заливки ) — устанавливает цвет пера и заливки ; goto( X, Y ) — перемещается на точку с координатами X, Y ; dot( Размер, Цвет ) — рисует точку в текущей позиции ; speed( Скорость ) — устанавливает скорость перемещения главного героя (от 0 до 10) ; xcor() — возвращает текущую координату по X ; ycor() — возвращает текущую координату по Y ; up() — поднимает “перо” (другими словами, перестаёт оставлять за собой след) ; down() — опускает “перо” (другими словами, начинает оставлять за собой след) ; begin_fill() — начинает заливку контура ; end_fill() — прекращает заливку контура ; done() — завершает работу программы .
Основные команды Python для решение задание № 6
from turtle import *
tracer (0)
screensize (3000,3000)
k = 30
left (90)
right (315)
for i in range (7):
forward (16*k)
right (45)
forward (8*k)
right (135)
up ()
for x in range (-50,50):
for y in range (-50,50):
goto (x*k,y*k)
dot (5)
done ()
from turtle import *
tracer (0)
screensize (3000,3000)
k = 20
left (90)
for i in range (2):
forward (8*k)
right (90)
forward (18*k)
right (90)
up ()
fd (4*k)
rt (90)
fd (10*k)
lt (90)
down ()
for i in range (2):
forward (17*k)
right (90)
forward (7*k)
right (90)
up ()
for x in range (-50,50):
for y in range (-50,50):
goto (x*k,y*k)
dot (5)
done ()
from turtle import *
tracer (0)
screensize (3000,3000)
k = 30
left (90)
for i in range (7):
right (90)
forward (4*k)
for j in range (2):
left (90)
forward (4*k)
up ()
for x in range (-50,50):
for y in range (-50,50):
goto (x*k,y*k)
dot (5)
update()
for x in range (1,1000):
if (5*(x-1)**2 + (x-1)*4)20000:
print (x)
break
from turtle import *
screensize(3000, 3000)
tracer(0)
left(90)
k = 30
x = 3
for _ in range(4):
fd(x*k)
rt(90)
fd(x*k)
lt(90)
fd(x*k)
rt(90)
pu()
for x in range(-k, k):
for y in range(-k, k):
goto(x*k, y*k)
dot(3)
done()
from turtle import *
screensize(3000, 3000)
tracer(0)
left(90)
k = 30
x = 3
for _ in range(2):
fd(3*x*k)
rt(90)
fd(x*k)
rt(90)
for _ in range (2):
fd (x*k)
lt (90)
for _ in range (2):
fd (x*k)
rt (90)
up()
for x in range(-k, k):
for y in range(-k, k):
goto(x*k, y*k)
dot(5)
done()
for x in range (1,1000):
if ((7*(x-1)**2)+(6*(x-1)))200000:
print (x)
break
from turtle import *
screensize(3000, 3000)
tracer(0)
left(90)
pu()
k = 30
for _ in range(3):
pd()
for _ in range (2):
fd (10*k)
rt (90)
fd (10*k)
rt (90)
pu()
fd (10*k)
rt (90)
fd (5*k)
lt (90)
pu()
for x in range(-k, k):
for y in range(-k, k):
goto(x*k, y*k)
dot(5)
done()