Использование переменных и логических переменных в программировании Lego NXT для учащихся среднего звена

Муниципальное бюджетное общеобразовательное учреждение «Октемский лицей» муниципального района «Хангаласский улус» Республики Саха (Якутия)




















Статья

«Использование переменных и логических переменных в программировании Lego NXT для учащихся среднего звена»











Выполнил: Ковров Феликс Филиппович, учитель информатики















с. Чапаево, 2014


В последнее время очень бурно развивается образовательная робототехника почти во всех школах нашей республики. Учеников обучают программированию роботов и сбору собственных моделей роботов. Очень удобным и простым решением для преподавания робототехники в начальном этапе подходит робототехнические комплекты с программируемыми микроконтроллерами. Примером таких конструкторов может служить Lego Mindstorms NXT. Преимущества обучения навыкам программирования с помощью роботов заключаются в том, что человек, написавший программу, может проверить результат ее выполнения на реальном физическом носителе, что позволяет лучше понимать многие концепции программирования, в основном носящие абстрактный характер. В настоящее время обучение детей основам робототехники активно внедряется в школьное образование. Программирование в этом комплекте осуществляется в специальной графической среде программирования Lego NXT. Lego NXT – графическая среда программирования, разработанная National Instruments для LEGO. Создание программы управления роботом при использовании Lego NXT очень похоже на создание блок-схемы. Программист создает схему поведения робота с помощью имеющихся блоков и задает характеристики его поведения. Данная среда наглядна и очень проста в использовании, что позволяет быстро освоить ее учениками с любым уровнем подготовки.

В основном во всех школах, в соответствии федерального базисного плана РФ, курс информатики начинается с 8 класса. Курс программирования в школах начинается с 8-9 классах. Поэтому в кружках робототехники попадают учащиеся, не знающие «тонкости» программирования. Согласно федеральному государственному стандарту образования учащимся начальных школ введены внеурочные занятия по робототехнике. Робототехника без программирования это – моделирование из конструктора. Но в начальных классах достаточно уметь строить алгоритмы, программировать стандартными функциями. В среднем звене, учащиеся 5-7 классов (12-14 лет) в различных соревнованиях по робототехнике входят в группу старших, где нужно программировать на более высоком уровне. Но основным пробелом в данное время является, программирование учащимися простым, примитивным способом, без использования переменных, математических, логических операций. Исходя из данной проблемы, вытекает необходимость научиться в программировании более высоком уровне с применением всех возможностей программного обеспечения. Создание программ с применением переменных, математических, логических операций дает возможность создания более «умного» робота.

В данной статье постараюсь показать положительные моменты программирования с использованием переменных и арифметических операций. Использование этих блоков подразумевает создание более «умного» робота, способного «мыслить» как разумный человек.

И так, начнем с блока данные:




Внутри данного блока имеются блоки «Логика», «Математика», «Сравнение», «Интервал», «Случайное значение», «Переменные», «Константы». Из этих блоков пока будем использовать переменные, константы, математику.

Команда Логика позволяет работать с логическими переменными, константами или значениями, переданными в блок от других команд через концентратор данных. Команда Математика предназначена для расчетов. С ее помощью можно выполнять над числами различные операции: сложение, вычитание, умножение, деление, абсолютная величина (модуль) и извлечение квадратного корня. Команда Сравнение предназначена для сравнения, принимает четыре значения сравнения: больше, меньше, равно. Команда Диапазон предназначена для определения принадлежности числа к определенному диапазону чисел, или находится вне этого интервала. Данный блок может принимать два значения: в пределах интервала, за пределом. Команда Случайное значение является важным элементом теории программирования. В более сложных языках ее называют «Генератор случайных (псевдослучайных) чисел». Команда Переменная, предназначена для хранения информации в виртуальной папке, которая существует в его памяти. Информацию, которую он может хранить может принимать следующие значения: логический, числовой и текстовый. Мы также можем вводить собственные переменные. Переменную можно создать только для чтения значений, тогда ее содержимое менять будет запрещено. Чтобы снять запрет, в параметрах нужно указать вариант Write (Записать). В одной и той же программе переменная может быть и только для чтения, и для чтения и записи. Команда Константы во многом похожи на переменные, но их главная особенность в том, что значение константы задается один раз и больше изменяться не может. Они также бывают трех типов: число, текст и логическое значение. По умолчанию Вы можете создать три константы, соответственно числового, текстового и логического типа. Значения их устанавливаются в окне настройки параметров вручную. Команда Число в текст, прежде всего, относится к «палитре дополнения», которая позволяет преобразовать число в текст, например для вывода на экран дисплея.

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

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

Будем решать задачу по шагам. Вначале создадим программу, по которой робот будет двигаться до чёрной линии. Теперь, прежде, чем двинуться дальше, нужно сохранить информацию о найденной линии, "посчитать" её. Для хранения этих данных воспользуемся переменной "Линии". Для её создания используем блок Variable (Переменная) в пункт меню Data полной палитры:



Доступ к блоку Variable в меню Date

Посмотрите на настройки блока По умолчанию среда создаёт три переменные: логического, числового и текстового типа. Имена переменных задаются в соответствии с их типом, что неудобно: имена должны объяснять назначение и смысл данных, хранящихся в переменной.



Настройки блока Variable по умолчанию

Поэтому принято вначале определять собственные переменные, задавать им понятные имена и тип, а затем уже использовать. Создадим переменную "Линии" числового типа.


Окно редактора переменных

Для этого:

  • зайдите в главном меню в пункт Edit и далее в Define variables (Определить переменную);

  • в открывшемся окне редактора переменных Edit Variables нажмите кнопку Create (Создать);

  • имя переменной можно задать произвольное (в том числе и по-русски), но принято именовать переменные в соответствии с тем, для каких целей они используются в задаче. В полях Name (Имя) и Data type (Тип данных) введите, соответственно, "Линии" и "Number";

  • нажмите кнопку Close.

Снова щёлкните по блоку Variable в программе и посмотрите, как изменились настройки. Рассмотрим их подробнее.



Настройки блока Variable после создания переменной

Настройки переменной состоят из следующих полей:

  1. Поле List (Список) содержит список имеющихся переменных с описанием их имени Name и типа Type. Обратите внимание, что созданная нами переменная с именем "Линии" уже есть в списке и имеет числовой тип.

  2. Action (Действие). Оно может быть или Read (Считывать) или Write (Записывать). В первом случае из переменной можно только читать ранее записанные данные. Во втором и считывать и записывать в неё. В программе может быть несколько блоков для одной и той же переменной, причём в одном данные считываются, а в другом записываются. Если выбран режим Write, то данные можно и читать, и писать в переменную.

  3. Value (Значение). Можно задать начальное значение переменной. В зависимости от выбранного типа значения будут меняться. В нашем случае значение должно быть равно нулю; это означает, что пока ни одной линии не найдено.

Продолжим создание программы подсчёта количества чёрных полос.

Добавьте в программу блок Math, настроенный на прибавление единицы к переменной "Линии", при этом результат снова должен быть сохранён в той же переменной. Выведите это значение на экран, как мы уже делали. Чтобы программа продолжала подсчёт, требуется заключить её в цикл. Получим следующий код:



Программа подсчёта количества чёрных полос

Другой вариант основан на том, что мы знаем ждать надо до тех пор, пока чёрная полоса не закончится, то есть до более светлого участка. В итоге программа примет вид:



Окончательный вариант программы подсчёта количества чёрных полос

Задание для самостоятельной работы

Задание 1. Когда остановится робот? Придумайте способ программной остановки робота и попробуйте реализовать его.

Задание 2. Напишите программу для робота, чтобы он останавливался на пятой полосе.

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

Вот такие примеры вполне доступно воспринимаются учениками среднего звена. Выполнив несколько аналогичных примеров учащиеся легко осваивают курс по использованию переменных в программировании.

Образовательная робототехника – это новая технология обучения, позволяет вовлечь в процесс инженерного творчества детей, начиная с младшего школьного возраста. Знания по робототехнике способствуют глубокому изучению составляющих современных роботов, а графическая программная среда позволяет легко и эффективно изучать алгоритмизацию и программирование. То есть изучение в данном направлении поможет учащимся повысить свою общенаучную подготовку, а именно развитие их мышления, логики, математических и алгоритмических способностей, исследовательских навыков. Изучение программирования с использованием сложных переменных у учащихся среднего звена, в рамках образовательной техники дает возможность учащимся получить хорошую базу по программированию. Учащиеся, которые обучены программированию с малых лет показывают хорошие результаты по сдаче единого экзамена по информатике и ИКТ. Использование переменных в программировании Лего роботов может принести немалые успехи в соревнованиях разного уровня.


Список использованной литературы:



  1. «Программирование LEGO MINDSTORMS NXT», Оуен Бишоп, 2008 г.

  2. Интернет ссылки: http://www.prorobot.ru/lego.php

  3. Интернет ссылки: http://www.mindstorms.ru/img/file/8547_Mindstorms.pdf



Нравится материал? Поддержи автора!

Ещё документы из категории педагогика:

X Код для использования на сайте:
Ширина блока px

Скопируйте этот код и вставьте себе на сайт

X

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

После чего кнопка «СКАЧАТЬ» станет доступной!

Кнопочки находятся чуть ниже. Спасибо!

Кнопки:

Скачать документ