LOGO : 변수(Variables) - 3
1. Introduction
1) A special variable name, 'repCount'. 이 변수는 특별한 변수입니다. 뭐가 특별한가요? ^.^;
2) label command.
3) setHeading command.
4) Spiral shapes,
2. Code
to main
ready1
spiral5
;; ht
end
to move1
pu
home
setHeading 90
fd repCount * 170 - 400
;; fd 뒤의 표현식은 괄호로 묶어도 허용됨.
label repCount
setHeading 0
pd
end
to ready1
window home cs ppt pd st
pu
lt 90 fd 400 rt 90
pd
end
to spiral1
make "width 0
repeat 900 [
fd :width
make " width :width + 0.008
rt 5
] ;; 반복 블록을 여러 줄에 걸쳐 나누어 적음. 허용됨.
end
to spiral5
repeat 5 [ spiral1 move1 ]
;; 반복 블록을 한 줄에 이어서 적음. 허용됨. 내용이 많지 않을 때 편리함.
end
3. Notes
0) 'repCount' 변수는 반복 횟수를 세는 특별한 용도로 사용되는 변수입니다. 이 변수의 초기화는 언제 이루어지나요?
1) fd 100에서 100 숫자 부분에 음수값을 넣으면 어떻게 될까요? back 대신 사용해도 될까요?
2) label은 문자열도 출력할 수 있습니다. 문자열 출력 방향은? 폰트는 어떻게 결정될까요?
3) 덧셈과 곱셈 혼합 연산에서의 연산의 우선순위 문제는?
4) 반복문 repeat 4 [ ... ] 와 같이 뒷 부분 대괄호는 서로 같은 줄에 쓰지 않아도 됩니다. 단, 반복 블록의 시작을 의미하는 대괄호 시작('[') 기호는 repeat 4와 같은 줄에 적어야 합니다. 다음 예시를 참고해서 주의해서 사용하세요.
옳게 적은 경우 :
repeat 4 [ ... ]
repeat 4 [ ...
]
repeat 4 [
...
]
repeat 4 [
...
] ;; 반복 블록에 들여쓰기 적용.
틀리게 적은 경우 : 아래의 경우라면 FMSLogo는 repeat 반복문에서 오류를 일으킵니다.
repeat 4
[ ... ]
repeat 4
[
...
]
4. 생각해 볼 문제
1) repeat 문이 2개 이상일 경우, repCount는 어떤 repeat 문과 관계될까요?
2) 중/고급 : 보다 정밀한 해상도의 Spiral shape 구현 방법은?
5. 결과
6. 첨부
즐거운 프로그래밍!
^.^;
'Programming > LOGO' 카테고리의 다른 글
LOGO : 변수(Variables) - 5 (0) | 2024.03.17 |
---|---|
LOGO : 변수(Variables) - 4 (0) | 2024.03.14 |
LOGO : 변수(Variables) - 2 (0) | 2024.03.12 |
LOGO : 변수(Variables) - 1 (0) | 2024.01.07 |
LOGO : Animation - 001 (0) | 2023.10.15 |