[출처] 윤ㅋ선생의 부천컴퓨터학원 (in 플래시채널)
http://blog.naver.com/mocun

16. 비교블록으로 서로 비교해보자.

헬로스크래치 | 2016-03-03 17:00:13


안녕하세요 윤ㅋ선생입니다. 지난번에는 산술연산자들을 다 배웠고요
이번에는 비교블록, 즉 비교연산자를 배워보겠습니다.


일단 비교연산자를 배우기 전에, 비교연산자들의 값은 불대수를 사용합니다.
불대수가 무엇이냐면, 값이 딱 2가지 참과 거짓만 있는 것이죠.


그게 뭔가요? 음... 잘 모르겠으면, 명제에 대해서 설명해야겠습니다.
명제는 일단 논리적으로 분명한 문장을 뜻합니다.

즉 누구라도 맞는지 아닌지 분명한 문장을 뜻합니다.

예로들자면 "이 문장은 한글로 써져있다" 라고 있으면
여러분들이 저 문장이 맞다고 생각하면 그건 참이지요.

다른 무장은 "2+2는 5다"라는 것이 있으면
여러분들이 저 문장이 아니라고 생각하면 그것 거짓이라고 생각합니다.


즉 이런식으로 우리는 논리적으로 연산할 수 있는 참과 거짓을 가지고
논리연산을 할 수 있게 되는거죠. (더욱 자세한 것은 논리연산을 다루게 될 것입니다...)

그러므로 관계 연산자의 결과값은 참과 거짓으로 딱 2가지로만 나오게 됩니다.

그러면 그 참과 거짓이라는 값은 어떻게 다뤄지나요?
일단 그 값은 <  > 이렇게 뾰족한 형태로 되어있으며, 참은 참이고 거짓은 거짓으로 쓰기로 약속했습니다.


우선 다음과 같은 그림을 봐주세요.


이해되셨나요?
뭐 항상 참과 항상 거짓은 없어서 직접 저렇게 만들어보았습니다...

일단 비교연산자는 두개의 값을 가지고 (숫자로써는 큰지 같은지 작은지를 비교하고 글자는 같음을 대조)
이렇게 생긴 것을 한번 사용할 것입니다. 이것은 부등식과 등식에 사용하는 기호들입니다.



일단 =이라는 기호는 스크래치에서, 같다라는 의미의 부호로 사용하지만
다른 프로그래밍언어는 =을 대입연산자로 사용하기 때문에, 추후에 헷갈릴 수 도 있습니다.




변수에 값을 대입을 할 것인가?
두 값이 같은지 비교를 할 것인가?

저런식으로 헷갈릴 수도 있으므로 미리 말씀을 드립니다..

프로그래밍에서의 등호는 두가지의미로 사용하기 때문에 같다로써의 의미는 엄연히
==이라는 비교연산자를 사용하기로 했습니다. (이 강좌는 그냥 =으로 씀...)


일단 우리는 비교블록은 각각 이런식으로 이해하면 되겠습니다.
값을 양쪽에 넣어서 비교를 할 수 있습니다.



그러면 비교블록을 살펴볼까요? 일단 이런 의미로 사용이 됩니다.
비교연산자는 왼쪽이 기준이 됩니다...


그러면 일단 비교연산자들을 살펴볼까요? 일단 이런 의미로 사용이 됩니다.

비교연산자는 왼쪽이 기준이 됩니다...



부등식비교블록의미설명


(왼쪽이) 크다 (오른쪽보다)
~가 ~보다 큽니까?


(왼쪽과) 같다 (오른쪽이랑)
~가 ~와 같습니까?


(왼쪽이) 작다 (오른쪽보다)
~가 ~보다 작습니까?



일단 비교연산자를 사용할 때 상수와 상수를 비교할 수 있고, 변수와 상수, 그리고 변수와 변수를 비교할 수 있습니다.








이런식으로 사용 할 수 있습니다. (부등식으로 비교할 시 숫자로 해야할 것...)


그러면 비교연산자는 어떤 상황에 따라 어떤 결과값이 나오나요? 다음 예제를 보시면 됩니다...










왼쪽 값이 클 경우의
 (오른쪽 값보다)

왼쪽 값과 같을 때
 (오른쪽 값하고)

왼쪽 값이 작을 경우의
 (오른쪽 값보다)










클때만 참(ture)를 내보낸다.
같을때만 참(ture)를 내보낸다.
작을때만 참(ture)를 내보낸다.

표로 정리하면 이렇게 됩니다.

비교연산자클 때같을 때작을 때


참 (1)거짓 (0)거짓 (0)


거짓 (0)
참 (1)
거짓 (0)


거짓 (0)
거짓 (0)
참 (1)

잘 이해하셨나요? 비교연산자가 3개가 다라고 생각하지만, 사실 더 있습니다...
저거 말고 만약에 혹시 크거나 같을때나, 다를때나, 작거나 같을때는 어떻게 알아내죠? 라고 물어보는 분들을 위해
추가적으로 더 만들어진 관계연산자가 있습니다...

그럼 다음에 뵈어요~~


댓글
등록된 댓글이 없습니다.