mazurone
29.05.2021 08:27

Если хорошо разбираетесь в языке c или arduino ide

петр продолжил изучение своей платформы для прототипирования и решил научиться и напрямую, без использования библиотечных функций.
на базе платы arduino uno он собрал следующее устройство:

кнопка “сдвиг” подключена к пину 9 и земле.
кнопка “состояние” подключена к пину 10 и земле.
к пинам a0-a3 (14-17) подключены 4 светодиода.

устройство петра работает так:
крайний светодиод включается, когда нажаты кнопки “состояние” и “сдвиг”.
нажатие кнопки “сдвиг” приводит к “смещению” состояний светодиодов на 1 (т. е. если исходная комбинация состояний светодиодов была вкл выкл выкл выкл, то после первого нажатия кнопки “сдвиг” она станет выкл вкл выкл выкл, после второго нажатия выкл выкл вкл выкл)

во время полдника петр понял, как написать короткую программу, набросал ее на листочке, но в самые ответственные места попали капли компота и размыли написанное. петру восстановить код. последовательно запишите недостающие операторы (отмеченные как без пробелов между ними.

#define led_mask 0b
#define button_mask 0b110
void setup() {
ddrb & = ~button_mask;
portb |= button_mask;
ddrc |= led_mask;
}
void loop() {
if((~pinb 0b10) 1)
{
portc = 0b111) 1 ) ((~pinb 0b100) 2) 0b);
}
delay(500);
}

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
sashachadaev
10.07.2020 16:18

должно быть минимум 7 элементов

Объяснение:

Каждый излучающий элемент имеет два состояния- красный или синий цвет (выключенное состояние не рассматривается по условиям).

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

Например:

один элемент: 2^{1}=2  различных сигнала (состояния панели)

три элемента: 2^{3}=8  различных сигналов можно отобразить

шесть элементов: 2^{6}=64  различных сигнала (мало, надо сто)

семь элементов: 2^{7}=128  различных сигналов (нам хватит)

Выбираем семь элементов, т.к. ими можно отобразить сто вариантов (и даже немного больше).

Можно и посчитать число элементов напрямую, без подбора.

Считается через логарифм по основанию два из десяти, затем округляется с избытком (то есть, всегда вверх):

N=\log_2 10=\frac{\lg 10}{\lg 2}=\frac{\ln 10}{\ln 2}=6,64385619...\approx 7

В расчёте также показано, что такой логарифм можно посчитать через отношение двух десятичных логарифмов (lg), либо двух натуральных логарифмов (ln).

0,0(0 оценок)
Ответ:
g0osokin
18.06.2021 15:03

1) 85.710=1010101.1011^2

Целая часть от деления Остаток от деления

85 div 2 = 42 85 mod 2 = 1

42 div 2 = 21 42 mod 2 = 0

21 div 2 = 10 21 mod 2 = 1

10 div 2 = 5 10 mod 2 = 0

5 div 2 = 2 5 mod 2 = 1

2 div 2 = 1 2 mod 2 = 0

1 div 2 = 0 1 mod 2 = 1

Остаток от деления записываем в обратном порядке. Получаем целую часть числа в 2-ой системе счисления: 1010101

85 = 1010101^2

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

0.71*2 = 1.42

(целая часть 1)

0.42*2 = 0.84

(целая часть 0)

0.84*2 = 1.68

(целая часть 1)

0.68*2 = 1.36

(целая часть 1)

1011

Получаем число в 2-ой системе счисления: 1011

0.71 = 0.1011^2

В итоге получаем число: 1010101.1011^2

ответ: 85.710=1010101.1011^2

2) 0.000111=0.07^8

Разделим исходный код целой части числа на группы по 3 разряда.

0^2 = 000^2

Затем заменяем каждую группу на код из таблицы.

Двоичная СС Восьмеричная СС

000 0

001 1

010 2

011 3

100 4

101 5

110 6

111 7

Получаем число:

000^2 = 0^8

Переводим дробную часть числа. Для этого разделим исходный код на группы по 3 разряда.

0001112 = 000 111^2

Затем заменяем каждую группу на код из таблицы.

Получаем число:

000 111 2 = 07^8

В итоге получаем число: 0.07^8

ответ: 0.000111=0.07^8

3) 309.880=0465.70243656^8

Перевод целых десятичных чисел в любую другую системы счисления осуществляется делением числа на основание новой системы счисления (в нашем случае это 8) до тех пор, пока в остатке не останется число меньшее основания новой системы счисления. Новое число записывается в виде остатков деления, начиная с последнего.

Целая часть от деления Остаток от деления

309 div 8 = 38 309 mod 8 = 5

38 div 8 = 4 38 mod 8 = 6

4 div 8 = 0 4 mod 8 = 4

0 div 8 = 0 0 mod 8 = 0

Остаток от деления записываем в обратном порядке. Получаем целую часть числа в 8-ой системе счисления: 0465

309 = 04658

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

0.88*8 = 7.04

(целая часть 7)

0.04*8 = 0.32

(целая часть 0)

0.32*8 = 2.56

(целая часть 2)

0.56*8 = 4.48

(целая часть 4)

0.48*8 = 3.84

(целая часть 3)

0.84*8 = 6.72

(целая часть 6)

0.72*8 = 5.76

(целая часть 5)

0.76*8 = 6.08

(целая часть 6)

70243656

Получаем число в 8-ой системе счисления: 70243656

0.88 = 0.70243656^8

В итоге получаем число: 0465.70243656^8

ответ: 309.880=0465.70243656^8

4) 0.101110=0.B8^16

Разделим исходный код целой части числа на группы по 4 разряда.

0^2 = 0000^2

Затем заменяем каждую группу на код из таблицы.

Двоичная СС Шестнадцатеричная СС

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 8

1001 9

1010 A

1011 B

1100 C

1101 D

1110 E

1111 F

Получаем число:

0000 ^2 = 0^16

Переводим дробную часть числа. Для этого разделим исходный код на группы по 4 разряда.

101110^2 = 1011 1000^2

Затем заменяем каждую группу на код из таблицы.

Получаем число:

1011 1000^2 = B8^16

В итоге получаем число: 0.B8^16

ответ: 0.101110=0.B8^16

5) 52.910=

Перевод целых десятичных чисел в любую другую системы счисления осуществляется делением числа на основание новой системы счисления (в нашем случае это 16) до тех пор, пока в остатке не останется число меньшее основания новой системы счисления. Новое число записывается в виде остатков деления, начиная с последнего.

Целая часть от деления Остаток от деления

52 div 16 = 3 52 mod 16 = 4

3 div 16 = 0 3 mod 16 = 3

0 div 16 = 0 0 mod 16 = 0

Остаток от деления записываем в обратном порядке. Получаем целую часть числа в 16-ой системе счисления: 034

52 = 034^16

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

0.91*16 = 14.56

(целая часть 14)

0.56*16 = 8.96

(целая часть 8)

0.96*16 = 15.36

(целая часть 15)

0.36*16 = 5.76

(целая часть 5)

0.76*16 = 12.16

(целая часть 12)

0.16*16 = 2.56

(целая часть 2)

0.56*16 = 8.96

(целая часть 8)

0.96*16 = 15.36

(целая часть 15)

E8F5C28F

Получаем число в 16-ой системе счисления: E8F5C28F

0.91 = 0.E8F5C28F16

В итоге получаем число: 034.E8F5C28F^16

ответ: 52.910=034.E8F5C28F^16

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота