2022년 7월 13일 수요일

정원사 로봇 리보그(초급) - 7. 생일 메시지

생일 메시지

코드의 실행 속도를 조절하는 명령어를 알아보고, 리보그가 꽃을 심어 메시지를 표현하게 해 봅시다.

코드 입력: http://reeborg.ca/reeborg.html?lang=ko-en&mode=python&menu=worlds%2Fmenus%2Fsk_menu_ko.json&name=7%20%EB%8B%A8%EA%B3%84&url=worlds%2Fsk_ko%2Fstep7.json


여러분의 임무

  리보그 판매 회사에서 새로운 기능이 업데이트 되었다는 연락이 왔습니다. 생일을 축하해 주는 기능이 추가되었다고 합니다. 그 기능은 축하해 줄 사람의 나이만큼 정원에 꽃을 심어 이진수로 표현하는 기능입니다. 업데이트 기념으로 이제 막 18 살이 된 리보그를 축하하는 이벤트가 시작되었습니다. 리보그를 축하하기 위해 앞뜰에 데이지를 심어 사진을 리보그 회사에 보내면 많은 경품을 보내준다고 합니다.

  리보그는 로봇이고 바이너리만 알고 있으며 십진수로 18은 바이너리로 10010으로 표시됩니다. 다음과 같은 새로운 기능을 정의하십시오.

  •     데이지에 숫자 1을 그리려면: draw_one()
  •     데이지에 숫자 0을 그리려면: draw_zero()

  생일 메시지를 심어 표현하기 위해 만든 사용자 함수를 사용하십시오. 각 명령어 함수는 리보그를 다음 자리에 올바르게 배치하고 알맞은 방향도 지정해야 합니다. 코드에서 반복을 피하기 위해 다른 함수를 정의해야 합니다. 프로그램의 가독성을 높이려면 주석과 공백을 사용해야 합니다.

여러분이 알아야 할 것은

  • move(), turn_left(), put()
  • 함수를 정의하는 방법
  • 라이브러리에서 import 사용하는 방법

난이도

  • ⭐ ⭐

시작 시 조건

        로봇은 (x, y) = (1, 1)에 위치해 있고, 싣고 있는 객체는 데이지꽃 500송이 입니다.

목표 달성 시 조건

        로봇의 최종위치는 반드시 (x, y) = (18, 1)에 있어야 합니다.

 

리보그의 실행 속도 조절

리보그가 코드를 실행할 때 약간의 시간이 걸린다는 것을 눈치 챘을 것입니다. 각 명령줄 사이에서 잠깐 "생각"해야하기 때문입니다. 여러분이 요청에 따라 리보그가 생각하는 데 걸리는 시간을 think() 함수로 조절할 수 있습니다.

think(500)

괄호 사이에 표시된 수 500 인수 가 포함된 think()함수입니다. 이 값이 작을수록 리보그가 한 줄 당 실행하는데 걸리는 시간이 짧아집니다. 값 1000은 생각하는 데(한줄이 실행되는데) 약 1초가 걸리게 됩니다. think(0)를 입력하게 되면 리보그가 최대한 빨리 움직이게 됩니다.

 

여러분의 차례

다음 링크를 클릭하여 10010을 데이지 꽃으로 심어 표현하세요.

코드 입력: http://reeborg.ca/reeborg.html?lang=ko-en&mode=python&menu=worlds%2Fmenus%2Fsk_menu_ko.json&name=7%20%EB%8B%A8%EA%B3%84&url=worlds%2Fsk_ko%2Fstep7.json

 

원문 출처: https://cs20.ca/ConstrainedLanguage/Step7.html 

댓글 없음:

댓글 쓰기