You are on page 1of 7

조건문 조건문으로 참, 거짓을 판정해보자!

1. 비교연산자
• 비교연산자는 조건문에 사용되는 조건식을 만들 때 사용합니다.
• 비교연산자는 주로 변수에 들어있는 값을 숫자, 문자 등과 비교하여 그 결과가 참이면 true, 거짓이면 false를 알려줍니다.
• 비교연산자의 종류

비교연산자 의미 사용 예 설명

== 같다 a==b a와 b는 같다.

!= 같지 않다 a!=b a와 b는 같지 않다.

> 크다 a>b a는 b보다 크다.

< 작다 a<b a는 b보다 작다.

>= 크거나 같다 a>=b a는 b보다 크거나 같다.

<= 작거나 같다 a<=b a는 b보다 작거나 같다.

• 아래 프로그램 코드를 보고 비교연산자의 결과를 해당 칸에 true 또는 false로 적어 봅시다.

프로그램 코드 출력 결과
1 a = 5
2 b = 10
3
4 print(a == b)
5 print(a != b)
6 print(a > b)
7 print(a < b)
8 print(a >= 5)
9 print(a <= 5)
10 print(a+b == 15)

프로그램 코드 출력 결과

1 a = "딸기"
2 b = "토마토"
3
4 print(a == b)
5 print(b != a)
6 print(a == "딸기")
7 print(b != "토마토")

- 32 -
2. 논리연산자
• 논리연산자는 비교연산자를 여러 개 사용하는 복잡한 조건식을 만들 때 자주 사용하는 연산자
• 논리연산자의 종류

연산자 && ||

의미 그리고, AND 또는, OR

조건1과 조건2의 결과가 모두 true일 때 조건1과 조건2의 결과 중 어느 하나만


설명
결과가 true이다. true여도 결과가 true이다.

조건식 조건식
결과 결과
조건1 && 조건2 조건1 || 조건2
false && false false false || false false
사용 예
false && true false false || true true
true && false false true || false true
true && true true true || true true

• 아래 프로그램 코드를 보고 논리연산자의 결과를 해당 칸에 true 또는 false로 적어 봅시다. 그리고 플레이봇으로 실


행해서 결과를 확인해 봅시다.

프로그램 코드 출력 결과

1 a = "토마토"
2 b = "딸기"
3
4 print(a=="토마토" && b=="포도")
5 print(a=="토마토" || b=="포도")

프로그램 코드 출력 결과

1 a = 90
2 b = 80
3
4 print(a>=90 && a<=100)
5 print(b<=80 || b>=90)

? 여기서 잠깐

∙ || 기호 이렇게 입력합니다.

∙ 논리연산자에는 반대를 의미하는 부정(Not)연산자도 있어요. 부정 연산자는 어떻게 사용하는지 스스로


찾아서 공부해 봅시다.

- 33 -
3. 조건문이란?

if문은 영어에서 "만약~라면"이라는 말이다. if 문은 조건에 따라 처리를 다르게 할 때 사용한다.


조건에는 주로 비교연산자와 논리연산자를 사용한 조건식을 지정한다.
(조건문에 들어있는 조건식의 결과는 true , false 이다.)
조건이 참(true)인지 거짓(false)인지를 판정하고, 그것에 따라서 다음 처리를 결정한다.
다음은 조건식의 결과에 따른 의미를 표현한 예이다.

(가) 숫자 표현 (나) 논리 표현 (다) 의미


1 true 참, 맞음
0 false 거짓, 틀림

4. 조건문 사용하기 (조건식)의 참과 거짓에 따라서 { } 안의 실행이 정해짐.

if 문 if ... else ... 문

false false
if (조건식) if (조건식)
else
true true

처리1 처리1 처리2

if ( 조건식 ) { if ( 조건식) {
처리1 처리1
문법 } } else {
처리2
<설명> }
조건식이 true 이면 처리1을 수행하고 <설명>
flase 이면 다음 문장을 수행 조건식이 true이면 처리1을 수행하고,
flase 이면 처리2를 수행

예시 if(a >= 20) { if(a >= 20) {


print(" Best ") print(" Best ")
} } else {
print(" Good ") print(" Good ")
}

만일 a 값이 20 이상이면
설명 만일 a 값이 20 이상이면
" Best "을 출력하고 “Good”출력
" Best "을 출력하고
그렇지 않다면( 20 미만이면 )
그렇지 않다면( 20 미만이면 )
" Good "을 출력
if문 다음 문장인 “Good”출력

- 34 -
if ... else if ...문 if ( 조건식1 ) {
처리1
false
} else if (조건식2) {
if (조건식1)
else 처리2
true } else {
처리3
false
처리1
if (조건식2) }
else
true
조건식1이 true 면 처리1 을 수행
조건식1이 flase이고 조건식2가 true면
처리2 처리3
처리2 를 수행
조건식1이 false 이고
조건식2가 flase 이면
처리3 을 수행

예시 코드 설명

if(a >= 80) { 만일 a≥80 이면


print(" Perfect ") Perfect 출력
} else if(a >= 60 ) { 그렇지 않고 a≥60 면
print(" Best ") (즉, 60 ≤ a 〈80 )
} else { Best 출력
print(" Good ") 그렇지 않으면 (즉, a 〈 60 )
} Good 출력

5. get_random( ) 함수란?
- get_random(수1, 수2) : 수1~수2사이의 랜덤 값 지정함수이며 실행 시마다 값이 다르다.
- get_random( 1 , 4 ) : 1 ~ 4 까지의 랜덤 수 지정

문제 1] 랜덤한 수를 출력하고 그 수만큼 이동하자.[ 선생님월드 : get_random( ) ] <주의> 월드 크기고려하여 랜덤 수 지정


[실행 전] [실행 후] [프로그램 코드]
[선생님월드]⇒ get_random( ) 함수
a=get_random(1,7)
print(a)
repeat("move()", a)

- 35 -
문제 2] 플레이봇이 1~3까지의 숫자중 하나를 뽑고 그결과에 따라 1이면 “가위”, 2이면 “바위”, 3이면 “보”라고 출력해보자.
[ 선생님월드 : get_random( )과 if() 함수]

[실행 결과] [프로그램 코드 1] [프로그램 코드 2]

[선생님월드]⇒ get_random( )과 if()함수


a=get_random(1,3) a=get_random(1,3)
print(a) print(a)
if (a==1) { if (a==1) {
b="가위" print("가위“)
} else if (a==2) { } else if (a==2) {
b="바위" print("바위“)
} else{ } else{
b="보" print("보“)
} }

print(“결과는” + b)

문제 3] 꽃 진열하기[플레이봇놀자놀자월드-교재실전05-1꽃진열하기]
-플레이봇 앞에 놓여진 꽃의 개수를 세고,
-꽃을 모두 줍고,
-각각의 노란색 셀에는 꽃을 하나씩 놓고,
-꽃을 놓을 때 오렌지(orange)색으로 변경해주세요
<tip> 사용자 정의함수 사용(규칙성찾기)

function display() {
move() (
put_object(a)
set_color("orange")
}
move()
a=what_object()
b=count_object()
repeat(“ ” ,)",b)
turn_left()
repeat(“ ”, )
move()

- 36 -
문제4] 플레이봇 앞쪽에 놓여있는 3개의 숫자가 얼마인지 알아내서 5보다 작은 숫자를 모두 줍는 프로그램을 만들어
주세요.(선생님월드: if와 비퍼함수1)
[실행 전] [실행 후] [프로그램 코드]
플레이봇! 플레이봇! function 체크( ) {
현재 너의 앞쪽에 3개의 숫자가 놓여 현재 너의 앞쪽에 3개의 숫자가 놓여
move( )
있다. 있다.
① a = count_beeper()
그 중 5보다 작은 숫의 비퍼를 모두 그 중 5보다 작은 숫자의 비퍼를 모두
② if (a < 5) {
주워와라 주워와라
③ repeat("pick_beeper()", a)
}
}

repeat("get_number()", 3)

[문제 해결 전략]
① 앞으로 한 칸 이동해서 비퍼의 개수를 알아낸다.

② 비퍼의 개수가 5보다 작은지 판단한다.

③ 5보다 작으면 비퍼를 모두 줍고, 5이상이면 아무 것도 하지 않는다.

문제5] 플레이봇 앞쪽에 놓여있는 3개의 숫자가 얼마인지 알아내서 5보다 작은 숫자를 모두 주워서 (5,1)에
내려놓으세요.(선생님월드: if와 비퍼함수2)
[실행 전] [실행 후] [프로그램 코드]
플레이봇! 플레이봇! function 체크( ) {
현재 너의 앞쪽에 3개의 숫자가 놓여 현재 너의 앞쪽에 3개의 숫자가 놓여
move( )
있다. 있다.
② a = count_beeper()
그 중 5보다 작은 숫의 비퍼를 모두 그 중 5보다 작은 숫자의 비퍼를 모두
③ if (a < 5) {
줍고 저장해라 주워서 (5,1)에 내려놓고 한칸 전진
④ repeat("pick_beeper()", a)

}
}
① s=0
repeat("get_number()", 3)
move( )
[문제 해결 전략]
① 5보다 작은 비퍼를 넣을 기억장소(변수)를 만든다.(s)

② 앞으로 한 칸 이동해서 비퍼의 개수를 알아낸다.

③ 비퍼의 개수가 5보다 작은지 판단한다.

④ 5보다 작으면 비퍼를 모두 줍고 변수(s)에 저장한다, 5이상이면 아무 것도 하지 않는다.

⑤ 주운 것을 모두 (5,1)에 내려놓는다.
문제6] 플레이봇 앞쪽에 놓여있는 5이하인 비퍼 모두 주워서 분홍셀에 내려놓으세요(선생님월드: if와 비퍼함수3)

1. 사용자 정의함수
2. 반복
3. if문 사용(5이하 표현)
4. 누적 합 계산

- 37 -
문제7] 플레이봇 앞쪽에 놓여있는 숫자를 알아내고 짝수 또는 홀수를 출력하시오.(선생님월드 : 비퍼짝수홀수표현 )

[실행 전] [실행 후] [프로그램 코드]


플레이봇!
현재 너의 앞에 있는 비퍼가 짝수 홀
수인지 확인하여 출력하시오.

[문제 해결 전략]

① 앞으로 한 칸 이동해서 비퍼의 개수를 알아낸다.

② 비퍼의 개수가 짝수인지 홀수인지 판단한다. ( if( ) else 문 이용 )

③ 짝수 홀수를 출력한다.(산술연산자 % 이용)

문제8] 각 방에 있는 비퍼 수를 확인하여 총 비퍼수를 출력하시오. [ 선생님월드 :각방비퍼수구하기]


[실행 전] [실행 후] [프로그램 코드]
플레이봇! function 체크() {
각 방에 들어있는 비퍼수를 확인한 후
총 합계를 출력하시오.

}
s=0
repeat( )
print(“각방비퍼수의 합:”, s)

[플레이봇과놀자월드 27, 28번 풀기, 37~39번 풀기]

- 38 -

You might also like