6. 가격 흥정과 생존의 법칙: 일차부등식의 실전 활용 (Applications)
[도입부] 학습 목표 (Learning Objectives)
- 텍스트가 줄줄이 쓰여있는 현실의 찌든 문제(“거스름돈을 받아야 하는데 친구가…”, “물탱크에 물을 붓는데 시간이…“)를 수학 기호로 번역해 내는 ‘모델링(Modeling)’ 능력을 장착합니다.
- 부등식 활용 문제에서 부등호 방향($<$, $\le$, $>$, $\ge$)을 어느 쪽으로, 어떻게 꺾어야 내 지갑과 목숨을 방어할 수 있는지 실전 독해법을 훈련합니다.
- 파이썬(Python)의
While루프 기반 시뮬레이터로 현실의 예산을 점진적으로 소진시켜 부등식의 데드라인 컷(Deadline Cut) 기능을 프로그래밍으로 부활시킵니다.
1. 일상어를 무자비하게 해독하라! 수학 번역기
부등식 파트에서 학생들이 가장 증오하는 ‘활용 문제’ 는 사실 수학 능력이 아니라 국어(번역) 능력 테스트입니다. 일상 언어의 모호함을 컴퓨터같이 딱 떨어지는 부등호 4종류로 교체하는 번역 법칙만 알면 모든 공포가 사라집니다.
- “~보다 크다, 초과, 무겁다, 비싸다” $\rightarrow$ $>$ (초과)
- “~보다 작다, 미만, 가볍다, 싸다” $\rightarrow$ $<$ (미만)
- “~크거나 같다, 이상, 최소한, 넘지 않는다(!)” $\rightarrow$ $\ge$ (이상)
- “~작거나 같다, 이하, 최대한, 이내로(!)” $\rightarrow$ $\le$ (이하) (가장 빈출되는 문장!)
예를 들어, “요금(A)이 내 지갑 속 예산(B) 이내로 떨어져야 한다.” 라는 문장은 번역기를 돌리는 순간 $\text{요금}(A) \le \text{예산}(B)$ 이라는 깔끔한 뼈대 기둥 하나로 박혀버립니다. 이 뼈대만 확보하면, 이후는 신나게 풀기만 하면 됩니다.
2. 실전 모델링: 택시 할증의 공포 피하기
[상황] 지갑에 딱 $10,000$원이 있습니다. 밤에 택시를 타려는데, 기본요금이 $4,000$원 이고 $1$km 주행할 때마다 거침없이 요금 단말기가 $1,000$원 씩 치솟습니다. 도대체 몇 km($x$) 까지 타고 가야 안심하고 내릴 수 있을까요?
- 미지수 결정: 우리가 구해야 하는 변수, ‘주행 거리(km)’ 를 $x$ 로 잡아둡니다.
- 번역 뼈대 뚝딱: “내가 내야 할 택시비 전체” 는 “지갑 속 돈($10,000$)” 보다 작거나 같아야 무사히 탈출합니다. 즉, $(\text{택시비}) \le 10,000$
- 디테일 투입(모델링): 택시비는 (기본료 $4000$) + (1km당 $1000 \times x$) 로 쪼갤 수 있습니다. \(4000 + 1000x \le 10000\)
- 기계적 풀이:
이항($-4000$): $1000x \le 6000$
나누기($\div 1000$): $x \le 6$ 결론 $\rightarrow$ “최대 6km 까지는 안심하고 타도 된다!”
3. 💻 파이썬(Python) While 로 예산 소진 시뮬레이션
파이썬에서는 수학 공식 없이도 컴퓨터의 무한 노가다(루프) 기능을 통해 $x$(거리) 값을 1씩 늘려가면서 택시 미터기 알람을 계속 울리다가, 예산 타격 직전에 시스템을 자동으로 종료시키는 필터를 만들 수 있습니다.
🐍 파이썬 예제: 자율주행 택시비 소진 예측 시스템
print("--- 🚕 자율주행 시스템 미터기 예산 방어 봇 ---")
wallet_budget = 10000 # 지갑 허용치 예산
base_fare = 4000
cost_per_km = 1000
# 택시가 출발합니다. (거리 0부터 시작)
distance_x = 0
current_fare = base_fare
print(f"▶ 지갑 예산: {wallet_budget}원 / 기본료: {base_fare}원 결제 시작!")
print("-" * 50)
# 부등식 (현재요금 <= 예산) 이 True(참)인 동안에만 미친듯이 루프(액셀)를 밟는다!
while current_fare + cost_per_km <= wallet_budget:
# 1km씩 주행 거리를 액셀링
distance_x += 1
current_fare += cost_per_km
print(f" 덜컹! {distance_x}km 주행 완료 => 미터기 누적 요금: {current_fare}원")
print("-" * 50)
print(f"🚨 [경고 경고] 다음 1km를 더 가면 예산({wallet_budget}원)을 초과하여 파산합니다!")
print(f"✅ AI 브레이크 가동! 최대로 안전하게 주행 가능한 거리는 {distance_x}km 입니다.")
# 결과창:
# --- 🚕 자율주행 시스템 미터기 예산 방어 봇 ---
# ▶ 지갑 예산: 10000원 / 기본료: 4000원 결제 시작!
# --------------------------------------------------
# 덜컹! 1km 주행 완료 => 미터기 누적 요금: 5000원
# 덜컹! 2km 주행 완료 => 미터기 누적 요금: 6000원
# 덜컹! 3km 주행 완료 => 미터기 누적 요금: 7000원
# 덜컹! 4km 주행 완료 => 미터기 누적 요금: 8000원
# 덜컹! 5km 주행 완료 => 미터기 누적 요금: 9000원
# 덜컹! 6km 주행 완료 => 미터기 누적 요금: 10000원
# --------------------------------------------------
# 🚨 [경고 경고] 다음 1km를 더 가면 예산(10000원)을 초과하여 파산합니다!
# ✅ AI 브레이크 가동! 최대로 안전하게 주행 가능한 거리는 6km 입니다.
자율주행 자동차, 혹은 비행기 시스템이 ‘남은 기름통’과 ‘이동 거리’를 계속 모니터링하며 언제 비상착륙해야 할지 알람을 띄우는 이 거대한 엔진 구조 전체가 결국 일차부등식 뼈대 1줄의 무한 반복 렌더링 에 불과하다는 기술적 위대함을 엿볼 수 있습니다.
[결론] 학습 정리 (Summary)
- 활용 문제의 해독제: 국어책처럼 쓰여 지루한 일상생활 문제의 본질은 “총비용이 돈통 예산 이내($\le$)로 떨어져라” 거나 “과도한 무게가 다리 붕괴 하중을 초과($>$)해서는 안된다” 등, 인간 생존의 안전선(바리케이드)을 치기 위함임을 알아야 합니다.
- 번역 템플릿: 알쏭달쏭한 “~를 넘지 않게” 라는 문장이 튀어나오는 즉시 “아, 이 작가는 작거나 같다($\le$) 라는 수학 기호를 일부러 꼬아서 은유적으로 표현했구나!” 라고 의도를 간파하고 부등호 스위치를 교체하는 스킬을 획득합니다.
- 알고리즘의 브레이크 장치: 파이썬
While문에서 사용되는 조건문current <= limit(현재 스코어가 한계치보다 작은 동안만 굴러가라) 의 백엔드 코어는 우리가 배운 1차 부등식의 철칙을 컴퓨터 프로그램으로 빙의시킨 현대 최고의 기술입니다.
서브목차