Karel бағдарламалау тілі – жаңадан бастаушыларға арналған, роботты бағдарламалауды үйретуге көмектесетін тіл. Негізгі командалар: қозғалу, бұрылу, маркер қою/алу.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Бағдарламалау тілі
Programming language
Karel – бастаушыларға арналған оқу бағдарламалау тілі, оны Ричард Э. Паттис "Karel The Robot: A Gentle Introduction to the Art of Programming" кітабында жасаған. Паттис бұл тілді Калифорния штатындағы Стэнфорд университетіндегі курстарында қолданды. Бұл тіл чех жазушысы Карел Чапектің құрметіне аталған, ол "R.U.R." пьесасында "робот" сөзін енгізген.
Karel is an educational programming language for beginners, created by Richard E. Pattis in his book Karel The Robot: A Gentle Introduction to the Art of Programming. Pattis used the language in his courses at Stanford University, California. The language is named after Karel Čapek, a Czech writer who introduced the word robot in his play R. U. R.
Негізгі қағидалар
Карел бағдарламасы қарапайым Карел атты роботты басқару үшін қолданылады. Ол көшелер желісінен (солдан оңға) және даңғылдардан (жоғарыдан төменге) тұратын ортада өмір сүреді. Карел бес негізгі команданы түсінеді: қозғалу (Карел бетіне қарап бір қадамға жылжиды), солға бұрылу (Карел 90 градусқа солға бұрылады), бипер қою (Карел тұрған жерге биперді қояды), бипер алу (Карел тұрған жерден биперді көтереді) және тоқтату (Карел өзін өшіреді, бағдарлама аяқталады). Карел сондай-ақ өзінің жақын айналасы туралы сұрақтарды қоя алады, мысалы, тұрған жерінде бипер бар ма, жанында кедергілер бар ма және ол қай бағытқа қарап тұр. Бағдарламашы бес негізгі команданы пайдаланып, қосымша командаларды анықтай алады, сондай-ақ орта туралы сұрақтармен және қайталау конструкциясын қолданып, егер және кезде шартты басқару операторларын пайдалана алады.
A program in Karel is used to control a simple robot named Karel that lives in an environment consisting of a grid of streets (left right) and avenues (up down). Karel understands five basic instructions: move (Karel moves by one square in the direction he is facing), turnLeft (Karel turns 90 ° left), putBeeper (Karel puts a beeper on the square he is standing at), pickBeeper (Karel lifts a beeper off the square he is standing at), and turnoff (Karel switches himself off, the program ends). Karel can also perform boolean queries about his immediate environment, asking whether there is a beeper where he is standing, whether there are barriers next to him, and about the direction he is facing. A programmer can create additional instructions by defining them in terms of the five basic instructions, and by using conditional control flow statements if and while with environment queries, and by using the iterate construct.
Ерекшеліктер
Келесі іске асыру Python бағдарламалау тіліндегі Karel болып табылады. Басқа да іске асырулар қол жетімді.
The following implementation is Karel in the Python programming language. Other implementations are available.
Бастапқы функциялар
Төменде қарапайым функциялар келтірілген. move: Карел бетіне қарап тұрған бағытта бір шаршыға жылжиды. turn left: Карел солға 90 градусқа бұрылады. put beeper: Карел ағымдағы шаршысына белгіні қояды. pick beeper: Карел ағымдағы шаршысынан белгіні алып жасайды. paint corner (ТҮС АТЫ): Карел ағымдағы бұрышын түспен бояйды. Қол жетімді түстердің саны шектеулі.
The following are the primitive functions. move : Karel moves one square in the direction it is facing. turn left : Karel turns left by 90 degrees. put beeper : Karel puts a beeper on its current square. pick beeper : Karel picks up a beeper from its current square. paint corner(COLOR NAME): Karel paints its current corner with a color. There is a finite list of available colors.
Түрлері мен ұрпақтары
Бұл тіл әртүрлі клондар мен ұқсас білім беру тілдерін дамытуға түрткі болды. Тіл жаңадан бастаушыларға арналғандықтан, кейбір тілдерде, әсіресе чех тілінде жергілікті нұсқалары бар (бұл бағдарламалау тілі Чехословакияда кең таралған). Карелдің принциптері жаңа бағдарламалау тілінде, яғни Karel++ тілінде объектіге бағытталған бағдарламалау парадигмасына жаңартылды. Karel++ түсінік бойынша Карелге негізделген, бірақ Java-ға ұқсас толығымен жаңа синтаксис қолданады. REALbasic ортасындағы rbKarel іске асырылуы RBScript ортасында негізгі Карел командаларын ұсынады, ал BASIC синтаксисі циклдар мен шарттар үшін қолданылады. Бұл оқу жобасы Карел эксперименттері үшін бір қадамдық орындау және дыбыстық шығыс мүмкіндіктерін қамтитын платформааралық GUI ұсынады. Карелден шабыттанған "Эмиль роботы" тілі мен ортасы робот әлемінің 3D көрінісін пайдаланады. Эмиль роботы қабырғаларды, терезелерді (мөлдірлігімен), су мен шөпті бейнелеуге арналған көптеген нысандарды ұсынады. Камераны 3D ортада еркін жылжытуға болады. Роботты GUI-дағы батырмалармен немесе Эмильдің Карел сияқты бағдарламалау тілінде жазылған бағдарламалар арқылы интерактивті түрде басқаруға болады. Автор бағдарламаны мектептер, студенттер және балалар тегін пайдалана алатынын мәлімдейді. Нұсқалар ағылшын, чех және словак тілдерінде қолжетімді. FANUC Robotics роботтарын бағдарламалау үшін де Karel деп аталатын меншік тіл қолданылады. Алайда, FANUC Karel тілі Pascal-дан туындаған. Сондай-ақ, тіл CodeHS-тің JavaScript-тегі "Карел – Ит" (Karel the Dog) ретінде де іске асырылған. Түпнұсқа тілдегідей, бұл нұсқада да Карел желілік әлемде орналасқан. Бағдарламашылар бағдарламалау міндеттерін орындау үшін Карелдің қарапайым командалар жиынтығын пайдаланады және оған сүйенеді. Биперлерді қою мен алудың орнына, Карел – Ит теннис доптарын қояды және алады. Карелдің неміс тіліндегі нұсқасы "Робот Карол" деп аталады.
The language has inspired the development of various clones and similar educational languages. As the language is intended for beginners, localized variants exist in some languages, notably Czech (the programming language was quite popular in Czechoslovakia). The principles of Karel were updated to the object oriented programming paradigm in a new programming language called Karel++. Karel++ is conceptually based on Karel, but uses a completely new syntax, similar to Java. A REALbasic implementation, rbKarel, provides the basic Karel commands within an RBScript environment with BASIC syntax being used for loops and conditionals. This teaching project provides a cross platform GUI for Karel experiments including single stepping and spoken output. A Karel inspired language and environment called Robot Emil uses a 3D view of the robot's world. Robot Emil offers a large palette of objects that can be placed to depict walls, windows (transparency), water and grass. The camera may be moved freely throughout the 3D environment. The robot may be controlled interactively with buttons in the GUI, or by programs written in Emil's Karel like programming language. The author states that the program is free for use by schools, students and children. Versions are available in English, Czech and Slovak. A proprietary language which is also called Karel is used to program the robots of FANUC Robotics. However, FANUC Karel is derived from Pascal. The language has also been implemented as Karel the Dog in JavaScript by CodeHS. Similar to the original language, this implementation features Karel in a grid world. Programmers use and build upon Karel's simple vocabulary of commands to accomplish programming tasks. Instead of putting and picking beepers, Karel the Dog puts and takes tennis balls. A German version of Karel is named "Robot Karol".