본문 바로가기
Programming/LOGO

LOGO 중급 연습 : repCount - 003 - if 조건문과 AND

by The Programmer 2025. 1. 27.

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

 

[ if 조건문과 AND 사용법 ]

 

 

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

 

Logo_Pro_008_if_and_AND_000_.lgo
0.00MB
Logo_Pro_008_if_and_AND_001_.lgo
0.00MB

 

 

6. Ref.

 

1) FMSLogo 공식 도움말.

2) 

 

Happy Programming!

^.^;