Элементы математической логики в среде NXT-G. Работа с данными
Изучение темы "Основы робототехники с Lego Mindstorms NXT 2.0", непосредственно для начинающих, при изучении палитры данных: их настроек, возможностей и примеры программирования в среде NXT-G 2.0. Внешний вид разъемов данных и цветовая окраска шин данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 10.08.2018 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Алтайская государственная педагогическая академия
Элементы математической логики в среде NXT-G. Работа с данными
Соломатова Евгения Ивановна, ассистент
Аннотация
робототехника mindstorms программирование палитра
Данная статья посвящена изучению темы "Основы робототехники с Lego Mindstorms NXT 2.0", непосредственно для начинающих, при изучении палитры данных: их настроек, возможностей и примеры программирования в среде NXT-G 2.0
Образовательная робототехника - это новая технология обучения, позволяет вовлечь в процесс инженерного творчества детей, начиная с младшего школьного возраста. Знания по робототехнике способствуют глубокому изучению составляющих современных роботов, а визуальная программная среда позволяет легко и эффективно изучать алгоритмизацию и программирование. То есть изучение в данном направлении поможет учащимся повысить свою общенаучную подготовку, а именно развитие их мышления, логики, математических и алгоритмических способностей, исследовательских навыков.
В данной статье мы рассмотрим, как реализовать перечисляемые навыки, используя лего-робота Lego Mindstorms NXT 2.0 и среду его программирования. Данная среда программирования является графической (используя пиктограммы, для программирования лего-робота), что облегчает восприятие учащихся при изучении алгоритмизации и программировании. Чтобы создать программу в данной среде необходимо выбрать нужную пиктограмму, или упрощенное его называют «блок», и перетащить его на коммутатор, который является объединяющей составляющей всей программы.
В данной среде существует множество блоков, которые отвечают за определенные действия робота см. таблицу 1.
Таблица 1. Описание палитры в среде Lego Mindstorms NXT 2.0
Название палитры |
Изображение палитры |
Название блоков/палитры, составляющих |
|
Общая палитра |
1 - блок движения 2 - блок запись-воспроизведение 3 - блок звук 4 - блок дисплей 5 - блок жди (имеются дополнительные блоки) 6 - блок цикл 7 - блок переключатель (условия) |
||
Полная палитра |
1 - общая палитра 2 - палитра действий 3 - палитра датчиков 4 - палитра управления выполнением программы 5 - палитра данных 6 - палитра дополнения |
||
Пользовательская палитра |
1 - палитра моих блоков, созданная при установке программ на компьютер. Сюда по умолчанию помещаются созданные программные блоки пользователя 2 - палитра загружаемых из Интернет блоков |
Рассмотрим более подробно «палитру работы с данными» и один блок из «палитры дополнения» - перевод «числа в текст», а также их настройки (см. таблицу 2.).
Таблица 2. Описание блоков
Блок |
Назначение |
|
Logic/Логика |
Команда Логика позволяет работать с логическими переменными, константами или значениями, переданными в блок от других команд через концентратор данных. К двум значениям может применяться одна из логических операций И (AND), ИЛИ (OR), ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR), ОТРИЦАНИЕ (NOT). При этом, если значения не передаются в команду, они задаются в параметрах для переменных А и В (галочка - истина, крестик - ложь). Изображение кругов внутри прямоугольника, называемых кругами Эйлера-Венна - это подсказка. Закрашенная оранжевым часть обозначает результат, который команда выдаст после применения выбранной операции. Настройки блока: |
|
Math/Математика |
Команда Математика предназначена для расчетов. С ее помощью можно выполнять над числами различные операции: сложение, вычитание, умножение, деление, абсолютная величина (модуль) и извлечение квадратного корня. Внутри прямоугольника, в нижнем правом углу, отображается соответствующий символ выбранной операции. Входные параметры задаются теми же способами, что и у остальных команд этой группы, вводимые значения могут быть как положительными, так и отрицательными целыми (целое - число без десятичных величин). Результат применения команды - число (ответ, полученный после применения операции к значениям А и В). Например, если А равно 5, В равно 7, операция Сложение, то результатом работы команды будет число 12. Настройки блока: |
|
Compare/Сравнение |
Команда Сравнение предназначен для сравнения, принимает четыре значения сравнения: больше, меньше, равно. Отметим только, что результат у нее логического типа, тогда как входные данные должны быть числовыми. Знак операции указывается в параметре Action (Действие). Настройки блока: |
|
Rang/Диапазон |
Команда Диапазон предназначен для определения принадлежности числа к определенному диапазону чисел, или находится вне этого интервала. Данный блок может принимать два значения: в пределах интервала, за пределом. Задаваемый интервал должен быть числовым, как и проверяемое значение. Если значение входит (не входит) в интервал, команда передает в программу логическое значение Истина. Настройки блока: |
|
Random/Случайное значение |
Команда Случайное значение является важным элементом теории программирования. В более сложных языках ее называют «Генератор случайных (псевдослучайных) чисел». Вам нужно указать диапазон, задав максимальное и минимальное значение в окне настройки параметров команды. Результатом ее работы будет случайное число из указанного диапазона. Настройки блока: |
|
Variable/Переменная |
Команда Переменная, предназначена для хранения информации в виртуальной папке, которая существует в его памяти. Информацию, которую он может хранить может принимать следующие значения: логический, числовой и текстовый. Настройки блока: Мы также можем вводить собственные переменные, для этого нужно выбрать в меню Edit (Правка) а Define Variables (Определитель переменных) и появиться окно Edit Variables (Редактирование переменных) а Create (Создать), в которых и создаются новые переменные. Переменные могут изменять свои значения во время работы программы. Но тип значений переменной задается один раз, и в программе изменяться не может. (В более сложных языках возможно и это, но NXT-G не поддерживает функцию приведения типов). Переменную можно создать только для чтения значений, тогда ее содержимое менять будет запрещено. Чтобы снять запрет, в параметрах нужно указать вариант Write (Записать). В одной и той же программе переменная может быть и только для чтения, и для чтения и записи. Например, в начале программы Вы создали переменную V1 с параметром Read (только чтение), а в середине кода в еще одном блоке Variable указали для нее значение Write (Записать). |
|
Constant/Константа |
Константы во многом похожи на переменные, но их главная особенность в том, что значение константы задается один раз и больше изменяться не может. Они также бывают трех типов: число, текст и логическое значение. По умолчанию Вы можете создать три константы, соответственно числового, текстового и логического типа. Настройки блока: Значения их устанавливаются в окне настройки параметров вручную. Для создания большего количества констант, как и в случае с переменными, есть Define Constants (Редактор констант), расположенный в меню Edit (Правка). В окне редактора можно создать, удалить или редактировать константу. После нажатия на кнопку Create (Создать) Вам нужно указать имя константы, ее тип и значение. Нажмите кнопку ОК. Ваша константа создана и автоматически добавлена к списку всех констант блока Constant и данное окно можно закрыть. |
|
Number to Text /Число в текст |
Команда Число в текст, прежде всего, относится к «палитре дополнения», которая позволяет преобразовать число в текст, например для вывода на экран дисплея. Настройки блока: |
Каждый из перечисленных блоков можно управлять динамически, подключив так называемую «шину данных» (от концентраторов данных одних блоков к концентраторам данных других блоков). Для этого нужно, предварительно поместить нужный блок в рабочую область, открыть концентратор данных блока, щелкнув по кнопке в нижней левой части блока (см.рис.1).
Рис. 1 Концентратор данных блока
Шины данных, передающие входящие данные на блок, подключены к разъемам, находящимся на левой стороне их концентраторов данных. Шины данных, передающие исходящие данные, подключены к разъемам, находящимся на правой стороне.
Рис. 2 Внешний вид разъемов данных и цветовая окраска шин данных
[A] Входной разъем
[B] Выходной разъем
[C] Числовая шина данных (желтая)
[D] Логическая шина данных (зеленая)
[E] Текстовая шина данных (оранжевая)
[F] Поврежденная шина данных (серая)
Если для входного разъема есть соответствующий выходной разъем (см. выше A), входящие данные будут проходить от входного разъема на выходной разъем без изменений. В этом случае можно использовать выходной разъем, если входной разъем подключен к шине данных входа; подключение шины данных выхода к такому выходному разъему без подключенной шины данных входа приведет к «неисправности» шины данных выхода (она будет окрашена в серый цвет).
Каждая шина данных осуществляет обмен специфическими типами данных между блоками. Например, если шина данных перетянута с логического разъема на концентратор данным блока, ее можно подключить только к логическому разъему на концентраторе данных другого блока.
Рассмотрим два примера программ на применения рассмотренных блоков.
Пример 1. Даны два числа х=25 и у=-5, выведите на экран сумму этих двух чисел.
Программа реализации решения:
1 |
Используем математический блок с операцией (Operation) а сложение (Addition), в данном блоке используются две переменные А и В, то есть вводим наши значения в данные поля. |
||
Далее, как ввели данные значения, мы воспользуемся блоком число в текст, что бы отобразить результат вычисления на дисплей лего-робота. После чего мы раскрыли концентратор данных блоков, из выходных данных математического блока () объединим с входными данными блока число в текст (). |
|||
2 |
В блоке дисплей выбираем действие (Actoin) а текст (Text), вводимый текст в данном случае можно не удалять, он удалиться автоматически, так как мы объединили выходные данные блока число в текст () с входными данными блока дисплей (), раскрыв концентратор данных блоков. |
||
3 |
После блока дисплей, мы поставили блок ожидания, для того чтобы смогли увидеть результат вычисления в течение 3 секунд, то есть указав в пункте контроль (Control) а время (Time). |
Примечание: Также в данной задаче можно было использовать переменн(-ую/-ые), для введения значений переменной х и у.
Пример 2. Даны два случайных числа хО[-25;0] и y=36. Вычислите значение и определите, принадлежит ли данное число данному отрезку [1;25].
Программа реализации решения:
1 |
Выбираем блок случайных значений, для того чтобы программа выбирало значение х из заданного отрезка [-25,0]. |
||
2 |
Математический блок используем для вычисления формулы |х|, то есть в пункте операция (Operation) а абсолютная величина (Absolute Value), причем значение А и В мы не вносим, так как значение А берется из выходных данных блока случайных значений, а значение В равно 0 (работаем с одной переменной). |
||
3 |
Создали константу, используя блок константы, а именно в главном меню выбрали пункт править (Edit) а редактор констант (Define Constants), в появившемся окне (Edit Constants) нажимаем на кнопку создать (Create) и перед вами станут активны следующие пункты константы: - имя (Name); - тип данных(Datatype); - значение (Value). В данных пунктах указываем имя переменной у, типа число равное 36, и нажимаем на кнопку ОК, после чего можно закрыть данное окно. После чего в настройке блока константы в пункте действие (Actoin) а выберите из списка (Choose from list) и в поле лист (List) выберите нужную константу. |
||
4 |
Математический блок используем для вычисления формулы , то есть в пункте операция (Operation) а квадратный корень (Square Root), причем значение А берется из выходных данных блока константы (), а значение В равно 0 (работаем с одной переменной). |
||
5 |
Математический блок используем для вычисления формулы , то есть в пункте операция (Operation) а сложение (Addition), причем значение А берется из выходных данных математического блока (под номером 2), а значение В - выходных данных математического блока (под номером 4) |
||
6 |
Блок диапазон используем для того чтобы определить принадлежит ли результат нашего вычисления отрезку [1,25], выбрав операцию (Operation) а в пределах интервала (Inside Range). |
||
Далее, раскрыли концентратор блоков (диапазон, число в текст, переключатель) и объединим блок диапазон с блоком число в текст, что бы отобразить результат вычисления на дисплей лего-робота (используя блок дисплей), и с блоком переключателя (условием), чтобы сообщить соответствующую информацию на включения данного значения, а именно: - выходные данные блока диапазон (), с входными данными блока число в текст (). - выходные данные блока диапазон (), с входными данными блока переключатель (), который принимает значение в настройках данного блока контроль (Control) логическое значение (Logic). |
|||
7 |
В блоке дисплей выбираем действие (Actoin) а текст (Text), вводимый текст в данном случае можно не удалять, он удалиться автоматически, так как мы объединили выходные данные блока число в текст () с входными данными блока дисплей (), раскрыв концентратор данных блоков. |
||
8 - 10 |
Блок ожидания, необходим для того чтобы смогли увидеть соответствующую информацию в течение 2 секунд, указав в пункте контроль (Control) а время (Time). |
||
9 |
Блок переключателя (условия), как раннее было сказано, необходим чтобы, сообщить информацию на включения данного значения в отрезок [1,25], в соответствии «да» или «нет». |
||
В блоке дисплей выбираем действие (Actoin) а текст (Text), в данном пункте вели текст «- Yes» и установили его позицию (Position) на дисплеи блока NXT, указав значение координат Х=22 и У=32, так же можно указать расположение текста по линии (Line). |
|||
В блоке дисплей выбираем действие (Actoin) а текст (Text), в данном пункте вели текст «- Not» и установили его позицию (Position) на дисплеи блока NXT, указав значение координат Х=22 и У=32. |
Список литературы
1. James Floyd Kelly. Lego Mindstorms NXT-G Programming Guide: Second Edition [текст] / Apress, 2010. - 317с.
2. Owen Bishop. Programming Lego Mindstorms NXT [текст] / Syngress, 2007. - 187c.
3. Piotr Czekalski. Programming Lego Mindstorms NXT robots. Macrofaculty profiled documents [текст] / Silesian University of Technology, Gliwice, 2009. - 117с.
4. Основы робототехники: учебное пособие 5-6 класс [текст] / Д.А. Каширин, Н.Д. Федорова. - Курган: ИРОСТ, 2013. - 240с.
Размещено на Allbest.ru
...Подобные документы
Создание базы данных, планирование разработки и системные требования. Проектирование базы данных в среде Microsoft Access, элементы и типы данных. Создание таблицы и использование конструктора для их модернизации. Построение запросов и создание макросов.
курсовая работа [2,0 M], добавлен 16.04.2011Изучение основных принципов разработки приложений баз данных в среде Delphi. Создание таблиц, псевдонима и вычисляемых полей базы данных. Особенности организации поиска и фильтрации. Сортировка данных в таблицах. Построение запросов. Генерация отчетов.
курсовая работа [1,3 M], добавлен 05.02.2017Разработка приложения для осуществления работы с медицинскими данными с последующей их визуализацией. Изучение типов данных и свойств полей Access. Компоненты наборов данных. Структура базы данных для клиники. Экранные формы для отображения справочников.
курсовая работа [1,5 M], добавлен 14.08.2014Современные базы данных – многофункциональные программные системы, работающие в открытой распределенной среде изучении администрирования базы данных. Способы организации внешней памяти баз данных. Системы управления базами данных для хранения информации.
курсовая работа [185,6 K], добавлен 07.12.2010Изучение процесса обмена данными между приложениями в среде MS Office, используя при этом разные форматы хранения и представления информации. Создание файла исходных данных формата CSV по шаблону. Выполнение тестов, расчетов с исходным набором данных.
курсовая работа [3,4 M], добавлен 27.01.2015Разработка простейшей базы данных с использованием приемов работы с Microsoft Access в среде программирования Delphi. Назначение базы данных, условия эксплуатации, выполнения и запуска программы "База данных районного отдела налоговой инспекции".
курсовая работа [1,3 M], добавлен 14.12.2012Приложения, позволяющие работать со списками и базами данных. MS Access - классическая система управления базами данных. Понятие списков и данных, особенности их создания в среде MS Office. Расчёт исходящих остатков данных в табличном процессоре MS Excel.
курсовая работа [1,2 M], добавлен 25.04.2013Понятие и структура банка данных. Основные структурные элементы базы данных. Система управления базами данных. Преимущества централизации управления данными. Понятие информационного объекта. Современные технологии, используемые в работе с данными.
курсовая работа [1,8 M], добавлен 02.07.2011Разработка программного продукта - базы данных "Экскурсия" в интегрированной среде программирования C++ Builder 6. Определение порядка просмотра данных базы, их редактирования и удаления. Особенности руководства пользователя и общего интерфейса программы.
курсовая работа [2,4 M], добавлен 03.11.2013Технология создания базы данных в среде MS Access. Добавление или удаление таблиц, запросов и полей. Изучение предметной области. Описание форм базы данных "Ресторан", демонстрирующих удобные профессиональные способы работы с таблицами и запросами.
курсовая работа [1,8 M], добавлен 03.07.2011Анализ баз данных и систем управления ими. Проектирование и создание реляционной базы данных в среде MS Access для ресторана "Дельфин": построение информационно логической модели, разработка структур таблиц базы данных и схемы данных, создание Web-узла.
курсовая работа [3,7 M], добавлен 15.11.2010Классификация моделей построения баз данных. Работа с реляционными базами данных: нормализация таблиц, преобразование отношений полей, преобразование функциональной модели в реляционную. Понятие языка определения данных и языка манипуляции данными.
реферат [123,0 K], добавлен 22.06.2011Концептуальное проектирование базы данных: разработка схемы и структуры таблиц, описание атрибутов. Реализация базы данных в среде СУБД MS SQL Server 2000. Основные принципы создания таблиц. Доступ и обработка данных с помощью утилиты Enterprise Manager.
курсовая работа [3,8 M], добавлен 22.01.2013Разработка базы данных торговой фирмы по поставке одежды. Анализ таблиц, которые она содержит. Присвоение ключевых полей. Использование средств программирования и макросов для упорядочения структуры базы данных в среде СУБД MS Access. Добавление объектов.
курсовая работа [1,2 M], добавлен 29.12.2014Проект системы по хранению и обработке данных детей-сирот или из неблагополучных семей, которые находятся в специализированных приемниках, детских домах или приютах. Разработка документации для создания базы данных в среде программирования SQL Server.
курсовая работа [955,0 K], добавлен 07.12.2012Моделирование базы данных "Обязательное медицинское страхование" с использованием методологии IDEF1X. Разработка базы данных в программной среде FoxPro 9.0, с использованием языка программирования SQL. Описания хранимых в базе данных таблиц и запросов.
курсовая работа [257,2 K], добавлен 15.03.2016Разработка сайта для хранения и обработки информации об абитуриентах в среде программирования Delphi 7. Архитектура базы данных. Функциональная схема программы. Даталогическая модель данных. Сущности БД и архива. Элементы пользовательского интерфейса.
дипломная работа [4,2 M], добавлен 30.03.2015Системы управления базами данных: сущность и характеристика. Типы данных и свойства полей СУБД Access. Объекты базы данных: таблицы, схемы данных, формы, запросы, отчеты. Разработка и проектирование базы данных "Продажи книг" в среде Microsoft Access.
курсовая работа [1,8 M], добавлен 04.02.2013СУБД - многопользовательские системы управления базой данных, специализирующиеся на управлении массивом информации. Запросы на выборку и изменение данных, формирование отчетов по запросам выборки. Схема базы данных. Программа по управлению базой данных.
реферат [1,9 M], добавлен 27.12.2013Технологии обработки экономической информации в среде ТП MS Excel. Работа в среде СКМ Maple. Технологии обработки данных в среде СУБД MS Access и анализ языка запросов SQL как средства расширения возможностей СУБД. Разработка отчетов в СУБД Access.
контрольная работа [1,5 M], добавлен 04.04.2012