Элементы математической логики в среде 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.