이전 항목

7. 도전과제 소개

다음 항목

9. 세번째 규칙

현재 문서

주의사항

해당 문서는 중요 변경 작업 중에 있습니다. 일부 문서에 텍스트가 빠져있거나, 불어로 플레이스홀더(placeholder) 자리차지만 되어 있을 수 있습니다.

8. 신문 배달

리보그가 새 직업을 얻었다: 리보그가 북동지역 스타(Northern Star) 신문을 배달한다. 많은 리보그 고객이 빌딩 1층에 살고 있지는 않다. 이런 고객 각각을 위해서, 리보그는 다음을 수행해야 된다.

  1. 신문 한부만 집는다 (너무 무거위서 신문 전부를 갖고 모든 계단을 오를 수는 없다).
  2. 고객 문에 도달하도록 필요한 계단 수만큼 올라간다.
  3. 아래에 언급된, 고객 한명을 제외하고, 고객이 놓아둔 돈(토큰)을 받는다.
  4. 신문 한부(단순히 이라는 별명이 붙음)를 뒤에 남긴다.
  5. 다시 지상으로 걸어 내려온다.

주석

컴퓨터 프로그래밍에서, 일반적으로 1 대신에 0에서부터 세기 시작한다. 여기 나온 세상은 컴퓨터 과학에서 유명한 세명을 지칭하기 때문에, 세상을 0 으로부터 번호를 붙이는 것이 적절하다고 본다.

리보그에게는 많은 고객이 있지만, 고객 세명엥 상응하는 세계만 포함한다:

  • 리차드 패티스(Richard Pattis)은 리보그 조상으로 캐럴(Karel)의 창시자다; 리보그는 항상 패티스 집에 무료 신문 한부를 놓아둔다. 리차드 패티스는 3층 집에 살고 있다; 상응하는 세상은 Newspaper 0 .
  • 3층에 살고 있는 멋진 아다 러브레이스 (Ms. Ada Lovelace)는 리보그에게 선물로 토큰 한쌍을 놓아 둔다; Newspaper 1 이 대응되는 세상이다.
  • 괴팍한 노인 챨스 배비지(Charles Babbage)는 5층에 살고 있고, 항상 정확한 돈을 지불하고, 리보그에게 팁을 주지 않는다; Newspaper 3 이 대응되는 세상이다.

두가지 유형의 객체(별과 토큰)를 포함하는 세상에 대한 프로그램을 작성하는 것은 지금까지 살펴본 것보다 더 복잡하다; 나중에 어떻게 이것을 처리하는지 볼 것이다. 지금으로서는, 한가지 객체를 갖고 있는 Newspaper 0 세상에만 집중하자. 나중에 Newspaper 1Newspaper 2 세상에 리보그가 어떻게 신문배달을 할지 배울 것이다.

시도해 보기!

리보그로 하여금 신문을 패티스 박사에게 배달하도록 한다.

중요

프로그램을 저장하라; 다시 돌아와서 조만간 다시 사용할 것이다.