글 수 83
훌륭한 프로그래머의 딜레마 라는 글에 달린 리플입니당.
-------------------------------------------------------------
제가 중1 일 때 이야기입니다.
막 XT가 국민용 저가형 PC 어쩌구하면서 보급되던 무렵인데요.
그 당시 컴퓨터 학원에 다니던 친구녀석이 저에게 SOS를 쳤습니다.
학원에서 숙제로 문제를 냈는데 다음과 같은 문제였습니다.
" 어떤 숫자 X를 입력받아 그것이 3의 배수인지 아닌지를 검사하는
프로그램을 작성하여라. "
이걸 풀어오면 학원에서 자장면(& 천재칭호..)을 공짜로 사준다고 했다더군요. ^^
뭐... 지금이야 그냥 나머지 연산자 써서 ... 0인지 아닌지만 검사하면
되겠지만... 그 당시... GW-BASIC 에 나머지 연산자가 있었는지는 기억이 안납니다.
게다가.. 제가 아는 베이직이란... 금성 FC-100(8비트 국산 컴퓨터..)에서 쓰이던...
베이직 정도 뿐이었거든요.
(집이 가난해서.. 중3무렵인가? 그때야... 애플IIe를 만져볼 수 있었습니다.)
그때 제가 작성해 준 코드는 대충 이랬습니다.
A= X/3
B= A*3
IF X=B THEN PRINT "X는 3의 배수입니다."
ELSE PRINT "X는 3의 배수가 아닙니다."
눈치가 빠르신 분들은 바로 알아차렸을 겁니다.
제 아무리 컴퓨터라해도... 무한소수를 정확히 표현할 수는 없으니까요...
그날 친구는 의기양양해하며 이 소스를 들고갔습니다.
저도 학원에서의 반응이 무척 궁금했습니다.
전... 거의 독학으로... 컴퓨터를 했거든요.
정규(?) 기관에서는 어떻게 평가할까? 내 수준은 어느 정도일까?
너무 궁금했습니다.
(그 당시 컴퓨터를 가질수 없었던 난... 컴퓨터 학습^^ 에서
부록으로 주던 브로마이드를 가지고 자판 연습을하곤 했었습니다.
지금 생각하니 그때의 열정이 너무 그립군요.)
헌데...
담날 친구의 반응은....
"야, 너 컴퓨터 잘하는 줄 알았더니... 별로구나."
였습니다. ^^;;
그래서... 제가 물어 봤습니다.
"내가 작성한 프로그램에 에러가 있었어?"
"아니."
자초지종을 물으니...
학원선생이 처음 제 코드를 보았을때...
의기양양해하며...
"틀렸어."
라고 했답니다. 그러자 친구는 저에 대한 믿음으로...
그래도 끝까지 이걸 작성해보자고 우겼고...
막상 실행을 하니... 문제없이 작동이 되더랍니다.
학원선생 무지 당황했겠죠.
그리고... 그도 그 원인을 알게되곤... 다음과 같이 말했답니다.
"컴퓨터의 약점(?)을 노린... 얄팍한 수법이다." ^^
그러면서...
이게 답이라면서....
X-2 를 한 것과 X-1 을 한 것을 3으로 나누어서...
0이 나오는지 검사하는 루틴을 보여주었답니다. ^^
뭐... 고딩때나 배우는 수열을 이용한 방법을 자랑스럽게....
설명하며... 수학적으로 어쩌구... 그럴싸하게 포장해서 설명을 했겠지요.
암튼...
친구는 그 학원선생이 넘겨준... 답을 저한테 주고는...
가버리더군요. ^^ (저한테 실망을 했는지... ㅎㅎ 어릴땐 단순하잖아요.)
저는 한참 그 소스를 봤습니다.
IF 문이 저보다 많습니다.
코드도 더 깁니다.
그래도 첨엔 이것이 정답이라고 생각했습니다.
헌데... 갑자기 그런 생각이 드는겁니다.
그럼, 만약 7의 배수인지 아닌지 검사를 해야된다면...
1부터 6까지 다 빼어서 검사해야된단 말야?
그렇다면 IF 문이 대체 몇개가 필요하단 거야?
피식 웃고 말았습니다.
그 이후... 모든... 정규(?) 기관에 대한 불신을 가지게 되었습니다.
그 후로도... 전산과 출신 중에... 유명한.. 인물들이
없다는 것을 깨닫곤...
(하늘소가 있긴 했지만... 단체라고 무시했음. ^^;;
지금 생각하면 자기합리화였던것 같습니다. 헤헤)
.... 결국 대학을 기계과로 가버리는... ^^ 일까지 벌어지게 되었죠.
뭐... 관련있는 글인지 모르겠습니다만...
군자님이 올린글을 보니... 옛생각이 나... 저도 모르게 쓴웃음을 흘렸습니다.
만약, 그 일이 없었다면...
지금 이 나이에... 제가 컴공과 책들고 씨름하는 일은 없었을텐데 말입니다. ^^
-------------------------------------------------------------
제가 중1 일 때 이야기입니다.
막 XT가 국민용 저가형 PC 어쩌구하면서 보급되던 무렵인데요.
그 당시 컴퓨터 학원에 다니던 친구녀석이 저에게 SOS를 쳤습니다.
학원에서 숙제로 문제를 냈는데 다음과 같은 문제였습니다.
" 어떤 숫자 X를 입력받아 그것이 3의 배수인지 아닌지를 검사하는
프로그램을 작성하여라. "
이걸 풀어오면 학원에서 자장면(& 천재칭호..)을 공짜로 사준다고 했다더군요. ^^
뭐... 지금이야 그냥 나머지 연산자 써서 ... 0인지 아닌지만 검사하면
되겠지만... 그 당시... GW-BASIC 에 나머지 연산자가 있었는지는 기억이 안납니다.
게다가.. 제가 아는 베이직이란... 금성 FC-100(8비트 국산 컴퓨터..)에서 쓰이던...
베이직 정도 뿐이었거든요.
(집이 가난해서.. 중3무렵인가? 그때야... 애플IIe를 만져볼 수 있었습니다.)
그때 제가 작성해 준 코드는 대충 이랬습니다.
A= X/3
B= A*3
IF X=B THEN PRINT "X는 3의 배수입니다."
ELSE PRINT "X는 3의 배수가 아닙니다."
눈치가 빠르신 분들은 바로 알아차렸을 겁니다.
제 아무리 컴퓨터라해도... 무한소수를 정확히 표현할 수는 없으니까요...
그날 친구는 의기양양해하며 이 소스를 들고갔습니다.
저도 학원에서의 반응이 무척 궁금했습니다.
전... 거의 독학으로... 컴퓨터를 했거든요.
정규(?) 기관에서는 어떻게 평가할까? 내 수준은 어느 정도일까?
너무 궁금했습니다.
(그 당시 컴퓨터를 가질수 없었던 난... 컴퓨터 학습^^ 에서
부록으로 주던 브로마이드를 가지고 자판 연습을하곤 했었습니다.
지금 생각하니 그때의 열정이 너무 그립군요.)
헌데...
담날 친구의 반응은....
"야, 너 컴퓨터 잘하는 줄 알았더니... 별로구나."
였습니다. ^^;;
그래서... 제가 물어 봤습니다.
"내가 작성한 프로그램에 에러가 있었어?"
"아니."
자초지종을 물으니...
학원선생이 처음 제 코드를 보았을때...
의기양양해하며...
"틀렸어."
라고 했답니다. 그러자 친구는 저에 대한 믿음으로...
그래도 끝까지 이걸 작성해보자고 우겼고...
막상 실행을 하니... 문제없이 작동이 되더랍니다.
학원선생 무지 당황했겠죠.
그리고... 그도 그 원인을 알게되곤... 다음과 같이 말했답니다.
"컴퓨터의 약점(?)을 노린... 얄팍한 수법이다." ^^
그러면서...
이게 답이라면서....
X-2 를 한 것과 X-1 을 한 것을 3으로 나누어서...
0이 나오는지 검사하는 루틴을 보여주었답니다. ^^
뭐... 고딩때나 배우는 수열을 이용한 방법을 자랑스럽게....
설명하며... 수학적으로 어쩌구... 그럴싸하게 포장해서 설명을 했겠지요.
암튼...
친구는 그 학원선생이 넘겨준... 답을 저한테 주고는...
가버리더군요. ^^ (저한테 실망을 했는지... ㅎㅎ 어릴땐 단순하잖아요.)
저는 한참 그 소스를 봤습니다.
IF 문이 저보다 많습니다.
코드도 더 깁니다.
그래도 첨엔 이것이 정답이라고 생각했습니다.
헌데... 갑자기 그런 생각이 드는겁니다.
그럼, 만약 7의 배수인지 아닌지 검사를 해야된다면...
1부터 6까지 다 빼어서 검사해야된단 말야?
그렇다면 IF 문이 대체 몇개가 필요하단 거야?
피식 웃고 말았습니다.
그 이후... 모든... 정규(?) 기관에 대한 불신을 가지게 되었습니다.
그 후로도... 전산과 출신 중에... 유명한.. 인물들이
없다는 것을 깨닫곤...
(하늘소가 있긴 했지만... 단체라고 무시했음. ^^;;
지금 생각하면 자기합리화였던것 같습니다. 헤헤)
.... 결국 대학을 기계과로 가버리는... ^^ 일까지 벌어지게 되었죠.
뭐... 관련있는 글인지 모르겠습니다만...
군자님이 올린글을 보니... 옛생각이 나... 저도 모르게 쓴웃음을 흘렸습니다.
만약, 그 일이 없었다면...
지금 이 나이에... 제가 컴공과 책들고 씨름하는 일은 없었을텐데 말입니다. ^^
그런 놈들 많아... 우리도 고등학교때 컴 선생이 모 하나 내주고...
만약 이거 하는 사람 있으면 앞으로 아무것도 안해도 수 준다 그래놓고...
막상 하니까 발뺌한 적이 있었지...
자기가 복잡한 방법으로 무언가를 해 놓구선...
스스로 그 방법의 논리성에 대해 심취하고...
그걸 자랑하고 싶은 것이지...
나도 그런 문제가 있다면 당연히 저렇게 했을 것이야...
(나는 문제 보고 int ( X / 3 ) 이라고 생각했는데.. 흐흐흐흐...)