Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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 . 

Ссылки [ править ]

  1. ^ "Кто на самом деле изобрел слово" робот "и что оно означает?" . Архивировано из оригинального 27 июля 2013 года . Проверено 25 июля 2013 года .
  2. ^ Margolius, Иван (осень 2017) "Робот Прага" архивного 11 сентября 2017 года в Wayback Machine The Friends чешского наследие новости нет. 17, стр. 3-6
  3. ^ https://code.google.com/p/rbstuff/wiki/rbKarelOverview
  4. ^ http://www.emil.input.sk/info_en.htm
  5. ^ «Робот Кароль - Побег из лабиринта | 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)