if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Harvest_01.gif")
knitr }
9 추수 (Harvest)
9.1 추수 1
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,turn_left()
,take()
- 테스트 함수 :
object_here()
- 반복:
while
혹은if
과 결함
- 기본 함수 :
- 힌트:
harvest_one_row()
함수를 작성하고 6번 반복 - 난이도: 3
- 참고: 리보그 세상 - 추가된 추수 도전과제
9.1.1 실행결과
9.1.2 코드
# 추수 위치로 이동 ----
turn_right():
def turn_left()
turn_left()
turn_left()
ready_harvest():
def move()
turn_left()
move()
move()
turn_right()
ready_harvest()
# 한줄 추수 ----
harvest_one_row():
def if not object_here():
move()
while object_here():
if object_here():
take()
move()
# harvest_one_row()
# 다음 추수 위치로 이동
turn_around():
def turn_left()
turn_left()
move_to_next_row():
def turn_around()
repeat 7:
move()
turn_right()
move()
turn_right()
# move_to_next_row()
# 전체 6줄 추수
repeat 6:
harvest_one_row()
move_to_next_row()
9.2 추수 2
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,turn_left()
,take()
- 테스트 함수 :
object_here()
- 반복:
while
혹은if
과 결함
- 기본 함수 :
- 힌트:
harvest_one_row()
함수를 작성하고 6번 반복 - 난이도: 4
- 참고: 리보그 세상 - 추가된 추수 도전과제
9.2.1 실행결과
if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Harvest_02.gif")
knitr }
9.2.2 코드
# 추수 위치로 이동 ----
turn_right():
def turn_left()
turn_left()
turn_left()
ready_harvest():
def move()
turn_left()
move()
move()
turn_right()
ready_harvest()
# 한줄 추수 ----
harvest_one_row():
def repeat 6:
if not object_here():
move()
while object_here():
take()
# 다음 추수 위치로 이동
turn_around():
def turn_left()
turn_left()
move_to_next_row():
def turn_around()
repeat 6:
move()
turn_right()
move()
turn_right()
# 전체 6줄 추수
repeat 6:
harvest_one_row()
move_to_next_row()
9.3 추수 3
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,turn_left()
,take()
- 테스트 함수 :
object_here()
- 반복:
while
혹은if
과 결함
- 기본 함수 :
- 힌트:
harvest_one_row()
함수를 작성하고 6번 반복 - 난이도: 4
- 참고: 리보그 세상 - 추가된 추수 도전과제
9.3.1 실행결과
if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Harvest_03.gif")
knitr }
9.3.2 코드
# 추수 위치로 이동 ----
turn_right():
def turn_left()
turn_left()
turn_left()
ready_harvest():
def move()
move()
turn_left()
move()
move()
turn_right()
ready_harvest()
# 당근 심기 ----
fix_one_row():
def repeat 6:
while not object_here():
put()
# 당근 1개 이상인 경우 다 뽑아내고 1개 심는다.
if object_here():
while object_here():
take()
put()
move()
# 다음 추수 위치로 이동
turn_around():
def turn_left()
turn_left()
move_to_next_row():
def turn_around()
repeat 6:
move()
turn_right()
move()
turn_right()
# 전체 6줄 추수
repeat 6:
fix_one_row()
move_to_next_row()