Алгоритмы: черно-белое движение. 1. Упростите выражение , найдите его значение при
1. Упростите выражение , найдите его значение при . В ответ запишите полученное число. 2. Упростите выражение , найдите его значение при . В ответ запишите полученное число. 3. Упростите выражение , найдите его значение при ; . В ответ запишите полученное число. 4. Упростите выражение , найдите его значение при ; . В ответ запишите полученное число. 5. Упростите выражение , найдите его значение при ; . В ответ запишите полученное число. 6. Упростите выражение , найдите его значение при . В ответ запишите полученное число. 7. Упростите выражение и найдите его значение при . В ответ запишите полученное число. 8. Упростите выражение и найдите его значение при . В ответ запишите полученное число. 9. Упростите выражение и найдите его значение при . В ответ запишите полученное число. 10. Упростите выражение и найдите его значение при . В ответ запишите полученное число. 11. Упростите выражение и найдите его значение при . В ответ запишите полученное число. 12. Упростите выражение и найдите его значение при . В ответ запишите полученное число. 13. Найдите значение выражения при . 14. Найдите значение выражения при . 15. Представьте в виде дроби выражение и найдите его значение при . В ответ запишите полученное число. 16. Упростите выражение и найдите его значение при . В ответе запишите найденное значение. 17. Упростите выражение и найдите его значение при . В ответе запишите найденное значение. Алгоритмы: черно-белое движение Автор: Alexander Kolotov на 0:08
Сенсор освещенности (или цветовой сенсор) из набора Lego Mindstorms NXT, один из наиболее используемых сенсоров при конструировании и программировании Lego-роботов. В режиме измерения окружающей освещенности, количество света, попавшее на светочувствительный элемент, преобразуется в цифровое значение, которое уже используется в программе. Например, с датчиком, работающем в этом режиме, можно собрать робота, который ищет самое освещенное место в комнате. В режиме измерения отраженного цвета, помимо светочувствительного элемента, активируется светоиспускающий элемент (светодиод). Свет, выпущенный этим элементом, отражается от какой-нибудь поверхности и попадает обратно в светочувствительный элемент. Допустим, необходимо написать программу, которая перемещает робота из светлой в темную область на следующей карте: Перед началом программирования, необходимо провести калибровку сенсора освещенности. После чего, измерить, что показывает сенсор на разных частях картыс ветлой и темной части карты. Пусть после калибровки, показания сенсора будут 10% на темной стороне и 90% процентов на светлой. Следовательно, условием, когда можно рассматривать, что робот уже на темной стороне – значение на сенсоре стало меньше 30%. Тогда программа может быть сформулирована следующим образом: На NXT-G программа будет выглядеть, следующим образом: Давайте, усложним программу, чтобы робот возвращался еще и назад, на белую область. Условием, что робот уже на светлой стороне, являются показания сенсора большие 70%. Теперь, сделаем так, чтобы робот ездил поочередно со светлой стороны на темную, не останавливаясь. Для этого добавим, блок Цикл, а программу, приведенную выше, поместим в него. У этой программы есть очень интересное свойство: даже если перед ее запуском робот поставлен на черную область карты, робот сразу же поедет назад. А насколько изменится программа, если условие задачи еще немного изменится? Допустим, карта теперь также состоит из двух частей: темной и светлой, но размеры этих частей увеличились и роботу теперь нужно добраться от одного края карты, до другого, совершая движения "ёлочкой". Видно, что характер самого движения не изменился – робот опять должен двигаться поочередно из области одного цвета в другой. Однако, изменилось направление движения, раньше робот у нас ездил вперед и назад, сейчас же движение должно быть все время вперед, только меняется направление поворота. Итак, программа должна состоять из следующих действий: Поскольку точных размеров поля не известно, нельзя сказать, сколько шагов "елочкой" роботу нужно сделать, поэтому количество повторов (итераций) цикла не ограничивается. Если кто-то уже попытался применить программы, описанные здесь, к реальному роботу на реальной карте, то тот заметил, что робот останавливается не на середине белой и черной области, а недалеко (почти) границе, где одна область переходит в другую. Поэтому повороты робота длятся крайне маленький промежуток времени и складывается впечатление, что робот не ездит с черной области на белую, а движется по их границе. Все верно! Это поведение умышленно не изменялось, чтобы программа с минимальными изменениями стала работать на следующей карте: По своей сути ни характер движения, ни его направление не поменялись по сравнению с предыдущей задачей. Робот все также двигается вперед попеременно с черной на белую область, выполняя развороты то вправо, то влево. Единственное, в чем произошло отличие, так это в том, что черная область теперь не большой прямоугольник, а узкая полоска (линия) черного цвета. А поскольку робот будет двигаться вдоль кромки этой линии, то со стороны будет казаться, что он движется вдоль линии. Если попробовать запустить робота с программой, приведенной выше, на новой карте. То, возможно, на некоторых частях линии (например, где линия выполняет резкий поворот) робот будет терять ее. Поэтому внесем небольшие изменения в программу так, чтобы робот выполнял каждый поворот только одним колесом, второе бы в этот момент бездействовало – это сделает "шажки" робота еще более маленькими и уменьшит вероятность потери линии. Алгоритм движения робота вдоль линии является базовым алгоритмом при изучении робототехники, потому что отражает суть программирования роботов: робот выполняет основную задачу (движение), меняя свое поведение в зависимости от изменений окружающих условий (черные и белые области). Поэтому задачи основанные на движении вдоль линии наиболее часто встречаются на всевозможных робототехнических состязаниях и олимпиадах. Естественно, приведенная выше реализация небезупречна. Основной ее недостаток – итоговая скорость движения робота вдоль линии. Можно сказать, что эта реализация базовая – с нее стоит начать изучение этого сложного алгоритма. К тому же, она позволяет довольно быстро (маленькое количество действий в программе) и с минимальным количеством деталей (два мотора и один светочувствительный сенсор) показать, на что способен робот.
|