Рабочий лист по теме линейный алгоритм. |
|
1) Что такое линейный алгоритм? |
|
2) Приведите пример линейного алгоритма. |
|
3) Создайте мелодию из 6 разных нот с одинаковой продолжительностью. |
|
4) Создайте мелодию из 6 разных нот с разной продолжительностью. |
|
5) Создайте мелодию из 4 разных нот с разной продолжительностью и громкостью. |
|
6) Опишите каждую строку кода: from spike import PrimeHub, Speaker from spike.control import wait_for_seconds hub = PrimeHub() motor_pair = MotorPair('A', 'E') motor_pair.set_motor_rotation(17.5, 'cm') motor_pair.move(5, 'cm', speed = 50) hub.light_matrix.show_image('HAPPY') wait_for_seconds(5) hub.speaker.set_volume(50) hub.speaker.beep(65, 2) hub.speaker.set_volume(20) hub.speaker.beep(90, 4) |
|
7) Закодируйте для своего одноклассника слово с помощью звуковых сигналов, используя азбуку Морзе. Примечание: длительность длинного сигнала в 3 раза дольше короткого, длительность паузы между буквами – в 7 раз дольше короткого.
|
|
8) Запрограммируем робота, чтобы он двигался, пока датчик цвета не увидит черный цвет. Будем использовать функцию ожидания. color.wait_until_color('black') Для начала попробуйте написать псевдокод. Основные шаги: Установим движение моторов для робота (A и E ) Установим действие при остановке. Установим % скорости для робота. Инициализируем датчик цвета. Начнем двигаться прямо. Используем функцию wait_until_color() чтобы определить, когда датчик цвета увидит черный цвет. Остановим движение. На предыдущих уроках Мы изучили, как настроить робота. Настройте робота и попробуйте реализовать псевдокод. Решение. motor_pair = MotorPair('A', 'E') motor_pair.set_stop_action('brake’) motor_pair.set_default_speed(30) color = ColorSensor('B') motor_pair.start() color.wait_until_color('black') motor_pair.stop() |
|
Рабочий лист по теме «Разветвляющий алгоритм» |
1)Что произойдет, если к датчику цвета поднести синий объект? from spike import ColorSensor # Инициализация датчика цвета. paper_scanner = ColorSensor('E') # Измерение цвета. color = paper_scanner.get_color() # Вывод названия цвета на консоль print('Detected:', color) # Проверка соответствия конкретному цвету if color == 'red': print(‘Это красный цвет’) else: print("Это не красный цвет") |
2)Найдите ошибки в коде и исправьте ее. Определите тип ошибки. from spike import ForceSensor # Инициализация датчика силы. door_bell = ForceSensor('E') # Проверка нажатия на датчик силы if door_bell.is_pressed() print('Hello!') |
3) На одном из прошлых занятий мы перечисляли элементы из списка красных фруктов. Модифицируйте код и сделайте так, чтобы цикл срабатывал после поднесения красного объекта к датчику движения. |
4)Опишите каждую строчку кода. from spike import PrimeHub, App # Инициализация Хаба и приложения hub = PrimeHub() app = App() while True: orientation = hub.motion_sensor.wait_for_new_orientation() if orientation == 'front': hub.light_matrix.show_image('ASLEEP') app.start_sound('Snoring') elif orientation == 'up': hub.light_matrix.show_image('HAPPY') app.start_sound('Triumph') |
5) Добавьте в предыдущий код еще одно альтернативное действие, когда ориентация хаба будет принимать значение «down» |
6) Задать две переменные. Переменная otvet, которая будет отвечать за правильный ответ, который посчитает компьютер, переменной n задать своё самостоятельно подсчитанное значение. Сравнить переменные, в случае совпадения ответов – вывести на дисплей улыбающийся смайлик, в случае несовпадения – грустный. Решение: otvet = 1+2+3+100 print(otvet) n = 6 if n == otvet: hub.light_matrix.show_image('SMILE', 100) else: hub.light_matrix.show_image('ANGRY', 100) |
7) Лего-Кошка перегородила роботу путь. Научите робота прогонять кошку с помощью сигнала или объезжать ее, если кошка остается на месте. |
Рабочий лист по теме «Циклический алгоритм» |
1) Представьте, что наш робот – гоночный автомобиль. Запрограммируйте его так, чтобы движение начиналось после маха руки (датчик движение), а прекращалось после обнаружения финишной линии черного цвета (датчик цвета). Напишите псевдокод, и реализуйте его. Решение. from spike import DistanceSensor, MotorPair, ColorSensor # Инициализация датчика расстояния, датчика цвета и моторов distance_sensor = DistanceSensor('D') color_sensor = ColorSensor('A') motors = MotorPair('B','C') while True: distance_sensor.wait_for_distance_closer_than(5, 'cm') motor.start() color_sensor.wait_until_color('black') motor.stop(
|
2) Впишите свои команды вместо закомментированных строк. from spike import ForceSensor force_sensor = ForceSensor('A') while True: force_sensor.wait_until_pressed() # сделать что-либо force_sensor.wait_until_released() # сделать что-либо |
3) Придумайте собственную задачу с использованием цикла while. |
4) Используйте цикл для подсчета количества нажатий на датчик силы нажатия. Выведете количество нажатий на экран. |
Рабочий лист по теме «Функция вывода. Типы данных» |
1) Что выведет данный код print(2//3) ? Ответ: 0 |
2) Что выведет данный код print(7//3 + 7//-3)? Ответ: -1 |
3) Что выведет данный код print(0,2*5) ? Ответ: 0 10 |
4) После выполнения данного кода на экран вывелось значение 10. Какое значение нужно присвоить переменной a вместо «?» ? a = ? b = a+3 c = a * b print(c) |
|
Рабочий лист по теме «Циклический алгоритм» |
1)Что нужно подставить вместо «?», чтобы ничего не вывелось на экран? for i in range(?): print(i) |
2) Что выведется на экран? for i in range(3, 6): print(i) |
3) Запрограммируйте объезд треугольника. |
4) Довезите робота до лего-крепости, не используя датчик движения.
|
5) Что выведет данный код? for i in range(5): print(i, end = ‘ ’) Ответ: 0 1 2 3 4 |
Дополнительные задачи
Задача. Представьте, что наш робот – бык. Сделайте так, чтобы с приближением к красному объекту, робот набирал скорость. Вопросы-подсказки: Как определиться с командой для перемещения робота? Нужно ли задавать скорость? Расстояние? |
Задача. Запрограммируйте со своим соседом игру-викторину. Правила игры: каждому из игроков необходимо ответить за одну минуту на представленные вопросы. При каждом правильном ответе необходимо нажимать на кнопку и по истечению времени подсчитать количество верных ответов, и вывести число на световую матрицу. Выигрывает тот, кто набрал больше очков. |
Задача. Запрограммируйте со своим соседом игру-викторину. Правила игры: каждому из игроков необходимо ответить за одну минуту на представленные вопросы. При каждом правильном ответе необходимо нажимать на кнопку и по истечению времени подсчитать количество верных ответов, и вывести число на световую матрицу. Выигрывает тот, кто набрал больше очков. |
Задача. Даны 4 карточки разного цвета: красная, желтая, зеленая, синяя. 1) Если робот видит красную карточку, то вывести на экран слово «помидор», в противном случае – вывести на экран фразу «не красный». 2) Если робот видит красную карточку, вывести на экран слово «помидор», если жёлтую – «лимон», в противном случае – вывести на экран фразу «ни красный, ни желтый» . 3) Если робот видит красную карточку, вывести на экран слово «помидор», если жёлтую – «лимон», если зеленую, то «лайм», в противном случае – вывести на экран фразу «ни красный, ни желтый, ни зеленый». |
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.