Представьте, что робот находится на поле 150×150 см. Напротив него, на разном расстоянии, находятся 3 препятствия.
Напишите программу, благодаря которой робот вычислит расстояние до каждого из объектов, сравнит полученные
данные и доедет до ближайшего объекта.
На следующем этапе он должен расстояние до
двух оставшихся объектов и снова доехать до ближайшего, а
после этого – до самого дальнего.
все делается через LEGO MINDSTORM EDUCATION
1) перевести в двоичную систему счисления
0000 1101 13
0000 0111 7
2) инвертировать (заменить 0 на 1 и наоборот)
1111 0010
1111 1000
3) и прибавить 1
1111 0011
1111 1001
все)
числа в дополнительном коде мы получили
теперь сложение:
1111 0011
1111 1001 +
1 1110 1100
мы получили переполнение и единицу в старшем разряде, это значит, сумма будет со знаком минус
теперь переведем сумму в обычный код, не трогаем старший бит
1) _001 0011 инвертируем биты
2) _001 0100 прибавим 1
3) переводим в десятичную систему счисления:
вспоминаем, что сумма отрицательная, поэтому ответ будет: -20
------------
для положительных чисел нужно перевести в двоичную систему
Например:
2 + 3
0000 0010 - 2
0000 0011 - 3
и сложить
0000 0101 -
у положительных дополнительный код совпадает с прямым кодом