====== 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()