====== 7 КЛАССЫ (программирование) ======
===== Яндекс Учебник =====
* https://education.yandex.ru/kids/ Вход для ученика
* У03300338 - код школы
==== Сайт Полякова К.Ю ====
[[https://kpolyakov.spb.ru/school/ege/gen.php?action=viewTopic&topicId=5500]] 5500
[[https://kpolyakov.spb.ru/school/ege/gen.php?action=viewTopic&topicId=5501]] 5501
[[https://kpolyakov.spb.ru/school/ege/gen.php?action=viewTopic&topicId=5502]] 5502
==== ОГЭ программирование ====
* [[https://kpolyakov.spb.ru/school/oge/gen.php?action=viewTopic&topicId=1042]]
* [[https://kpolyakov.spb.ru/school/oge/gen.php?action=viewTopic&topicId=1038]]
* [[https://kpolyakov.spb.ru/school/oge/gen.php?action=viewTopic&topicId=1037]]
* [[https://kpolyakov.spb.ru/school/oge/gen.php?action=viewTopic&topicId=1013]]
=== РОБОТ МФТИ ===
[[http://judge.mipt.ru/mipt_cs_on_python3/labs/lab2.html]] РОБОТ
* {{ ::robot-tasks-master.zip |}} - Архив с файлами робота (исходный файл)
* {{ :robot-tasks-master_.zip |}} - Архив с файлами робота (модификация: в файле pyrob/api.py добавлен, приведенный ниже код, упрощающий написание команд (инструкций) управления роботом)
ml = move_left #Пройти n клеток влево (по умолчанию n = 1)
mr = move_right #Пройти n клеток вправо (по умолчанию n = 1)
mu = move_up #Пройти n клеток вверх (по умолчанию n = 1)
md = move_down #Пройти n клеток вниз (по умолчанию n = 1)
wu = wall_is_above #если сверху стена, возвращает True, иначе — False
wd = wall_is_beneath #если снизу стена, возвращает True, иначе — False
wl = wall_is_on_the_left #если слева стена, возвращает True, иначе — False
wr = wall_is_on_the_right #если справа стена, возвращает True, иначе — False
fill = fill_cell #Закрасить текущую клетку
#cell_is_filled #Возвращает True, если текущая клетка закрашена
#mov #Поместить значение v в регистр r
**Пример решения первой задачи**
{{:2023-10-15_22_50_21-window.png?nolink|}}
#!/usr/bin/python3
from pyrob.api import *
@task
def task_1_1():
#pass
mr(2) # Пройти 2 клетки вправо или: move_right(2)
md(1) # Пройти 1 клетку вниз или: move_down(2)
if __name__ == '__main__':
run_tasks()
===== Черепашка в Python =====
# ПЕРЕМЕЩЕНИЯ ЧЕРЕПАШКИ
# forward(N) | fd(N) Пройти вперёд N пикселей
# backward(N) | bk(N) Пройти назад N пикселей
# right(G) | rt(G) Повернуться направо на G градусов
# left(G) | lt(G) Повернуться налево на G градусов
#
# УПРАВЛЕНИЕ ПЕРОМ
# penup() Поднять перо (не оставлять след при движении)
# pendown() Опустить перо (оставлять след при движении)
# pensize(N) Установить диаметр пера N пикселей
# pencolor(string) Установить цвет пера ("red", "green",... или "#FF00FF",...)
#
# СВОЙСТВА (СОСТОЯНИЕ) ЧЕРЕПАШКИ
# speed(x) Установить скорость черепашки
# x должно быть от 1 (медленно) до 10 (быстро), или 0 (мгновенно);
# shape(X) Изменить представление черепахи:
# x: ("arrow", "turtle", "circle", "square", "triangle", "classic")
# ПРОЧИЕ КОМАНДЫ
# reset() Возврат черепашки в исходное состояние
# сlear() Очистка экрана
# write(s) Вывести текстовую строку s в точке нахождения черепашки
from turtle import *
shape("turtle")
pencolor("green")
#pencolor("#00FF00")
pensize(3)
lt(90)
for _ in range(4):
fd(100)
rt(90)
from turtle import * # подключение всех методов (инструкций) библиотеки Turtle
bgcolor("darkblue") # цвет фона
shape("turtle") # форма черепашки
pencolor("yellow") # цвет пера
fillcolor("yellow") # цвет заливки
pensize(2) # размер пера
lt(90) # влево на 90 градусов
fd(100) # вперёд на 100
bk(100) # назад на 100
speed(3) # скорость перемещения (1 - медленно, 10 - быстро, 0 - очень быстро )
for step in range(4): # 4 шагов цикла
fd(100) # вперёд на 100
rt(90) # вправо 90
penup() # поднять перо
rt(90) # вправо на 90 градусов
fd(150) # вперёд на 100
lt(90) # влево на 90 градусов
pendown() # опустить перо
begin_fill() # готовность залить цветом фигуру, когда она будет нарисована
for step in range(5): # повторить 5
fd(100) # вперёд на 100
rt(144) # вправо на 144
end_fill() # когда контур фигуры замкнут (цикл завершён) залить цветом фигуру
done() # в конце программы
Пример 2
from turtle import * # подключение всех методов (инструкций) библиотеки Turtle
shape("turtle")
bgcolor("darkblue") # цвет фона
pencolor("white")
pensize(3)
speed(1)
penup()
goto(-40, 40)
pendown()
goto(-40, 40)
goto(40, 40)
goto(40, -40)
goto(-40, -40)
goto(-40, 40)
penup()
goto(0, 0)
done()
from turtle import * # подключение всех методов (инструкций) библиотеки Turtle
shape("turtle")
pensize(2)
penup()
lt(90)
write("С НОВЫМ ГОДОМ!", font=('Arial', 20, 'normal'))
bk(30)
for pc in ["pink", "red", "orange", "darkblue", "green", "#FF00FF", "#000000"]:
pencolor(pc) # переменная pc последовательно передает в функцию pencolor() значения элементов списка
write(pc, font=('Arial', 20, 'normal')) # напечатать значение переменной pc
bk(30) # сместиться назад на 20 пикселей
done()
Круг
import time
from turtle import *
shape("turtle")
pencolor("black")
fillcolor("black")
pensize(3)
time.sleep(12)
r1 = 25
ext1 = 180
circle(r1, ext1)
r2 = -25
circle(r2, ext1)
r3 = -50
circle(r3)
rt(ext1)
begin_fill()
circle(r1, ext1)
r2 = -25
circle(r2, ext1)
r3 = -50
circle(r3, ext1)
end_fill()
done()
* [[https://stepik.org/lesson/658417/step/4?unit=655824]] Задания
==== Задачи ====
**Написать программу, которая рисует фигуру, показанную на иллюстрации.**
==== Задача 1: ====
{{::image1.png?nolink|}}
==== Задача 2: ====
{{::trt2_-1.png?nolink|}}
==== Задача 3: ====
{{::trt2_-2.png?nolink|}}
==== Задача 4: ====
{{::sqr_8_4.gif?nolink|}}
==== Задача 5: ====
{{::trt2_0.png?nolink|}}
{{::trt2_0_1.png?nolink|}}
===== Codingame =====
* [[https://www.codingame.com/]]
* [[https://www.codingame.com/multiplayer/clashofcode]]
* [[https://www.codingame.com/clashofcode/clash/4436354fc4d9afa6edd6f147ed7cc1fd008f061]] +
* [[https://www.codingame.com/clashofcode/clash/44363614c7fd8f48bf1ea2e5428ffd7d3ad01fb]] -
* [[https://www.codingame.com/clashofcode/clash/44363640d23c6d071920831d707be1f494b1c0f]]
#!/usr/bin/python3
from pyrob.api import *
def check():
if not cell_is_filled():
fill()
@task(delay=0.01)
def task_8_18():
st = 0
while True:
if st == 0 and wd() and wu():
fill()
mr()
elif st == 0 and wd() and not wu():
st = 1
elif st == 0 and not wd():
break
if st == 1 and not wu():
mu()
elif st == 1 and wu():
st = 2
if st == 2 and not wd():
check()
md()
elif st == 2 and wd():
mr()
st = 0
if __name__ == '__main__':
run_tasks()