Скетч программы:
//Скетч для простого выталкивания соперника с ринга
//робот сразу после старта поворачивает на 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(BIN1, HIGH);
digitalWrite(BIN2, LOW);
delay(100); // длительность задержки 0.1 секунда
else if(analogRead(left_eye) > 333){// если соперник
//не найден спереди то проверяем слева
//если соперник слева найден поворачиваем налево
//на 90 градусов
//левый мотор против направлению движения
//робота (по часовой стрелки)
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
//Правый мотор по направлению движения
delay(60); // длительность задержки
//определяет угол поворота робота
//и подбирается экспериментально в
//зависимости от веса робота, моторов и колес
//левый мотор по направлению движения робо//(против часовой стрелки)
delay(130); // длительность задержки определяет
//конец цикла loop — идем на начало цикла и проверяем расстояние спереди
Все операторы в данном скетче нами уже изучались, поэтому трудностей в его понимании, надеюсь, не возникнет.
Объяснение:
ответ: Я так понимаю, никто не давать ответы на такие вопросы :D
1.
#include <iostream>
using namespace std;
int main()
long long i = 35, j = 31, sum = 0;
while(i)
if(j % 2)
sum += j;
i--;
j++;
cout << sum << endl;
return 0;
ответ: 2275
2.
unsigned long long i = 35, j = 38, sum = 1;
while(i--)
sum *= j;
ответ: 9776069387944460288
3.
long long n, i = 1, n1, ans = 0;
cin >> n;
n1 = n/2;
while(i <= n1)
if(!(n % i))
ans++;
i++;
cout << ans << endl;
4.
long long m, k, ans = 0;
cin >> m >> k;
for(; m <= k; m++)
if(m % 5 == 0)
Скетч программы:
//Скетч для простого выталкивания соперника с ринга
//робот сразу после старта поворачивает на 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 — идем на начало цикла и проверяем расстояние спереди
Все операторы в данном скетче нами уже изучались, поэтому трудностей в его понимании, надеюсь, не возникнет.
Объяснение:
ответ: Я так понимаю, никто не давать ответы на такие вопросы :D
1.
#include <iostream>
using namespace std;
int main()
{
long long i = 35, j = 31, sum = 0;
while(i)
{
if(j % 2)
{
sum += j;
i--;
}
j++;
}
cout << sum << endl;
return 0;
}
ответ: 2275
2.
#include <iostream>
using namespace std;
int main()
{
unsigned long long i = 35, j = 38, sum = 1;
while(i--)
{
sum *= j;
j++;
}
cout << sum << endl;
return 0;
}
ответ: 9776069387944460288
3.
#include <iostream>
using namespace std;
int main()
{
long long n, i = 1, n1, ans = 0;
cin >> n;
n1 = n/2;
while(i <= n1)
{
if(!(n % i))
ans++;
i++;
}
cout << ans << endl;
return 0;
}
4.
#include <iostream>
using namespace std;
int main()
{
long long m, k, ans = 0;
cin >> m >> k;
for(; m <= k; m++)
if(m % 5 == 0)
ans++;
cout << ans << endl;
return 0;
}
Объяснение: