Парадигма | процессуальный |
---|---|
Разработано | Ричард Э. Паттис |
Впервые появился | 1981 г. |
Диалекты | |
Некоторые языковые варианты с локализацией | |
Под влиянием | |
Паскаль | |
Под влиянием | |
Карел ++, AgentSheets , Гвидо ван Робот |
Karel - это образовательный язык программирования для начинающих, созданный Ричардом Паттисом в его книге Karel The Robot: A Gentle Introduction to the Art of Programming . Паттис использовал этот язык на своих курсах в Стэнфордском университете , Калифорния . Язык назван в честь Карела Чапека , чешского писателя, который представил слово « робот» в своей пьесе « RUR» [1] [2]
Принципы [ править ]
Программа в Karel используется для управления простого робота по имени Карел , который живет в среде , состоящей из сетки улиц (слева направо) и бульвары (вверх-вниз). Карел понимает пять основных инструкций: move
(Карел перемещается на одну клетку в том направлении, куда он смотрит), turnLeft
(Карел поворачивается на 90 ° влево), putBeeper
(Карел ставит звуковой сигнал на квадрат, на котором он стоит), pickBeeper
(Карел снимает звуковой сигнал с квадрата. он стоит у), и turnoff
(Карел выключается, программа заканчивается). Карел также может выполнять логические запросы о своем ближайшем окружении, спрашивая, есть ли звуковой сигнал, где он стоит, есть ли рядом с ним препятствия и о том, в каком направлении он смотрит. программистможет создавать дополнительные инструкции , определяя их в терминах пяти основных инструкций, используя условные операторы потока управленияif
и while
запросы среды, а также используя iterate
конструкцию. [ необходима цитата ]
Пример [ править ]
Ниже приводится простой пример синтаксиса Карела:
НАЧАЛО ПРОГРАММЫ ОПРЕДЕЛЕНИЕ TurnRight AS НАЧИНАТЬ Поверните налево; Поверните налево; Поверните налево; КОНЕЦ НАЧАЛО ИСПОЛНЕНИЯ ИТЕРАЦИЯ В 3 РАЗ НАЧИНАТЬ Поверните направо; двигаться КОНЕЦ выключать КОНЕЦ ИСПОЛНЕНИЯ КОНЕЦ ПРОГРАММЫ
Варианты и потомки [ править ]
Этот язык вдохновил на разработку различных клонов и подобных образовательных языков. Поскольку язык предназначен для начинающих, существуют локализованные варианты для некоторых языков, в частности для чешского (язык программирования был довольно популярен в Чехословакии ).
Принципы Karel были обновлены до парадигмы объектно-ориентированного программирования в новом языке программирования под названием Karel ++ . Karel ++ концептуально основан на Karel, но использует совершенно новый синтаксис, аналогичный Java .
Реализация REALbasic, rbKarel, [3] предоставляет основные команды Karel в среде RBScript с синтаксисом BASIC, используемым для циклов и условных выражений. Этот учебный проект предоставляет кроссплатформенный графический интерфейс для экспериментов Карела, включая одноступенчатый и речевой вывод.
Язык и среда, вдохновленные карелами, под названием « Робот Эмиль» [4] используют трехмерное изображение мира роботов. Робот Эмиль предлагает большую палитру объектов, которые можно размещать для изображения стен, окон (прозрачность), воды и травы. Камеру можно свободно перемещать в трехмерном пространстве. Роботом можно управлять в интерактивном режиме с помощью кнопок в графическом интерфейсе пользователя или с помощью программ, написанных на языке программирования Эмиля Карела. Автор заявляет, что программа бесплатна для использования школами, студентами и детьми. Доступны версии на английском , чешском и словацком языках .
Проприетарный язык, который также называется Karel, используется для программирования роботов FANUC Robotics . Однако FANUC Karel происходит от языка Pascal .
Этот язык также был реализован как Karel the Dog в JavaScript от CodeHS . Подобно оригинальному языку, эта реализация показывает Карела в сеточном мире. Программисты используют и развивают простой словарь команд Карела для выполнения задач программирования. Вместо того, чтобы ставить и подбирать пищалки, Собака Карел кладет и берет теннисные мячи.
Немецкая версия Карела называется «Робот Кароль». [5]
См. Также [ править ]
- Образовательный язык программирования
- RoboMind - привлекательная образовательная среда альтернативного программирования
- RUR-PLE - еще один инструмент для изучения Python, основанный на идеях Карела.
- CodeHS - вводное обучение информатике с использованием Karel в JavaScript
Дальнейшее чтение [ править ]
- Ричард Э. Паттис. Робот Карел: Нежное введение в искусство программирования . John Wiley & Sons, 1981. ISBN 0-471-59725-2 .
- Джозеф Бергин, Марк Стехлик, Джим Робертс, Ричард Э. Паттис. Karel ++: Мягкое введение в искусство объектно-ориентированного программирования . John Wiley & Sons, 1996. ISBN 0-471-13809-6 .
Ссылки [ править ]
- ^ "Кто на самом деле изобрел слово" робот "и что оно означает?" . Архивировано из оригинального 27 июля 2013 года . Проверено 25 июля 2013 года .
- ^ Margolius, Иван (осень 2017) "Робот Прага" архивного 11 сентября 2017 года в Wayback Machine The Friends чешского наследие новости нет. 17, стр. 3-6
- ^ https://code.google.com/p/rbstuff/wiki/rbKarelOverview
- ^ http://www.emil.input.sk/info_en.htm
- ^ «Робот Кароль - Побег из лабиринта | Schülerlabor Informatik - InfoSphere, Informatik entdecken в Modulen für all Schulformen & Klassenstufen» . schuelerlabor.informatik.rwth-aachen.de . Проверено 29 декабря 2020 года .
Внешние ссылки [ править ]
- Синтаксис карела
- xKarel Р. Досталя и П. Абрахамчика (создан в 1997 г.)
- Карел Т. Митчелл (создан в 2000 г.)
- Карел в tiny-c Ли Брэдли (создан в 2013 году)
- Karel для iPad от CloudMakers (создан в 2014 г.)
- Карел в JavaScript от CodeHS
- Карел в Perl 5 Э. Чоробы (создан в 2016 г.)
- Карел-3D в JavaScript и C ++ (sk) (en) (de) (es) (создано в 2017, 2018)
- Гвидо ван Робот (GvR) - Карел на Python (создан в 2006, 2010)