
Karel是一门面向初来自学者的教学编程语言,由Richard E. Pat360百科tis在他的书《Karel The Robot: A Gentle Introduction to the Art of Programming》中提出。Pattis在他斯坦福大学的课堂上使用这门语言。这门语言根据Ka为rel Čapeka-唱-一位最早提出Robot一词的捷克作家来命名。
- 软件名称 Karel the Robot
- 开发商 Richard E. Pattis
- 软件平台 Windows,Mac
- 软件语言 英语
原则
一个Karel程序用于控制一个名为Karel的简单机器人,它生活在一个由街道(左右方向)和渠道(上下方向)所组成的网格环境中。Karel能理解5种基本的指令:move(Karel向它面对的方向移动一格),位得击慢史turnleft(Karel向左转90°),putbeeper(Karel在它所处的格子中放置一个报警器),pickbeeper(来自Karel将它所处格子中概省加本第须决给华的报警器捡走),以及360百科turnoff(Karel将自己关机,程序结束)。
下面是一个Karel语法的简单例子(;代表代表指令的结束,当指令为END时可以忽略)
BEGINNING-OF-PROGRAM
DEFINE turnright AS
BEGIN
turnleft;
turnleft;
turnleft;
验陆均模院 END
BEGINNING-OF-EXECUTION
ITERATE 3 TIMES
turnright;
move;
turnoff;
END-OF-EXECUTION
END-OF-PROGRAM
变形和后裔
这门语言促进了各种克隆和类似的教学语言的发展。由于这门语言是面向初学者的,在西露旧块某些语言中存在本地化的变种弱斯例响批曲种连价,值得注意的是捷克语的版本(这门编程语务需包旧言在捷克斯洛伐克非常流行)。斯生编洛伐克版本,被称为Robot Karol++游线轴站械致错获令,包含了进一步的改进,并且它本身被翻译成了英语、德语和捷克语。
Karel的原理已经在一门称为Karel++的新编程语言中被更新为面向对象的编程范式。Karel++在概念上基于Kar游础el,但使用了一种新的语法,类席简接垂溶左西层说绿列似于Java。
FANUC Karel是一种用于FANUC机器人学编程的专用语言。不过, FANUC Karel是来源于Pascal编程语校缩年小著须怕言。
一个REALbasic的实现,rbKarel,提供了一个RBScript环境下的基本Karel命令,并使用BASIC语法用于循环和条件。这个教学项目为Karel实验,包括单步和口语输出,提供了一个跨平台的GUI。
Stanford大学的网上公开课程《编程方法学》中的前3够体鲁讲,就引用了Karel编程语言,作为理解编程思想的入门语言。