Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Другие методич. материалы / Методическое пособие по Lego - программированию
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 24 мая.

Подать заявку на курс
  • Информатика

Методическое пособие по Lego - программированию

библиотека
материалов

hello_html_1ff102e.gifhello_html_m3adae45c.gif

Составитель: Шкилёва И.И.

Учитель информатики и ИКТ

Lego –программирование.

Lego Mindstorms.

Часть 2.


Содержание

1.

Введение

3

2.

Знакомство с NXT-G

4

3.

Интерфейс NXT-G

6

4.

Ветвление

9

5.

Циклы

10

6.

Переменные

11

7.

Robo Center :

12


  • TriBot

12


  • RoboArm

15


  • Spike

16


  • Alpha Rex

18

8.

Программирование в Robolab:

21


  • Режим «Администратора»

22


  • Режим «Программист»

24

9.

Основные окна

25

10.

Готовые примеры программ

27

11.

Взаимодействие с NXT

28

12.

Типы команд

29

13.

Команды действия

31

14.

Список литературы

32





  1. Введение


Способность NXT – робота выполнять любое задание: что бы ни было - следовать линии, бросить мяч или пометать пол не является информацией. Необходимо снабдить робота специальными инструкциями, которые будут диктовать ему, что делать: нужно запрограммировать робота. Программирование NXT включает написание программы на компьютере, и затем перенос в микроконтроллер, «мозг» робота, который запускает и выполняет программу. Программы должны сообщать NXT, как моторам работать, как датчикам получать информацию, как динамику играть звук и т.д.

Подходя к программированию NXT. первым делом обратим внимание на официальный язык NXT- G, включенный в пакет LEGO MINDSTORMS NXT , поставляемый вместе с конструктором NXT- G – это графический язык программирования в котором программы можно создавать с помощью нажатия клавишей мыши и перетаскивания блоков вида на экране (G - graphical, графический). NXT- G довольно прост в использовании, но требует больших ресурсов компьютера и занимает много памяти. Далее будут рассмотрены еще две среды программирования NXT, которые работают быстрее, но могут оказаться менее достаточны читателю.

В этой главе, во –первых, исследуем интерфейс NXT- G, который играет важную роль в процессе создания программы. Во – вторых, обсудим некоторые базовые понятия языка NXT- G, которые необходимы для успешного программирования. В – третьих, рассмотрим готовые примеры из Robo Center.

В некоторых случаях среду программирования LEGO MINDSTORMS NXT для краткости будем называть LMN.

  1. Знакомство с NXT – G.


При запуске LEGO MINDSTORMS NXT появляется основной экран, откуда можно перемещаться к другим разделам. Начинающим настоятельно рекомендуем просмотреть краткие интерактивные руководства Getting Stated b Software Overview.

Чтобы увидеть интерфейс NXT- G и начать с ним работу, необходимо создать новую программу или открыть существующую.hello_html_m49cd07c9.png

Стартовое окно LEGO MINDSTORMS NXT




Замечание. Предполагаем, что уже установлено программное обеспечение, поставляемое вместе с NXT - набором, и успешно проведено USB – или Bluetooth – соединение между компьютером и NXT . В случае несоответствия или сбоев операционной системы микроконтроллера следует воспользоваться разделом главного меню Tools Update NXT Firmware.

Новая программа.

Чтобы создать новую программу, напишите ее название в рамке под словами Start New Program и затем нажмите кнопку Go>>. Чтобы открыть просто существующую программу, в которой вы недавно обращались просто выберите программу из ниспадающего меню под словами Open Recent Program и затем нажмите кнопку Go>>.

Поскольку изначально не существует программы, напишите Fire Program в поле под словами Start New Program и нажмите кнопку Go>>, чтобы создать новую программу с именем Test Program.

Замечание. Можно создать новую программу, выбрав File New нажимая при этом сочетание клавиш CtrlN(для Windows) или CMD-N(для Mac).












  1. Интерфейс NXT-G.


Интерфейс NTX-G появляется, как только создана или открыта программа (Robo Center уменьшает обзор интерфейса, можно временно закрыть его). В результате получаем окно программы, состоящее из четырех основных прямоугольников: рабочее поле программы, на котором расположен командный центр, палитра команд, окно настройки параметров команд и окно просмотра общего вида программы. Кроме того, сверху находиться главное меню и пиктограмма оранжевой прямоугольной балки, по которой можно вернутся в Robo Center. Стрелкой на рисунке показана пиктограмма перехода к Полной палитре команд.

hello_html_m4e4e61cb.gif

Интерфейс NXT –G




Перетаскивая блоки из палитры команд на рабочее поле, можно создать программу. При этом близлежащие блоки автоматически связываются проводами, похожими на гладкие балки серии Technic, создавая последовательность выполнения команд. Этими же балками, придерживая клавишу Shift, можно строить ответвления параллельных задач.

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

Рассмотрим пиктограмму блока управления моторами «Moto block», параметры которого приведены в окне настройки.

Буквы в правом верхнем углу блока(1) показывают, какие из портов устройства NXT будут контролироваться. Пиктограмма «стрелка»(2) дает направление движения робота. Пиктограмма «индикатор мощности» (3) показывает уровень мощности. Скорость робота может также зависеть от прочих условий, например поверхности, по которой он движется, а также движения в гору или под гору. Пиктограмма (4) определяет значение, установленные для характеристики «Продолжительность» вращения: без ограничений, градусы, обороты или секунды.hello_html_m45eb63d0.png

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



Извлечение концентратора данных

hello_html_f2cdbf1.png





















Как правило, шина данных создается между двумя концентраторами. На подключаемых разъемах один из них должен возвращать данные, а другой принимать. Если шину подключить неправильно, на несовместимые разъемы, то она будет выглядеть поврежденной, в виде пунктирной линии.









  1. Ветвления

Есть несколько специфических блоков, которые стоит упомянуть. Первый из них Блок принятия решений, или Ветвление.hello_html_7dcc491.png

Ветвления: по датчику нажатия (слева, по логическому или числовому значению (справа)





В приведенном примере (рис. слева) в зависимости от состояния датчика нажатия (1) выполняется либо верхняя ветвь (2- если нажат), либо нижняя(3- если отпущен).

hello_html_44acbd7.png

Сокращенное отображение ветвления

Любое ветвление с помощью окна настройки параметров можно перенастроить на другое условие. Например, можно принимать решение на основании некоторого значения (рис. справа), подаваемого на специальный разъем. В этом случае значение должно поступить по логической или числовой шине данных, от какого – то другого блока.

Ветвление может отображаться в двух режимах: когда видны обе ветви (и Да, и Нет), как на рисунке, или с отображением только одной из выбранных ветвей. Это может быть полезно для экономии места на экране, которого в NXT-G катастрофически не хватает. Режим определяется установкой флажка «flat view» в левой нижней части окна настройки параметров.


  1. Циклы

Следующий блок, с которым стоит познакомиться, это цикл. Как правило, в NXT-G используются циклы либо с параметром, либо с постусловием.

В качестве условия в правом нижнем углу пиктограммы (1) указывается режим повторений. В примере слева цикл работает бесконечно. Кроме того, циклы бывают с фиксированным числом повторений, по значению таймера, значению датчика, значению переменной.hello_html_18266f37.png

Пиктограмма бесконечного цикла (слева), цикл по датчику освещенности (справа).




В приведенном примере моторы В и С работают до тех пор, пока на датчике освещенности на 3 –м порту не будет показано значение больше 50. При этом включен режим вывода значение счетчика повторений, и программист может подсоединить шину данных к разъему в левом нижнем углу пиктограммы цикла.


  1. Переменные

Для использования переменных в NXTG предусмотрен блок Variable, находящийся в палитре Data.

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

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

Программист может создать свою переменную, воспользовавшись пунктом главного меню Edit -> Define Variables.

Для того чтобы самостоятельно начать программировать этого уже достаточно. Если же читатель заинтересуется глубже, он может заглянуть в Полную палитру, добавить дополнительные блоки, создать свои блоки и многое другое. Среда языка NXTG обладает массой возможностей и представляется весьма полезным инструментом для изучения программирования NXT – роботов начинающими. Если же не появилась уверенность в своих силах, милости просим в Robo Center!




  1. Robo Center.

Раздел Robo Center содержит четыре модели разработанных компанией «Лего» специально для пользователей NXT . перейдя к любой из них, можно получить исчерпывающее руководство по сборке и составлению простейших программ для этих моделей. Эти разделы стоит пройти любому счастливому обладателю конструктора, поскольку в них не только можно найти неплохой самоучитель, но и понять некоторые принципы, заложенные создателями LEGO MINDSTORMS NXT в свое детище.

Собирая модель по инструкции, не забудьте раскрыть окно Robo Center на весь экран, чтобы лучше видеть мелкие детали и соединения.

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

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


TriBot.

TriBot - это трехколесный движущийся робот. Он использует преимущества всех четырех датчиков, чтобы сделать то, что он запрограммирован. TriBot может поднимать мяч, когда получит голосовую команду. Также он может быть запрограммирован на движение по линии. Он может ощущать объекты и имеет систему зрения.

Датчики и элементы, которые использует TriBot:

  • Контроллер NXT;

  • Ультразвуковой датчик;

  • Датчик звука;

  • Датчик прикосновения;

  • Датчик счета;hello_html_1833e3f0.png

  • Три сервомотора.






Рассмотрим пример программы, которая просто и быстро заставит TriBot двигаться по черной линии. Пусть левый мотор подсоединен к порту С, правый к порту В, а датчик освещенности на 3 порт.

hello_html_729d7e18.png

В этой программе сначала (1) дается команда мотору С двигаться без ограничения вперед с мощностью 50 %. Мгновенно запускается цикл (2), в котором постоянно проверяются показания датчика освещенности (3) и корректируется мощность мотора В(4 и 5) с помощью ветвления. Если освещенность под датчиком выше 50% (белый цвет), то выполняется верхняя ветвь (4): мотор В сбавляет мощность до 25 %. Если освещенность под датчиком ниже 50% (черная линия), то выполняется верхняя ветвь (4): мотор В набирает мощность до 75 %. Таким образом, либо робот движется направо в поисках черной линии, либо налево, стараясь съехать с нее белое поле. Очевидно, что для эффективного выполнения алгоритма робот должен стартовать, когда его датчик находится по левую сторону от линии, практически на границе с белым. Подобные устройства, называемые релейными регуляторами, будут подобно рассмотрены в главе, посвященной алгоритмам управления.

Robo Arm.

Robo Arm T-56 – это сложная робоподобная рука, которая может поднимать, поворачивать и захватывать объекты, используя для этого свои ноги. Он может различать цвета и ощущать объекты. Для того чтобы робот двигался, используются три мотора – один управляет тремя захватами, а два других используются для поворотов и движения вверх и вниз.hello_html_4797120a.png

Датчики и элементы, которые использует Robo Arm T-56:

  • Контроллер NXT

  • Датчик прикосновения

  • Датчик света

  • Три сервомотора.hello_html_58949eab.png

Вот пример программы, которая заставит робота распознавать и захватывать красный или синий шарик.

В этой программе мотор А(1) открывает когти, мотор В(2) опускает руку на шарик, после чего мотор А(3) захватывает шарик когтями. После производиться проверка цвета шарика (4): для датчика освещенности синий темнее красного. Если шарик оказался красным, выполняется верхняя ветвь алгоритма (5): NXT издает соответствующий красному сигнал, мотор С возвращает руку. При синем шарике (6) издается сигнал «синего» и шарик сразу выбрасывается мотором А на негодный. После ветвления мотор В(7) возвращает руку в исходное положение.


Spike.

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

Датчики и элементы, которые использует Spike:hello_html_7ff3946.png

  • Контроллер NXT

  • Ультразвуковой датчик

  • Датчик звука

  • Датчик прикосновения

  • Три сервомотора.

Рассмотрим программу, которая просто и быстро заставит идти к цели, поразить ее хвостом, играя при этом музыку, и вернуться на место.

hello_html_m96228f2.png

В этой программе скорпион движется в перед на 10 оборотов моторов С и В(1). Затем с помощью мотора А(2) он наносит удар хвостом до тех пор, пока не коснется жертвы «жалом», т.е. пока не сработает датчик касания на кончике хвоста(3). После успешного «укуса» NXT играет музыку (4), хвост возвращается назад (5) и скорпион пятится в исходную позицию(6). Если же кнопка не убедит, нажата во время удара, то робот «застрянет» в ожидании срабатывания датчика, а его создателю придется пожертвовать пальцем, чтобы продолжить выполнение программы.

Alpha Rex.

Alpha Rex умеет делать то, что под силу только самым разным роботам – адроидам. Он ходит на двух ногах, почти как настоящий человек. В его ноги встроена пара сервомоторов, которые позволяют ему двигаться, а ультразвуковой датчик дает роботу возможность видеть препятствия. На руках у Alpha Rex находятся датчики звука и прикосновения.

hello_html_m4538f4eb.png

Датчики и элементы, которые использует Alpha Rex:

  • Контроллер NXT

  • Ультразвуковой датчик

  • Датчик звука

  • Датчик прикосновения

  • Два сервомотора.


Вот пример стандартной программы, которая просто и быстро заставить Alpha Rex ходить, а его сердце – биться.hello_html_4ba1c02e.png

В данной программе одновременно запускаются две параллельные задачи. В первой из них содержится бесконечный цикл (1),в котором в дисплее NXT поочередно отображаются две различные картинки бьющегося сердца (2) с промежутком 0,5 секунды (3). Во второй задаче ветвь которой отходит вниз и вправо, осуществляется движение вперед с помощью заданного числа оборотов моторов С и В (4). Можно продолжить действие, добавив свои собственные блоки (5).







  1. Программирование в Robolab.

Robolab 2.9 – это многофункциональная графическая среда программирования, созданная на основе Lab View 7.0 и ориентированная на самые разные возрасты – от дошкольников до студентов. Текущая версия Robolab позволяет программировать несколько типов микроконструкторов – Control Lab, RCX,NXT, а также проводить независимые расчеты на компьютере. Следует заметить для тех, кто работал в RCX, но новая прошивка (Firmware) для него работает в 100 раз быстрее, правда загружается также долго (4-5 мин). Следует обратить внимание на дань прошлому со стороны разработчиков: некоторые пункты меню содержат название RCX, но подразумевают также и работу с NXT.

hello_html_2f69026f.png

При запуске Robolab предлагает три уровня работы: Администратор, Программист и Исследователь.

Режим Администратора позволяет настраивать контроллер на работу со средой.

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


Режим «Администратор».

Первое, что следует сделать администратору – выполнить «Проверку связи с RCX» (подразумевается NXT). Есть три варианта исхода: успешное завершение со звуковым сигналом на микроконтроллере, сообщение о необходимости сменить операционную систему (ОС NXT или, иначе говоря, Firmware) и сообщение об ошибке связи.hello_html_m2d635244.png

Если связь компьютера и NXT не появилась сразу, следует воспользоваться меню «Select Port» для выбора USB – порта. Лучше всего выбрать автоопределение и выключить NXT, убедиться, что он хорошо соединен, и снова включить.

Для поддержки новых возможностей NXT дополнительные установки добавлены в таблицу «Установка RCX/NXT». Здесь можно выбрать имя NXT, имя файла загружаемой в NXT программы. По умолчанию используется rbl. Допускается использовать до шести символов или можно задать его из программы с использованием расширенного NXT светофора (блок NXT begin).

Поскольку Robolab поддерживает несколько устройств (RCX,NXT), диалоговое окно «Choose Hardware» добавлено в установку автоопределения. Оно может появляться в разных ситуациях при повторе связи с NXT, и этого не надо бояться. Надеюсь, выбор будет очевиден.hello_html_f97a0b0.png




Режим «Программист».

Раздел программиста делиться на два: Pilot и Inventor, что не совсем удобно переведено как Управление и Конструирование.hello_html_m7ecf9862.png

Следовало бы назвать эти разделы Новичок и Изобретатель. Можно было бы пройти их последовательно, постепенно окунаясь в среду графического программирования. Однако нет препятствий для того, чтобы начать сразу с последнего уровня Inventor 4, в котором представлены все основные возможности программирования среды Robolab. Для перехода на этот уровень необходимо дважды щелкнуть по надписи Inventor 4, не касаясь подразделов.



  1. Основные окна.

Итак, мы зашли в среду программирования. На экране два основных окна, относящихся к одному проекту: Front Panel и Block Diagram. Первое (передняя панель) для программирования не пригодиться, хотя его можно использовать в режиме Исследователя. Второе окно, в котором уже расположены две пиктограммы светофоров( Рабочее поле программы), предназначено для составления программы. Его стоит распахнуть на весь экран и приступить к работе.

hello_html_68099f78.png



Два вспомогательных окна:Tools Palette и Functions Palette, - содержат все необходимое для составления программы. В случае закрытия их снова можно вывести на экран через пункт Windows верхнего меню.

Программа в Robolab похожа на блок – схему, положенную на левый бок. Она читается слева направо, хотя блоки располагать можно как угодно. Блоки команд находятся в окне Functions Palette(Палитра команд). Они связываются между собой проводами, а также управляются инструментами, находящимися в меню Tools Palette (Палитра инструментов).hello_html_m74b85b10.pnghello_html_m3ca3ad08.png


Название любого блока в Functions Palette можно прочитать в верхней части окна, подведя к нему курсор. Кроме того, под заголовком окна находиться кнопка Seach(Поиск), с помощью которой можно найти пиктограмму по названию.

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


  1. Готовые примеры программ.

Одним из новшеств Robolab 2.9 является палитра примеров Behaviors.hello_html_m740d1157.png

Это блоки, содержащие в себе готовые части программ под определенные задачи. Например, блок Go Straight (двигаться прямо) запускает моторы А и С вперед и через одну секунду выключает их. hello_html_354854f9.png

Однако для запуска этого фрагмента программы его надо обязательно поместить между светофорами, соединив их проводами.

Палитра Behaviors содержит ряд серьезных примеров программирования в Robolab, по которым можно самостоятельно многому научиться. Некоторые из таких примеров будут рассмотрены ниже.

  1. Взаимодействие с NXT.

В режиме Программист могут потребоваться настройка USB – подключения NXT(соединение с компьютером через Bluetooth не поддерживается) и загрузка операционной системы. Это реализуется через меню Projects, которое для опытного робототехника содержит много интересного.hello_html_42e3afba.png

Рассмотрим некоторые возможности.

Пункт меню Project -> Select COM Port позволяет выбрать порт USB – подключения NXT.

Пункт меню Project ->Detective позволяет не только выбрать соответствующий порт подключения NXT, но и загрузить Firmware,если оно не было сделано в режиме Администратор. Во время загрузки ОС у NXT пропадает изображение на экране, но в течение минуты категорически нельзя предпринимать никаких действий над контроллером.

Когда ОС загружена, стандартная программа, попавшая в память NXT, размещается в разделе My files-> Software Files и получает имя rbl. Для того чтобы дать другое имя, следует в программе Robolab заменить начальный блок – зеленый светофор – на аналогичный с надписью NXT из палитры NXT. на таком блоке в специальном розовом прямоугольнике можно задать латинскими буквами и цифрами любое имя программы, причем значимыми будут не более шести первых символов.hello_html_m20f6c46f.png

Не забывайте сохранять свои программы на диске компьютера, давая им запоминающиеся имена. Когда в другой раз попытаетесь открыть сохраненную программу и увидите черное окно, не пугайтесь: чтобы перейти к алгоритму, необходимо выполнить пункт меню Window-> Show Block Diagram.


  1. Типы команд.

Блоки Functions Palette можно классифицировать следующим образом:

  • Команды действия

  • Команды ожидания

  • Управляющие структуры

  • Модификаторы.

Начнем с простейших команд. Их можно разделить на два типа: Жди и Делай.

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

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

Следующий тип блоков – это управляющие структуры. Среди них представлен основной джентельменский набор программиста:

  • Ветвления

  • Циклы и безусловные переходы

  • Подпрограммы

  • Параллельные задачи

  • Обработчики событий.

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

Практически все блоки, оставшиеся в Robolab со времен RCX, пригодны для NXT. Но при этом появилась часть новых блоков, относящихся преимущественно к датчикам NXT, а также расширяющий функциональные возможности Robolab для обеих систем. Следует заметить, что между датчиками, моторами и микроконтроллерами сохранена совместимость «снизу вверх», так что практически во всех случаях можно использовать старые датчики и моторы с новым микроконтроллером. Только для этого нужны соответствующие переходники, которые входят в состав набора 9797, а также продаются отдельно.


  1. Команды действия.

Команды действия применимы к управляющим устройствам NXT. К ним можно отнести:

  • Моторы

  • Динамик

  • Таймеры

  • Встроенная память (контейнеры)

  • Датчики при инициализации и др.









  1. Список литературы

  1. Lego®Mindstorms®Education

  2. Жимарши Ф. Устройства управления робота./Ф.Жимарши. пер.с.фр. М.А.Комаров. – М., НТ-Пресс,2007.- 288с.:ил.

  3. Филлипов С.А. «Робототехника для детей и родителей»./С.А. Филлипов. - С-П.: «Наука»,2010


Краткое описание документа:

Методическое пособие позволяет научить учащихся 5 классов выражать свои идеи, проектировать как программное обеспечние, так и техническое, реализовать в виде модели, в последствии способной функционировать.
Образовательная система Lego предполагает такие методики, которые помогают становиться творчески мыслящими, обучают работе в команде. Эта система предлагает детям проблемы, дает в руки свои инструменты, позволяющие им найти свое собственное решение. Благодаря этому учащиеся испытывают удовольствие подлинного достижения.
Автор
Дата добавления 26.03.2014
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров2545
Номер материала 39621032637
Получить свидетельство о публикации

Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Похожие материалы

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