주의사항
해당 문서는 중요 변경 작업 중에 있습니다. 일부 문서에 텍스트가 빠져있거나, 불어로 플레이스홀더(placeholder) 자리차지만 되어 있을 수 있습니다.
여러 부분으로 나뉜 수업에서, 점증하는 복잡성을 가진 문제를 해결하는 온전한 프로그램을 작성할 것이다.
각 수업에서, 저자가 한가지 실수가 포함된 점정 해법을 제시한다. 다음 수업으로 나아가기 전에 찾아보기 바란다.
간단한 프로그램엣 출발한다: 리보그가 세상을 주위를 한번 돌아, 출발 지점으로 되돌아 와서 멈춘다. Around 1 세상을 선택한다. front_is_clear() 테스트를 소개했을 때, 전에 동일한 프로그램을 작성했다. 여기 출발점에서 리보그가 적어도 비퍼 하나를 지니고 다닌다고 가정하는 해법의 개요가 나와 있다:
상기 알고리즘에 관해서 생각할 시간을 천천히 갖는다. 그리고 나서 코드에 나온 다음 해법을 고려한다:
put()
while not object_here():
if front_is_clear():
move()
else:
turn_left()
여러분 차례!
시간을 갖고, 프로그램을 실행해보기 전에, 상기 프로그램이 리보그에게 무엇을 지시하는지에 관해서 생각해 본다. 제안된 해법에 문제를 발견할 수 있는가?
힌트
put()
move()
while not object_here():
if front_is_clear():
move()
else:
turn_left()