1. Introduction
이번 예제에서는 모든 면에서 한 면당 12개의 삼각형을 그립니다. 이 예제는 if 조건문과 AND 사용법을 소개합니다. 이 예제는 if 조건문, AND 연산자, repCount 특별 내장 변수를 활용합니다. 이 예제는 중급 예제입니다(응용 연습 - 1).
하지만 그 전에 그 기초가 되는 관련 초급 예제부터 먼저 살펴보겠습니다.
2. Code
2 - 1 . 기본 예제 코드
;; 기본 예제 코드
to draw
repeat 4 [ rt 90 tri11 ]
HT
end
to main
setup
draw
end
to move1
pu fd :space pd
end
to ready1
pu lt 90 fd 300 rt 90 fd 200 pd
end
to setup
Window Home CS PPT PD ST
ready1
make "side 20
make "space 25
end
to tri
repeat 3 [ fd :side lt 120 ]
end
to tri11
repeat 11 [ tri move1 ]
end
2 - 2. 기본 예제 실행 결과
삼각형의 방향에 주목하세요. 각 면마다 11개씩 배치되었습니다.
3. 코드 해설
변수를 만든 후에 그 변수를 사용할 때에는 어떤 변수든지 그 변수 앞에 콜론(:) 기호를 붙여야 합니다.
1) 변수를 만들 때
make "pine 10
make "apple 20
......
2) 변수를 사용할 때
fd :pine
rt :apple
4. 응용 연습
4 - 1. 응용 연습 - 1
기본 예제에서 삼각형의 배치 모양을 다르게 했습니다. 삼각형들의 전개 방향이 다르기 때문에 이 부분이 좀 더 복잡하다고 생각합니다. 위 기본 코드와 비슷하지만 Move 함수만 수정해서 조건에 맞추어 Move 방향을 변경하고 그 방향이 적절하도록 수정했습니다.
if 조건문, 2 개의 조건을 동시에 적용하기 위한 AND 연산, 특별한 내장 변수인 repCount 변수의 사용 방법에 주목할 필요가 있습니다.
;; 응용 연습 - 1 코드
to draw
rt 90
tri44
HT
end
to gotoLeftTop
pu lt 90 fd 300 rt 90 fd 380 pd
end
to main
setup
draw
end
to move1
if AND (repCount > 00) (repCount < 12) [ pu fd :space pd show repCount ]
; 1 ~ 11
;
if AND (repCount > 11) (repCount < 23) [ pu lt 90 bk :space rt 90 pd show repCount ]
; 12 ~ 22
;
if AND (repCount > 22) (repCount < 34) [ pu bk :space pd show repCount ]
; 23 ~ 33
;
if AND (repCount > 33) (repCount < 45) [ pu lt 90 fd :space rt 90 pd show repCount ]
; 34 ~ 44
;
end
to ready
Window Home CS PPT PD ST
end
to setup
ready
gotoLeftTop
make "side 30
make "space 35
end
to tri
repeat 3 [ fd :side lt 120 ]
end
to tri44
repeat 44 [ tri move1 ]
end
4 - 2. Result
5. 응용 연습 Notes
위 [응용 연습 - 1] 예제는 if 조건문, AND 연산자, repCount 특별 내장 변수를 활용합니다.
변수를 만든 후에 그 변수를 사용할 때에는 어떤 변수든지 모든 변수 앞에 콜론(:) 기호를 붙여야 합니다. 하지만 repCount라는 특별한 LOGO 내장 변수는 예외적으로 콜론 없이 사용됩니다. repCount 변수는 repeat 반복문에서 현재의 반복 횟수를 기억하는 역할을 합니다.
repCount의 경우 :
□ 만들 때 : repeat 문 내부에서 자동으로 만들어짐. 사용자가 할 일이 없음.
repeat 100 [ fd 20 rt 90 ] ;; 이때 repeat문 내부에서 repCount 변수가 자동으로 만들어짐.
표면적으로 드러나지는 않지만, repeat문을 사용하기만 하면 그때마다 repCount 변수가 만들어집니다.
□ 사용할 때 : repCount 변수는 repeat문 내부에서 자동으로 만들어지며, 특별한 LOGO 내장 변수이기 때문에 다음처럼 콜론 기호 없이 사용합니다. 다음 처럼 사용하면 됨 :
fd repCount
rt repCount
repeat 24 [ show repCount fd 100 rt 90 ]
□ if 조건문
...
□ AND 연산자
...
□ Show 명령
...
■ 응용 연습 과제
1) if 조건문과 ifelse 조건문의 차이점은?
2) AND 불린 연산은 몇 개 항까지 가능?
3) 위 LOGO 코드를 Python 코드로 변환하기.
5. Files
6. Ref.
1) FMSLogo 공식 도움말.
2)
Happy Programming!
^.^;
'Programming > LOGO' 카테고리의 다른 글
LOGO 중급 연습 : repCount - 002 - 별 그리기 (0) | 2024.12.21 |
---|---|
LOGO 중급 연습 : repCount - 001 (0) | 2024.11.20 |
LOGO : 변수(Variables) - 018 - 별이 흐르는 밤과 음악 연습 - 1 (0) | 2024.09.08 |
LOGO : 변수(Variables) - 017 - 정오각형(Pentagon) 연습 - 2 (0) | 2024.08.18 |
LOGO : 변수(Variables) - 016 - 정오각형(Pentagon) 연습 - 1 (0) | 2024.07.28 |