반응형

교과서 속 수학, 코딩으로 깨부수기

[코딩X수학 개념 #5] 반복문과 수열의 합 : 수학Ⅰ의 시그마($\sum$) 공식, 외우지 말고 For문으로 관통하라!

안녕하세요! 조건문(If)을 통해 컴퓨터에게 명제와 조건을 판별하는 '뇌'를 심어주었던 지난 4화 내용, 기억하시나요? 드디어 오늘 5화에서는 코딩 개념의 꽃이자, 중고등 교과수학 전체를 관통하는 핵심 알고리즘인 반복문(For문)을 배울 차례입니다.

고등학교 수학Ⅰ 과정에 등장하여 수많은 학생들을 포기하게 만드는 거대한 장벽이 있습니다. 바로 수열의 합을 나타내는 시그마($\sum$) 단원입니다. 자연수의 거듭제곱의 합 공식($\frac{n(n+1)}{2}$ 등)을 달달 외우느라 고통받았던 기억이 있을 것입니다.

하지만 코딩의 눈으로 보면, 시그마 기호는 그저 "정해진 횟수만큼 반복해서 더하는 일꾼"인 For문에 불과합니다. 오늘은 수열의 합 공식을 단 하나도 외우지 않고, 코딩의 반복문 알고리즘을 통해 수열의 본질을 꿰뚫어 보겠습니다.


1 수학의 $\sum_{k=1}^{n} a_k$ 가 코딩의 For문으로 번역되는 과정

수학 교과서에서 시그마 기호 $\sum_{k=1}^{n} a_k$는 "변수 $k$에 1부터 $n$까지 대입하면서 일반항 $a_k$를 차례대로 다 더해라"라는 뜻입니다. 기호가 위엄 있어 보일 뿐, 본질은 그저 단순 반복 계산의 명령서입니다.

코딩에서는 횟수가 정해진 반복 작업을 수행할 때 For문을 사용합니다. 수학의 시그마가 아래 기둥($k=1$)과 위 기둥($n$)으로 시작과 끝을 정하듯, 코딩의 For문도 range(시작, 끝) 함수를 통해 정확히 반복할 범위를 제어합니다.

🧩 수학과 코딩의 1:1 완벽 매칭 구조

  • 1. 합을 누적할 공간 : 수학의 결괬값 $S_n$ ➡️ 코딩의 초기화 변수 S = 0
  • 2. 시작과 끝 범위 : 시그마의 밑과 위 ($k=1$부터 $n$까지) ➡️ For문의 for k in range(1, n+1):
  • 3. 더할 일반항 : 수열의 일반항 $a_k$ ➡️ 루프 내부의 누적 식 S = S + a_k

2 실전 파이썬: 공식 없이 등차수열의 합 $\sum_{k=1}^{100} k$ 구하기

고등학교 수학 시험문제에 나오는 1부터 100까지의 자연수의 합, 즉 일반항이 $a_k = k$인 등차수열의 합을 파이썬 코드로 직접 구현해 보겠습니다.

💻 공식을 쓰지 않는 수열의 합 계산 알고리즘
# [단계 1] 합계를 누적해서 저장할 빈 상자(S)를 0으로 준비합니다.
S = 0

# [단계 2] k를 1부터 100까지 1씩 키우며 반복합니다.
for k in range(1, 101):
    # [단계 3] 일반항 a_k = k를 기존의 합계 상자에 계속 누적합니다.
    S = S + k

# 최종 합계 결과 출력
print("1부터 100까지의 합(S_100)은:", S) # 결과: 5050

🧐 소름 돋는 코딩 규칙 세밀하게 뜯어보기

① 왜 range(1, 101)일까? :
파이썬의 range(start, end) 함수는 시작값부터 '끝값 직전(end-1)'까지만 숫자를 생성하는 엄격한 내장 규칙이 있습니다. 따라서 수학의 100번째 항까지 계산하려면 코딩에서는 끝값에 1을 더한 101을 지정해 주어야 100까지 정상적으로 반복됩니다.

② 누적 연산 알고리즘 (S = S + k) :
이 식은 1화에서 강조한 대입 연산의 본질을 담고 있습니다. 루프가 돌 때마다 S 상자 안에 있던 기존 값에 새로운 항 k를 더해 다시 S 상자에 집어넣습니다. 이 간단한 한 줄이 수학의 누적 합($\sum$) 메커니즘을 그대로 구현한 것입니다.


3 수Ⅰ을 넘어 수학Ⅱ, 미적분, 확통까지 관통하는 생각의 틀

지금 배운 [For문을 이용한 반복 누적 연산]은 고등학교 교과과정 수학 전체의 패러다임을 하나로 관통하는 마법의 열쇠입니다. 학년이 올라갈수록 이 개념이 어떻게 확장되는지 볼까요?

▶ 수학Ⅱ & 미적분 : 정적분의 구분구적법

곡선 아래의 넓이를 구하는 정적분($\int$) 단원에서 학생들은 멘붕에 빠집니다. 하지만 정적분의 정의는 곡선을 잘게 쪼갠 사각형들의 합($\lim \sum$)입니다. For문의 반복 횟수를 100번에서 1,000,000번으로 무한히 늘려가며(극한 $\lim$) 사각형의 넓이를 더하면, 그것이 바로 정적분 코드가 됩니다! 공식을 몰라도 면적이 구해집니다.

▶ 확률과 통계 : 통계적 확률과 이항분포

확통에서 "주사위를 던져 1이 나올 확률은 $\frac{1}{6}$이다"라는 수학적 확률을 배웁니다. 이것을 For문을 이용해 컴퓨터에게 주사위를 10만 번 반복해서 던지게(시뮬레이션) 한 뒤 1이 나온 횟수를 누적해 보면, 계산 결과가 정확히 $0.1666\dots$에 수렴하는 **대수의 법칙**을 눈으로 증명할 수 있습니다.

이처럼 For 반복문 알고리즘을 제대로 정립해 두면, 복잡한 기호로 흩어져 있던 **[시그마 ➡️ 구분구적법(적분) ➡️ 통계적 시뮬레이션]**이 결국 컴퓨터가 데이터를 '순서대로 처리하는 하나의 행위'임을 직관적으로 이해하게 됩니다. 수학을 구조적이고 통합적으로 바라보는 진정한 최고 엄밀의 사고력이 싹트는 것이죠.


🎯 5화 핵심 포인트 복습 노트

1. 수학의 시그마($\sum$)는 코딩의 횟수 지정 반복문(For문)과 완벽하게 동일한 메커니즘이다.
2. 변수 상자에 값을 지속해서 더하는 누적 연산 알고리즘을 통해 수열의 합 공식을 완벽히 대체할 수 있다.
3. 반복 횟수를 극한으로 늘리거나 무한 시뮬레이션을 돌림으로써 수2 정적분과 확통의 개념까지 하나의 논리로 꿸 수 있다!

다음 시간(6화) 예고:
개별 변수 상자들과 반복문까지 합쳐진 강력한 무기를 얻었습니다! 그런데 만약 전교생 300명의 수학 점수를 다루어야 한다면 변수 상자를 300개나 만들어야 할까요? 그건 코딩이 아니죠. 수많은 상자를 기차처럼 한 줄로 예쁘게 엮어 관리하는 마법의 주머니, 수학의 [집합(Set)]이자 코딩의 [리스트(List)] 개념을 6화에서 철저하게 마스터해 보겠습니다. 다음 시간에 만나요!

반응형

+ Recent posts