어떻게 만약 그렇다면, 갈림길
앞 레슨에서 참과 거짓을 봤다. 프로그램은 그 참·거짓으로 길을 고른다. 조건이 맞으면 이 길, 아니면 저 길로 가는 것, 프로그램이 스스로 판단하는 첫 순간이에요.
참이면 이 길, 거짓이면 저 길
프로그램은 가끔 갈림길을 만난다.
'만약 그렇다면 이것을 하고, 아니면 저것을 해.'
조건이 참이냐 거짓이냐에 따라 가는 길이 달라진다.
아래에서 조건을 참과 거짓으로 바꾸면 켜지는 길이 바뀌어요.
조건의 참·거짓이 길을 정한다.
갈림길에서는 한쪽만 골라 간다.
참이면 참인 쪽, 거짓이면 거짓인 쪽이다.
이것이 '만약'이고, 프로그램이 상황을 보고 길을 고르는 방법이에요.
나이가 19살 이상인가?
조건은 보통 무언가를 비교한다.
'나이가 19살 이상인가?' 같은 질문이 그렇다.
답이 참이면 어른, 거짓이면 아직 아니다.
아래에 나이를 바꿔 넣으면 판단이 어떻게 갈리는지 보여요.
조건이 참인지 따져서 길을 고른다.
19살 이상이면 어른, 아니면 아직 아니다.
나이라는 값 하나로 판단이 갈린다.
이렇게 조건은 값을 비교해서 참이나 거짓을 내놓아요.
'만약'과 '아니면'의 짜임
'만약'에는 보통 짝이 있다.
'만약 그렇다면 이것, 아니면 저것.'
조건이 참일 때 할 일과 거짓일 때 할 일을 나란히 적어 두는 것이다.
이 짜임이 갈림길의 모습이에요.
만약 ~ 이라면 ~ 아니면 ~.
참일 때와 거짓일 때를 미리 적어 두면, 프로그램은 그때그때 맞는 쪽을 골라 실행한다.
우리가 일일이 지켜보지 않아도 스스로 판단하는 셈이에요.
그 참·거짓이 갈림길의 스위치
이 참·거짓은 어디서 봤을까?
앞 레슨의 자료형에서 봤고, 그보다 전에 구조 영역에서 CPU의 ALU가 '10이 7보다 큰가'에 답하던 바로 그 참·거짓이다.
그것이 갈림길을 켜는 스위치였어요.
비교의 참·거짓 → 갈림길 스위치.
계산하는 ALU가 비교를 하고, 그 참·거짓이 갈림길의 스위치가 된다.
따로따로 배운 조각들이 여기서 이어진다.
작은 것들이 모여 '판단'이 된 거예요.
점수로 합격 판단하기
작은 프로그램을 만들어 본다.
'점수가 60점 이상이면 합격, 아니면 불합격.'
점수를 넣고 실행하면, 조건이 참인지 따져 합격과 불합격 가운데 한 길을 골라요.
점수 → 조건 판단 → 합격 / 불합격.
점수 하나로 합격과 불합격이 갈린다.
조건과 두 갈래만 있으면 프로그램은 스스로 판단할 수 있다.
다음 레슨에서는 계산을 돕는 여러 기호들을 알아봐요.