금요일, 7월 07, 2017

수학을 공부하는 이유

수학을 공부하는 이유

수학을 모르면 프로그래머라고 할 수 없다. 수능 문제를 풀다가 문득 깨닳았다. 그 문제는 이랬다.

초점 F(4,-2) 준선 y=4인 포물선의 그래프에서,


쉽게 푼 줄 알았다. 그런데 주어진 촛점과 준선의 조건을 가지고 그래프 그리기부터 틀렸다. 준선에 y=4이고 촛점의 y좌표값이 -2인데 아래로 볼록인 포물선을 그려 놓다니 논리적이지도 않다. 이어서 x와 y 값의 적용이 뒤죽박죽이 되어 버렸지만 일단 값을 얻은 듣하니 잘 푼 줄 안 것이다. 차라리 중간에 난관에 봉착 했다면 다시 되집어 봤을텐데 아주 않좋은 덧에 빠진듣 한 기분이다.

계산은 컴퓨터가 잘한다. 기계에게 일을 시키려면 기계가 알아들 을 수 있는 방식으로 표현해야 한다. 컴퓨터는 프로그래밍 언어를 알아 듣는다. 즉, 언어로 문제를 기술하는 것이다. 

저학년 교육과정에서부터 프로그래밍 혹은 코딩 교육의 중요성이 강조되는 추세라고 한다. 그러면서 정작 배우는게 컴퓨터 언어의 규칙과 몇가지 되지도 않는 키워드의 활용에 불과한 경우를 보게된다. 키워드라고 해봐야 기초라고 쳐주기도 민망한 것 들이다. 사칙연산 기호를 이용한 산술 식에 if ~ else~, while, for 따위로 굳이 따로 배워야 하나 싶을 정도다.

기계가 알아들으려니 언어가 이리 단순 명료해야 하는 것은 당연할 것이다. 이렇게 간단한 "언어"로 컴퓨터가 해내는 것들을 보면 놀랍다. 컴퓨터가 해내는 놀라운 산출물과 단순한 언어 사이에 커다란 격차가 바로 수학이다.

"코딩" 교육이란 문제 혹은 목표를 언어와 수식으로 기술하는 능력이라고 하겠다. 그 과정에서 동원되는 수많은 추상적 개념들은 모두 수학에 기초를 두고 있다. 위의 문제는 촛점과 준선만 주고 "포물선"을 그리라고 명령하는 것이다. "포물선"이라는 한 단어가 담고있는 개념은 수학에서 기초하여 모두가 이해한 것으로 간주할 때 명령을 내릴 수 있다. 컴퓨터가 "포물선"에 대한 정보(라이브러리)를 가지고 있다고 한들 정작 프로그래머가 알지 못하거나 오해하고 있다면 문제를 풀지 못하거나 오답을 낼 뿐이다.

그래서 수학을 배운다. 수학을 못하는 프로그래머는 그저 받아쓰기 코더(coder)일 뿐이다.

-------------------------------------------------------------------------------------
제대로 풀어보자.

초점 F(4,-2) 준선 y=4인 포물선을 바르게 그려보면, (준선과 촛점의 y 좌표값에 유의하자)


원칙대로 "한점에서 준선까지 길이와 촛점까지의 길이가 같다"는 원칙대로 푸는 방법도 있고,


포물선의 평행이동을 직관적으로 이해하여 풀 수도 있다. 준선과 촛점의 관계를 먼저 따져보면 꼭짓점의 좌표를 알 수 있다. 꼭짓점 좌표가 바로 평행 이동 거리다.


그림만 잘 그려 놓으면 쉽게 풀 수도 있다.


---------------------------------------------------------------------------

댓글 없음:

댓글 쓰기