추억의 정보처리기능사 시험 문제
잡동사니 2009. 5. 4. 10:01고등학교 2학년 시절에 컴퓨터 학원을 통해 친구들과 정보처리기능사 시험을 준비했었다. 당시에 프로그래밍의 개념을 거의 모르던 수준이라 프로그램은 BASIC이나 C언으로 짜여진다 정도만 알고 있던 때였다. 스스로는 지금도 별반 차이는 없다고 생각하지만...
당시 문제풀이를 한가지 이상의 언어로 할수 있던 것으로 기억하는데 학원에서 알려준건 베이직이었다. 비주얼 베이직을 통해 문제를 푸는 거였는데, 문제는 간단(?)했었다.
우선 아래와 같은 데이터가 담긴 텍스트 파일이 제공된다.
970001Sc@c.com 29 41 42 58 14184IHN
910002Iv@c.com 19 69 28 47 95258VYT
950003Lf@d.com 69 48 50 81 34282GDJ
980004Ux@b.com 30 97 88 35 41291CDN
960005Gt@e.com 53 76 71 20 74294EFJ
980006Nk@a.com 95 63 19 67 56300MXD
970007Rk@b.com 92 20 12 20 15159NOS
990008Bl@d.com 55 43100 87 78363NAP
910009Lr@b.com 14 77 52 43 22208HPT
.....
910002Iv@c.com 19 69 28 47 95258VYT
950003Lf@d.com 69 48 50 81 34282GDJ
980004Ux@b.com 30 97 88 35 41291CDN
960005Gt@e.com 53 76 71 20 74294EFJ
980006Nk@a.com 95 63 19 67 56300MXD
970007Rk@b.com 92 20 12 20 15159NOS
990008Bl@d.com 55 43100 87 78363NAP
910009Lr@b.com 14 77 52 43 22208HPT
.....
지금은 정보처리기능사 실기 시험이 어떤식으로 진행되는지 모르겠지만 그 당시에는 위와 같은 데이터 자료를 회사나 상점의 데이타베이스로 여기고 원하는 값을 추출해 내는 것이 대부분의 문제였던것으로 기억한다. 사실 여기까지는 큰 문제가 없는데, 문제는 학원에서 가르키는 방식이었다. 당시에 우리는 시간이 부족하다는 핑계로 프로그래밍의 원리보다는 문제가 풀어지는 원리-A에서 B를 통해 C값을 얻는다-정도만 이해하고 나머지 소스코드를 그냥 문제 유형별로 무조건 암기 하는것이었다. 즉, 말그대로 답만 외웠다.
예를 들면 소스코드는 아래와 같은 것들이다.
Option Explicit
Dim 받은인수 As String
Dim 현재레코드 As String
Dim 첫번째인수 As Single
Dim 두번째인수 As Single
Dim 레코드번호 As Single
Dim 국어점수 As Single
Dim 자료수 As Single
Private Sub Form_Initialize()
받은인수 = Command()
받은인수 = Trim(받은인수)
첫번째인수 = Val(Left(받은인수, InStr(1, 받은인수, " ")))
두번째인수 = Val(Mid(받은인수, InStr(1, 받은인수, " ")))
Open App.Path & "\abc0155.txt" For Input As #1
For 레코드번호 = 1 To 두번째인수
If 레코드번호 < 첫번째인수 Then
Line Input #1, 현재레코드
Else
Line Input #1, 현재레코드
국어점수 = Val(Mid(현재레코드, 15, 3))
If 국어점수 >= 40 Then
자료수 = 자료수 + 1
End If
End If
Next 레코드번호
Close #1
Open App.Path & "\ans4.txt" For Output As #1
Print #1, 첫번째인수 & " " & 두번째인수 & " " & 자료수
Close #1
End
End Sub
Dim 받은인수 As String
Dim 현재레코드 As String
Dim 첫번째인수 As Single
Dim 두번째인수 As Single
Dim 레코드번호 As Single
Dim 국어점수 As Single
Dim 자료수 As Single
Private Sub Form_Initialize()
받은인수 = Command()
받은인수 = Trim(받은인수)
첫번째인수 = Val(Left(받은인수, InStr(1, 받은인수, " ")))
두번째인수 = Val(Mid(받은인수, InStr(1, 받은인수, " ")))
Open App.Path & "\abc0155.txt" For Input As #1
For 레코드번호 = 1 To 두번째인수
If 레코드번호 < 첫번째인수 Then
Line Input #1, 현재레코드
Else
Line Input #1, 현재레코드
국어점수 = Val(Mid(현재레코드, 15, 3))
If 국어점수 >= 40 Then
자료수 = 자료수 + 1
End If
End If
Next 레코드번호
Close #1
Open App.Path & "\ans4.txt" For Output As #1
Print #1, 첫번째인수 & " " & 두번째인수 & " " & 자료수
Close #1
End
End Sub
위 프로그램을 실행하면 'ans4.txt'파일에 '59 179 87'값이 출력 되었다. 그리고 끝.
지금 보니 그다지 긴 소스코드도 아니지만 친구들과 나는 당시에 이해못하는 영어와 한글로 쓰여진 소스코드를 유형별로 외우라는 말에 겁부터 먹었었다. 물론 이후에 암기하는데는 다들 큰 시간이 걸리지 않았고 우리는 무사히(?) 실기시험을 합격하고 자격증을 취득할 수 있었다.
근데 정말 문제는, 이게 실제 정보처리기능사라는 이름에 하등 도움이 안되는 실기시험이었다는 것이다. 내가 알게된 것이라고는 비주얼 베이직의 사용법, 그리고 베이직 언어 조금과 데이터베이스에 대한 아주 간단한 이해(솔직히 이해라는 말이 우습다)와 암기력 정도다.
나와 시험을 같이 공부한 누구도 이 자격증 취득이 자신의 실력향상에 도움된다고 여긴 학생은 아무도 없었다. 사실 취득하고 내심 기쁘고 자랑스럽기도 했지만 동시에 '자격증'이라는 것의 정체에 대해서도 알게된 느낌이라 꺼림직하기도 했었다. 물론 인정할 만한 자격증, 분명 그 자격이 요구하는 조건을 갖춘 자격증 시험도 많지만 정보처리기능사 시험을 친 이후에 자격증이라는 것에 대해 많이 생각해보게 되었었다.
뭐 지금은 그러려니 한다. 아무리 유명무실한 자격증도 많지만 분명 쓸모있고 제대로된 자격증도 있는 것 또한 사실이니까.
'잡동사니' 카테고리의 다른 글
One World One God. (0) | 2009.05.12 |
---|---|
47500원 (0) | 2009.05.07 |
Prince - Gett off (0) | 2009.05.03 |
심슨 가족 - I'll Kill You!! (0) | 2009.04.21 |
권력을 위하여? (0) | 2009.04.18 |