프로그래밍과 문제해결

프로그래밍 소개

카렐(Karel)은 무엇인가?

카렐(Karel)은 격자세상에 살고 있는 작은 로봇이다; 이 격자는 벽이 될 수도 있고, 카렐이 수집할 수 있는 토큰 한개 혹은 수많은 더미로 격자가 채워질 수도 있다.

카렐은 길을 잃어버려 집을 찾아 돌아가야 한다. 정원에서 딸기를 수확해야 하기도 한다. 미로에서 탈출도 해야 한다. 겨울 동계 올림픽에서 우승도 해야 된다. 작은 로봇 카렐이 알고 있는 것이 단지 지꼬리만한 모든 명령어가 네가지 밖에 되지 않을 때, 어떻게 이 모든 일을 처리할 수 있을까?

move()        # 한칸 앞으로 간다.
turn_left()   # 왼쪽으로 군인답게 90° 회전한다.
take()         # 바닥에 물체를 집는다.
put()          # 바닥에 물체를 놓는다.

하지만, 카렐은 열성을 보이고, 동기 부여가 되어 있고, 에너지가 넘치고, 매우 매우 고분고분하다. 카렐이 갖지 못한 점은 똑똑함(smart)이다. 다행스럽게도, 약간의 인내와 실습을 일부 수행한 여러분과 함께 있어 카렐의 삶을 더 쉽고 재미있게 만들 수 있다. 따라서, 카렐을 도울 수 있도록 마법 연마를 시작합시다.