교과서 속 수학, 코딩으로 깨부수기
[코딩X수학 개념 #4] 조건문: 컴퓨터에게 판단력을! 수학의 '명제와 조건'이 만드는 알고리즘의 갈림길
안녕하세요! 변수 상자를 만들고 사칙연산 기호들까지 마스터했던 지난 3화 내용, 모두 기억하시나요? 특히 나머지 연산자(%)가 수학의 주기성 문제를 푸는 엄청난 무기였다는 점도 짚어보았습니다.
지금까지의 컴퓨터는 우리가 짜놓은 코드를 위에서 아래로 군말 없이 계산만 하는 일차원적인 일꾼이었습니다. 하지만 진짜 마법은 지금부터입니다. 오늘 4화에서는 컴퓨터에게 드디어 스스로 생각하고 상황을 선택할 수 있는 '판단력'을 선물할 시간입니다. 바로 조건문(If문)입니다.
"만약 수학 점수가 90점 이상이면 'A학점' 상자에 넣고, 아니면 탈락시켜라!" 처럼 프로그램의 흐름을 쪼개고 결정짓는 이 개념은, 놀랍게도 여러분이 고등학교 수학 시간에 배우는 '명제와 조건, 그리고 부등식'의 원리와 완벽하게 맞닿아 있습니다.
1 수학의 명제 "$p \rightarrow q$"가 코딩으로 구현된다면?
고등학교 수학 하(下) 단원에 등장하는 '명제'의 정의를 기억하시나요? "참인지 거짓인지 명확하게 판별할 수 있는 문장이나 식"을 뜻합니다. 예를 들어 "$x > 5$이다"라는 문장은 $x$가 무엇이냐에 따라 참이 될 수도, 거짓이 될 수도 있는 '조건'이죠.
코딩의 조건문은 이 수학적 명제의 참(True)과 거짓(False)을 판별하는 능력을 기반으로 작동합니다. 컴퓨터에게 조건을 던져주고, 그 조건이 '참일 때'만 특정 명령을 실행하도록 길을 갈라놓는 것이죠.
수학의 명제 구조 : 만약 가정 $p$가 참이면, 결론 $q$이다. ($p \rightarrow q$)
코딩의 If문 구조 : if 조건식 $p$가 참(True)이면, 하위 코드 $q$를 실행해라!
2 실전 파이썬: 성적에 따라 학점 구간 나누기
수학에서 수직선 위에 $x \ge 90$, $80 \le x < 90$ 처럼 범위를 쪼개는 '구간 분할' 연산을 코딩으로 직접 구현해 보겠습니다. 파이썬에서는 if(만약), elif(그렇지 않고 만약), else(나머지 전부)라는 마법의 키워드를 사용합니다.
# 시험 점수 변수 상자에 85점을 할당합니다. score = 85 if score >= 90: # 조건 1: score가 90 이상(참)일 때만 실행 print("축하합니다! A학점입니다.") elif score >= 80: # 조건 2: 앞의 조건이 거짓이고, score가 80 이상(참)일 때 실행 print("우수합니다! B학점입니다.") else: # 나머지 모든 경우 (80점 미만일 때) 실행 print("조금 더 분발하세요! C학점입니다.")
🧐 소름 돋는 코딩 규칙 세밀하게 뜯어보기
① 부등호 기호의 조합 (>=) :
수학 교과서에서는 이상, 이하를 표시할 때 $\ge, \le$ 기호를 쓰지만, 키보드에는 이 기호가 없습니다. 그래서 코딩에서는 크거나 같다를 표현할 때 크다 기호(>)와 같다 기호(=)를 이어서 >= 라고 작성합니다. 순서가 바뀌어 => 라고 쓰면 에러가 나니 주의하세요!
② 들여쓰기(Indentation)의 규칙 :
파이썬 코드에서 if문 다음 줄을 보면 안쪽으로 한 칸 띄어쓰기(Tab 키)가 되어 있는 것을 볼 수 있습니다. 이것은 "이 명령은 위 조건이 참일 때만 '안쪽'에서 실행되는 종속적인 코드야!"라고 컴퓨터에게 영역을 지정해 주는 중요한 규칙입니다. 수학에서 괄호( )로 연산의 범위를 묶어주는 것과 같은 이치입니다.
3 이 개념이 내일 당장 수학 문제를 풀 때 어떻게 도움을 줄까?
수학 문제를 풀 때 학생들이 가장 까다로워하는 개념 중 하나가 바로 '절댓값 기호가 포함된 함수나 방정식' 혹은 '구간에 따라 다르게 정의된 함수'입니다. 예를 들어 다음과 같은 문제를 만났을 때 말이죠.
이 문제를 풀지 못하는 이유는 절댓값 기호를 어떻게 벗겨내야 할지 막막하기 때문입니다. 하지만 코딩의 조건문 원리를 훈련한 학생들은 직관적으로 이 수식을 '조건문 알고리즘'으로 번역합니다.
'절댓값 안의 알맹이인 $x - 3$이 0보다 크거나 같으면(if $x \ge 3$) 식은 그대로 나오고, 0보다 작으면(else) 마이너스 부호(-)를 달고 나와야 하는구나!' 라고 생각의 길을 명확히 분리하는 것이죠.
조건문을 통해 케이스를 분류하는 코딩 훈련은, 수학에서 **경우의 수를 꼼꼼하게 나누어 풀 때(Case Study)** 데이터를 누락하거나 중복하지 않고 정교하게 분류하는 강력한 '논리적 억제력'과 '조건 제어 능력'을 길러줍니다.
🎯 4화 핵심 포인트 복습 노트
1. 코딩의 조건문(If문)은 수학의 명제와 조건 단원의 참/거짓 원리를 기반으로 작동한다.
2. 여러 구간으로 범위를 쪼갤 때는 if - elif - else 삼총사 구조를 활용한다.
3. 상황과 범위를 조건에 따라 완벽하게 분류하는 능력을 키우면 절댓값 수식이나 어려운 경우의 수 문제도 구조적으로 풀 수 있다!
다음 시간(5화) 예고:
이제 우리는 변수, 자료형, 연산자, 그리고 조건문까지 마스터하며 프로그램에 뇌를 심어주었습니다! 그렇다면 이 조건문과 환상의 시너지를 내는 자동화의 끝판왕이자, 직장인 블로그에서도 격하게 다루었던 그 개념! 지치지 않고 수백 번 조건을 체크하며 연산을 반복하는 [반복문(For문)]의 수학적 결합(수열의 합과 시그마)을 다음 5화에서 아주 세밀하게 파헤쳐 보겠습니다. 다음 시간에 만나요!
'코딩으로 시간 벌기 > 코딩X수학' 카테고리의 다른 글
| [코딩X수학 개념 #6] 집합과 리스트 : 수능 변별력 문항 '조건을 만족하는 집합'을 정복하는 눈 (0) | 2026.06.20 |
|---|---|
| [코딩X수학 개념 #5] 반복문과 수열의 합 : 수학Ⅰ의 시그마($\sum$) 공식, 외우지 말고 For문으로 관통하라! (0) | 2026.06.20 |
| [코딩X수학 개념 #3] 사칙연산과 % : 수학의 '주기성' 문제를 푸는 마법의 비밀 기호 (0) | 2026.06.17 |
| [코딩X수학 개념 #2] 자료형: 수학의 '수의 체계'가 상자의 종류를 결정한다? (0) | 2026.06.17 |
| [코딩X수학 개념 #1] 변수: 수학의 미지수 x가 컴퓨터 속에 들어가면? (1) | 2026.06.12 |
