М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
КИРА28012007
КИРА28012007
05.03.2021 19:37 •  Информатика

погите Напиши полный алгоритм составления программы для робота сумо. там фото нету ​

👇
Ответ:
миёк2
миёк2
05.03.2021

Скетч программы:

//Скетч для простого выталкивания соперника с ринга

//робот сразу после старта поворачивает на 135 градусов

//и если не находит соперника, то крутится направо

 

//подключаем «ноги»

//определяем соответствие контактов микроконтролера

//и контакам драйвера двигателей TB6612FNG

#define PWMA 3

#define AIN1 1

#define AIN2 0

#define BIN1 2

#define BIN2 7

#define PWMB 9

 

//включаем «глаза» для поиска соперника

//объявляем переменные, содержащие значения

//аналоговых портов микроконтроллера, подключаемых

//к ИК датчикам Sharp

int front_eye = A0;

int left_eye = A1;

int right_eye = A8;

 

//включем «глаза» для определения, на ринге мы находимся

//или выехали за него

//объявляем переменные, содержащие значения

//аналоговых портов, подключенных к датчикам

//QTR-1A

int left_bw = A6;

int right_bw = A11;

 

//процедура инициации портов

void setup()

{

//инициируем переменные моторов

pinMode(PWMA,OUTPUT);

pinMode(AIN1,OUTPUT);

pinMode(AIN2,OUTPUT);

pinMode(PWMB,OUTPUT);

pinMode(BIN1,OUTPUT);

pinMode(BIN2,OUTPUT);

 

//ждем 5 секунд

delay(5000);

// делаем повопрот на 135 градусов

//левый мотор по направлению движения робота

//(против часовой стрелки)

digitalWrite(AIN1, LOW);

digitalWrite(AIN2, HIGH);

analogWrite(PWMA, 255);

//Правый мотор против направления движения робота

//(против часовой стрелки)

digitalWrite(BIN1, LOW);

digitalWrite(BIN2, HIGH);

analogWrite(PWMB, 255);

delay(100); // длительность задержки определяет

//угол поворота робота

//и подбирается экспериментально в зависимости

//от веса робота, моторов и колес

//останавливаем моторы

digitalWrite(AIN1,HIGH);

digitalWrite(AIN2,HIGH);

digitalWrite(PWMA,LOW);

digitalWrite(BIN1,HIGH);

digitalWrite(BIN2,HIGH);

digitalWrite(PWMB,LOW);

delay(10);

 

}

 

void loop()

{

//проверяем наличие препятствия фронтальным датчиком

//на расстоянии ближе 40 см

//(значение analogRead() — 333 по таблице)

if(analogRead(front_eye) > 333){

//левый мотор по направлению движения робота

//(против часовой стрелки)

digitalWrite(AIN1, LOW);

digitalWrite(AIN2, HIGH);

analogWrite(PWMA, 255);

//Правый мотор по направления движения робота

//(по часовой стрелке)

digitalWrite(BIN1, HIGH);

digitalWrite(BIN2, LOW);

analogWrite(PWMB, 255);

delay(100); // длительность задержки 0.1 секунда

}

else if(analogRead(left_eye) > 333){// если соперник

//не найден спереди то проверяем слева

//если соперник слева найден поворачиваем налево

//на 90 градусов

//левый мотор против направлению движения

//робота (по часовой стрелки)

digitalWrite(AIN1, HIGH);

digitalWrite(AIN2, LOW);

analogWrite(PWMA, 255);

//Правый мотор по направлению движения

//робота (по часовой стрелки)

digitalWrite(BIN1, HIGH);

digitalWrite(BIN2, LOW);

analogWrite(PWMB, 255);

delay(60); // длительность задержки

//определяет угол поворота робота

//и подбирается экспериментально в

//зависимости от веса робота, моторов и колес

//левый мотор по направлению движения робо//(против часовой стрелки)

digitalWrite(AIN1, LOW);

digitalWrite(AIN2, HIGH);

analogWrite(PWMA, 255);

//Правый мотор против направления движения робота

//(против часовой стрелки)

digitalWrite(BIN1, LOW);

digitalWrite(BIN2, HIGH);

analogWrite(PWMB, 255);  

delay(130); // длительность задержки определяет

//угол поворота робота  

//и подбирается экспериментально в зависимости

//от веса робота, моторов и колес

//конец цикла loop — идем на начало цикла и проверяем расстояние спереди  

Все операторы в данном скетче нами уже изучались, поэтому трудностей в его понимании, надеюсь, не возникнет.

Объяснение:

4,4(58 оценок)
Открыть все ответы
Ответ:
Роман768
Роман768
05.03.2021
Program pr;
uses crt;

var a,b:real;

Begin
writeln('Введите первое число');
readln(a);
writeln('Введите второе число');
readln(b);

if (a<0) and (b<0)   
    then     
       Begin       
            a:=a+2;
            b:=b+2; 
             writeln('a = ',a); 
             writeln('b = ',b); 
        end
else 
      if (a>0) and (b<0)     
        then       
           writeln('a*b = ',a*b)
      else 
           if (a<0) and (b>0)     
                then        
                   writeln('b-a = ', b-a)

           else  writeln('Ни одно условие не выполняется');

readln;
end.
4,7(69 оценок)
Ответ:
NaightMar
NaightMar
05.03.2021
//PascalABC
//NaaMan
var
    N, sum, num, i : integer;
    A : array[1..10000] of integer;
    SA : real;
begin
    write('Укажите, сколько будет чисел > ');
    readln(N);
    write('Вводите элементы массива > ');
    // Обнуляем сумму
    sum := 0;
    // и количество искомых элементов
    num := 0;
    // Ввод элементов массива с одновременным подсчетом
    for i := 1 to N do begin
        // Ввод
        readln(A[i]);
        write('Ещё > ');
        // Если введённое нечётное, то
        if A[i] mod 2 = 1 then begin
            // добавляем к сумме
            sum := sum + A[i];
            // и считаем их количество
            num := num + 1;
        end;
        // Это среднее арифметическое
        SA := sum / num;
    end;
       
    writeln('Сумма элементов ', sum);
    writeln('Среднее арифметическое ', SA);
end.

Составьте программу , которая считывает с клавиатуры n чисел и находит сумму и среднее арифметическо
4,4(26 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ