Инструменты пользователя

Инструменты сайта


8it_pr_2026

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
8it_pr_2026 [2026/02/05 15:02]
super_admin [Задачи из ЕГЭ]
8it_pr_2026 [2026/03/26 13:41] (текущий)
super_admin [Российское сообщество разработчиков программного кода]
Строка 5: Строка 5:
   * У03300338 - код школы   * У03300338 - код школы
  
 +===== Российское сообщество разработчиков программного кода =====
 +
 +Ссылки на ресурсы:​
 +  * [[https://​hub.mos.ru]] Вход и регистрация
 +  * [[https://​hub.mos.ru/​mcpro87/​addinformatik]] Обучение по информатике. ID проекта:​ 56627
 +  * [[https://​hub.mos.ru/​yarburart/​webscraping-learn]] Наброски парсеров на python
 ==== ОГЭ программирование ==== ==== ОГЭ программирование ====
  
Строка 168: Строка 174:
 {{::​sqr_8_4.gif?​nolink|}} {{::​sqr_8_4.gif?​nolink|}}
  
-==== Задачи из ЕГЭ ==== 
  
- 
-  * [[https://​kpolyakov.spb.ru/​school/​ege/​gen.php?​action=viewTopic&​topicId=5559]] 
-  * [[https://​kpolyakov.spb.ru/​school/​ege/​gen.php?​action=viewTopic&​topicId=5555]] 
-  * [[https://​kpolyakov.spb.ru/​school/​ege/​gen.php?​action=viewTopic&​topicId=5554]] 
- 
-<code Python> 
-from turtle import * 
-#speed(0) 
-tracer(0) 
-m = 30 
-lt(90) 
-for i in range(7): 
-    fd(10 * m) 
-    rt(120) 
- 
-penup() 
-for y in range(-3 * m, 11 * m, m): 
-    for x in range(-3 * m, 11 * m, m):  ​ 
-        goto(x, y) 
-        dot(size = 4) 
- 
-done() 
-</​code>​ 
  
 ==== Задача 5: ==== ==== Задача 5: ====
Строка 222: Строка 204:
 done() ​                # в конце программы done() ​                # в конце программы
  
 +</​code>​
 +
 +==== Задачи из ЕГЭ ====
 +
 +
 +  * [[https://​kpolyakov.spb.ru/​school/​ege/​gen.php?​action=viewTopic&​topicId=5559]]
 +  * [[https://​kpolyakov.spb.ru/​school/​ege/​gen.php?​action=viewTopic&​topicId=5555]]
 +  * [[https://​kpolyakov.spb.ru/​school/​ege/​gen.php?​action=viewTopic&​topicId=5554]]
 +
 +**Условие задачи:​**
 +
 +Исполнитель Черепаха действует на плоскости с декартовой (прямоугольной) системой координат. В начальный момент Черепаха находится в начале координат,​ её голова направлена вдоль положительного направления оси ординат (ось y), хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды:​ **Вперёд n** (где n – целое число),​ вызывающая передвижение Черепахи на n единиц в том направлении,​ куда указывает её голова,​ и **Направо m** (где m – целое число),​ вызывающая изменение направления движения на m градусов по часовой стрелке. Запись
 +
 +Повтори k [Команда1 Команда2 … КомандаS]
 +
 +означает,​ что последовательность из S команд повторится k раз. ​
 +
 +Черепахе был дан для исполнения следующий алгоритм:​
 +
 +Повтори 7 [Вперёд 10 Направо 120]
 +
 +Определите,​ сколько точек с целочисленными координатами будут находиться внутри области,​ ограниченной линией,​ заданной данным алгоритмом. Точки на линии учитывать не следует.
 +
 +<code Python>
 +from turtle import *
 +#speed(0)
 +tracer(0)
 +m = 30
 +lt(90)
 +for i in range(7):
 +    fd(10 * m)
 +    rt(120)
 +
 +penup()
 +for y in range(-3, 11):
 +    for x in range(-3, 11):  ​
 +        goto(x * m, y * m)
 +        dot(size = 4)
 +
 +done()
 </​code>​ </​code>​
  
Строка 233: Строка 255:
 Образовательный курс «Технологии и среда обитания»:​ https://​orbita.education/​events/​94/​482 Образовательный курс «Технологии и среда обитания»:​ https://​orbita.education/​events/​94/​482
 Группа сферы в ВК: https://​vk.com/​habitech Группа сферы в ВК: https://​vk.com/​habitech
 +
 +
 +https://​school.mos.ru/​vrlabs/​robocompetitions/​app?​link=mqoWr1Gf4M6pXo66jMsE
 +
 +<code C++>
 +#include <​IRremote.h>​ // подключаем библиотеку для работы с ИК-приёмником
 +
 +
 +const byte IR_RECEIVE_PIN = 8; // указываем пин, к которому подключен ИК-приёмник
 +
 +#include <​Servo.h>​ //  подключаем библиотеку для работы с сервоприводом
 +Servo myservo7; ​ // создать объект myservo ​
 +Servo myservo12; ​ // создать объект myservo ​
 +Servo myservo3; ​ // создать объект myservo ​
 +
 +
 +const int LM_s1 = 10; // левый мотор вход 1
 +const int LM_s2 = 9; // левый мотор вход 2
 +const int RM_s1 = 5; // правый мотор вход 1
 +const int RM_s2 = 6; // правый мотор вход 2
 +
 +boolean hand_open = 1;  // ?
 +
 +void setup(){
 + ​Serial.begin(9600);​
 + ​IrReceiver.begin(IR_RECEIVE_PIN,​ ENABLE_LED_FEEDBACK);​
 + 
 + //​правый
 +    pinMode(RM_s1,​ OUTPUT);
 +    pinMode(RM_s2,​ OUTPUT);
 +    //​левый
 +    pinMode(LM_s1,​ OUTPUT);
 +    pinMode(LM_s2,​ OUTPUT);
 +
 +    myservo12.attach(12); ​ //​указать пин, к которому подключен сервпривод
 +    myservo7.attach(7); ​ //​указать пин, к которому подключен сервпривод
 +    myservo3.attach(3); ​ //​указать пин, к которому подключен сервпривод
 +    off_servo();​
 +    servo_take();​
 +}
 +
 +void loop() {
 +    if (IrReceiver.decode()) {
 +        Serial.println(IrReceiver.decodedIRData.decodedRawData);​ // выводим код нажатой кнопки в десятичном формате
 +
 +        switch (IrReceiver.decodedIRData.decodedRawData) {
 +            case 785449215: // Код кнопки "​вперед"​
 +                //​Serial.println("​up"​);​
 +                moveForward();​
 +                break;
 +            case 768737535: // Код кнопки "​назад"​
 +                moveBackward();​
 +                break;
 +            case 752025855: // Код кнопки "​влево"​
 +                turnLeft();
 +delay(3);
 +stopMotors();​
 +                break;
 +            case 735314175: // Код кнопки "​вправо"​
 +                turnRight();​
 +delay(1/3);
 +stopMotors();​
 +                break;
 +            case 1387069695: // Код кнопки "​остановка"​ (обычно это код повторного нажатия)
 +                stopMotors();​
 +                break;
 +            case 1437204735: // Код кнопки "​A" ​
 +                servo_state_A();​
 +                break;
 +            case 1420493055: // Код кнопки "​B" ​
 +                off_servo();​
 +                break;
 +            case 1403781375: // Код кнопки "​C" ​
 +                servo_take();​
 +                break;
 +
 +            default:
 +               ​stopMotors();​
 +               ​break;​
 +        }
 +
 +        IrReceiver.resume();​ // готовимся к следующему сигналу
 +    }
 +
 +}
 +
 +void moveForward() {
 +     ​Serial.println("​up"​);​
 +    digitalWrite(LM_s1,​ 1);
 +    digitalWrite(LM_s2,​ 0);
 +    digitalWrite(RM_s1,​ 1);
 +    digitalWrite(RM_s2,​ 0);
 + ​delay(6);​
 +}
 +
 +void moveBackward() {
 +    Serial.println("​down"​);​
 +
 +    digitalWrite(LM_s1,​ 0);
 +    digitalWrite(LM_s2,​ 1);
 +    digitalWrite(RM_s1,​ 0);
 +    digitalWrite(RM_s2,​ 1);
 + ​delay(6);​
 +}
 +
 +void turnLeft() {
 +    digitalWrite(LM_s1,​ LOW);
 +    digitalWrite(LM_s2,​ HIGH);
 +    digitalWrite(RM_s1,​ HIGH);
 +   ​digitalWrite(RM_s2,​ LOW);
 + ​delay(60);​
 +}
 +
 +void turnRight() {
 +    digitalWrite(LM_s1,​ HIGH);
 +    digitalWrite(LM_s2,​ LOW);
 +    digitalWrite(RM_s1,​ LOW);
 +   ​digitalWrite(RM_s2,​ HIGH);
 + ​delay(60);​
 +}
 +
 +void stopMotors() {
 +    digitalWrite(LM_s1,​ LOW);
 +    digitalWrite(LM_s2,​ LOW);
 +    digitalWrite(RM_s1,​ LOW);
 +   ​digitalWrite(RM_s2,​ LOW);
 + ​delay(6);​
 +}
 +
 +// **********************************
 +
 +void off_servo() {
 +  myservo7.write(180); ​  
 +  Serial.println("​check_servo7"​);​
 +  delay(5);
 +  myservo12.write(0); ​  
 +  Serial.println("​check_servo12"​);​
 +  delay(5); ​                    
 +}
 +
 +void servo_take() {
 +  if (hand_open == 1) {
 +  myservo3.write(0); ​  
 +  Serial.println("​check_servo3_open"​);​
 +  delay(10);
 +hand_open = 0;
 +  } else {
 +  myservo3.write(90); ​  
 +  Serial.println("​check_servo3_close"​);​
 +  delay(10);
 +hand_open = 1;
 +  }
 +                   
 +}
 +
 +void servo_state_A() {
 +  myservo7.write(180); ​  
 +  Serial.println("​check_servo7"​);​
 +  delay(5);
 +  myservo12.write(100); ​  
 +  Serial.println("​check_servo12"​);​
 +  delay(5); ​                    
 +}
 +</​code>​
 +
 +
 +<code C++>
 +
 +#include <​IRremote.h>​ // подключаем библиотеку для работы с ИК-приёмником
 +const byte IR_RECEIVE_PIN = 8; // указываем пин, к которому подключен ИК-приёмник
 +const int LM_s1 = 10; // левый мотор вход 1
 +const int LM_s2 = 9; // левый мотор вход 2
 +const int RM_s1 = 5; // правый мотор вход 1
 +const int RM_s2 = 6; // правый мотор вход 2
 +
 +void setup(){
 + ​Serial.begin(9600);​
 + ​IrReceiver.begin(IR_RECEIVE_PIN,​ ENABLE_LED_FEEDBACK);​
 + 
 + //​правый
 +    pinMode(RM_s1,​ OUTPUT);
 +    pinMode(RM_s2,​ OUTPUT);
 +    //​левый
 +    pinMode(LM_s1,​ OUTPUT);
 +    pinMode(LM_s2,​ OUTPUT);
 +}
 +
 +void loop() {
 +    if (IrReceiver.decode()) {
 +        Serial.println(IrReceiver.decodedIRData.decodedRawData);​ // выводим код нажатой кнопки в десятичном формате
 +
 +        switch (IrReceiver.decodedIRData.decodedRawData) {
 +            case 785449215: // Код кнопки "​вперед"​
 +                //​Serial.println("​up"​);​
 +                moveForward();​
 +                break;
 +            case 768737535: // Код кнопки "​назад"​
 +                moveBackward();​
 +                break;
 +            case 752025855: // Код кнопки "​влево"​
 +                turnLeft();
 +                break;
 +            case 735314175: // Код кнопки "​вправо"​
 +                turnRight();​
 +                break;
 +            case 1387069695: // Код кнопки "​остановка"​ (обычно это код повторного нажатия)
 +            default:
 +               ​stopMotors();​
 +               ​break;​
 +        }
 +
 +        IrReceiver.resume();​ // готовимся к следующему сигналу
 +    }
 +}
 +
 +void moveForward() {
 +     ​Serial.println("​up"​);​
 +    digitalWrite(LM_s1,​ 1);
 +    digitalWrite(LM_s2,​ 0);
 +    digitalWrite(RM_s1,​ 1);
 +    digitalWrite(RM_s2,​ 0);
 + ​delay(60);​
 +}
 +
 +void moveBackward() {
 +    Serial.println("​down"​);​
 +
 +    digitalWrite(LM_s1,​ 0);
 +    digitalWrite(LM_s2,​ 1);
 +    digitalWrite(RM_s1,​ 0);
 +    digitalWrite(RM_s2,​ 1);
 + ​delay(60);​
 +}
 +
 +void turnLeft() {
 +    digitalWrite(LM_s1,​ LOW);
 +    digitalWrite(LM_s2,​ HIGH);
 +    digitalWrite(RM_s1,​ HIGH);
 +   ​digitalWrite(RM_s2,​ LOW);
 + ​delay(60);​
 +}
 +
 +void turnRight() {
 +    digitalWrite(LM_s1,​ HIGH);
 +    digitalWrite(LM_s2,​ LOW);
 +    digitalWrite(RM_s1,​ LOW);
 +   ​digitalWrite(RM_s2,​ HIGH);
 + ​delay(60);​
 +}
 +
 +void stopMotors() {
 +    digitalWrite(LM_s1,​ LOW);
 +    digitalWrite(LM_s2,​ LOW);
 +    digitalWrite(RM_s1,​ LOW);
 +   ​digitalWrite(RM_s2,​ LOW);
 + ​delay(60);​
 +}
 +
 +</​code>​
8it_pr_2026.1770292931.txt.gz · Последние изменения: 2026/02/05 15:02 — super_admin