로고-의사 결정
의사 결정과 변수는 함께갑니다. 프로그램은 상황에 따라 코스를 변경할 수 있어야합니다. 예를 들어, 여기에 나선형을 그리는 프레임 워크가 있습니다. 그것은 루프를 가지고 있으며, 앞에서 보여준 반복의 변형이며 루프의 본문은 우리가 채울 것입니다.
to spiral
make "n 1
while [:n < 100] [
make "n :n + 5
fd :n rt 90
]
end
위의 코드는 MSW 로고 구문의 몇 가지 새로운 기능을 보여줍니다. 'make'를 입력하여 변수를 새 값으로 설정하면 아래와 같이 변수 이름 앞에 콜론 ':'이 아닌 큰 따옴표 "가 붙습니다.
make "n 1
하지만 이름 앞에 콜론 ':'이있는 변수를 사용합니다.
while [:n < 100]
조건이 참인 동안 'while [condition]'뒤에 괄호로 묶인 코드가 실행됩니다. 더 이상 true가 아닌 경우 (이 경우) ': n'값이 100보다 커지기 때문에 대괄호 다음의 코드가 실행됩니다.
다음 스크린 샷은 위 코드의 실행 및 출력을 보여줍니다.
이제 주어진 조건이 참일 때만 실행되는 코드를 가진 'if 문'의 사용에 대해 논의 할 것입니다.
또한 난수를 생성하는 내장 로고를 보여줍니다. 진술random 3임의의 순서로 임의의 숫자 0 또는 1 또는 2를 생성합니다. 그런 다음 절차는 "무작위로"진행할 방법을 결정합니다. 생성 된 난수는 'r'에 보관되며 나중에 변수 'r'의 값에 따라 조건을 충족하는 if 문 중 하나가 실행됩니다. 따라서-
- 'r'의 값이 0이면 [fd 20] 실행됩니다.
- 'r'의 값은 1이고 [rt 90 fd 20] 실행됩니다.
- 'r'의 값은 2이고 [lt 90 fd 20] 실행됩니다.
다음 스크린 샷은 위 논의의 실행 및 출력을 보여줍니다.