1 / 9

정보처리 기사 실기 실전대비

정보처리 기사 실기 실전대비. 사원번호. 사원등급. 상여금. 거래처등급. 담당이메일. 단가. 수량. 매출액. 이익포인트. 거래포인트. 배달거리. 숫 (6). 문 (1). 숫 (3). 문 (1). 문 (4). 숫 (3). 숫 (3). 숫 (3). 숫 (3). 숫 (3). 숫 (3). 실전문제 -1.

Download Presentation

정보처리 기사 실기 실전대비

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 정보처리 기사 실기실전대비

  2. 사원번호 사원등급 상여금 거래처등급 담당이메일 단가 수량 매출액 이익포인트 거래포인트 배달거리 숫(6) 문(1) 숫(3) 문(1) 문(4) 숫(3) 숫(3) 숫(3) 숫(3) 숫(3) 숫(3) 실전문제-1 문제1) 매출액이 70이상이면서 거래처등급이 ‘A’인 자료에 대해여 (상여금 + 이익포인트)에 따라 내림차순 정렬하였을 때 5번째 자료의 (상여금+이익포인트)를 출력하시오. 단, 동일값 발생시 사원번호에 따라 오름차순 정렬하여 처리하시오(20점) <처리조건> 1. 입력파일 레코드 구조 2. 명령어 인수 : 100, 200 3. 작업경로 : C:\C_it\data 4. 입력파일명(abc11112.txt), 출력파일명(ans1.txt) 5. 프로그램 파일명 : 문제1.frm , 문제1.vbp, 문제1.exe <실행결과> 100 200 172 적용 알고리즘 : 정렬

  3. 실전문제-1 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 사원번호(1000), 상여금(1000), 이익포인트(1000), 금액(1000) Dim 매출액, 거래처등급, 첨자1, 첨자2, 임시, 카운트 Private Sub Form_Initialize() 시작줄 = Val(Left(Command, InStr(Command, " "))) 끝줄 = Val(Mid(Command, InStr(Command, " "))) Open "C:\c_it\data\abc11112.txt" For Input As #1 Open "C:\c_it\data\ans1.txt" For Output As #2 For 레코드번호 = 1 To 끝줄 If 레코드번호 < 시작줄 Then Line Input #1, 현재레코드 Else Line Input #1, 현재레코드 거래처등급 = Mid(현재레코드, 11, 1) ' 매출액과 거래처 등급을 가져옴 매출액 = Val(Mid(현재레코드, 22, 3)) If 매출액 >= 70 And UCase(거래처등급) = "A" Then ' 매출액과 거래처 등급의 조건 판단 카운트 = 카운트 + 1 ' 조건에 만족한 레코드만 배열에 저장 사원번호(카운트) = Val(Left(현재레코드, 6)) 상여금(카운트) = Val(Mid(현재레코드, 8, 3)) 이익포인트(카운트) = Val(Mid(현재레코드, 25, 3)) 금액(카운트) = 상여금(카운트) + 이익포인트(카운트) End If End If Next For 첨자1 = 1 To 카운트 - 1 ' 금액 내림차순, 같으면 사원번호 오름차순 For 첨자2 = 첨자1 + 1 To 카운트 If 금액(첨자1) < 금액(첨자2) Or 금액(첨자1) = 금액(첨자2) And사원번호(첨자1) > 사원번호(첨자2) Then 임시 = 금액(첨자1) : 금액(첨자1) = 금액(첨자2) : 금액(첨자2) = 임시 End If Next Next Print #2, 시작줄, 끝줄, 금액(5) Close #1 Close #2 End Sub

  4. 사원번호 사원등급 상여금 거래처등급 담당이메일 단가 수량 매출액 이익포인트 거래포인트 배달거리 숫(6) 문(1) 숫(3) 문(1) 문(4) 숫(3) 숫(3) 숫(3) 숫(3) 숫(3) 숫(3) 실전문제-2 문제2) 매출액이 70이상이면서 거래처등급이 ‘A’인 자료 중에서 (상여금 + 이익포인트)의 값 중 가장 큰 값을 출력하시오. 단, 동일값 발생시 하나만 출력하시오(20점) <처리조건> 1. 입력파일 레코드 구조 2. 명령어 인수 : 100, 200 3. 작업경로 : C:\C_it\data 4. 입력파일명(abc11112.txt), 출력파일명(ans2.txt) 5. 프로그램 파일명 : 문제2.frm , 문제2.vbp, 문제2.exe <실행결과> 100 200 239 적용 알고리즘 : 최대값

  5. 실전문제-2 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 상여금(1000), 이익포인트(1000), 금액(1000) Dim 매출액, 거래처등급, 카운트, 최대값 Private Sub Form_Initialize() 시작줄 = Val(Left(Command, InStr(Command, " "))) 끝줄 = Val(Mid(Command, InStr(Command, " "))) Open "C:\c_it\data\abc11112.txt" For Input As #1 Open "C:\c_it\data\ans2.txt" For Output As #2 For 레코드번호 = 1 To 끝줄 If 레코드번호 < 시작줄 Then Line Input #1, 현재레코드 Else Line Input #1, 현재레코드 거래처등급 = Mid(현재레코드, 11, 1) 매출액 = Val(Mid(현재레코드, 22, 3)) If 매출액 >= 70 And UCase(거래처등급) = "A" Then 카운트 = 카운트 + 1 상여금(카운트) = Val(Mid(현재레코드, 8, 3)) 이익포인트(카운트) = Val(Mid(현재레코드, 25, 3)) 금액(카운트) = 상여금(카운트) + 이익포인트(카운트) If 최대값 < 금액(카운트) Then ' 금액중 최대값 구하기 최대값 = 금액(카운트) End If End If End If Next Print #2, 시작줄, 끝줄, 최대값 Close #1 Close #2 End Sub

  6. 사원번호 사원등급 상여금 거래처등급 담당이메일 단가 수량 매출액 이익포인트 거래포인트 배달거리 숫(6) 문(1) 숫(3) 문(1) 문(4) 숫(3) 숫(3) 숫(3) 숫(3) 숫(3) 숫(3) 실전문제-3 문제3) 거래처 등급에 따른 특별상여금이 다음 표와 같이 지급된다 거래처등급 특별상여금 A 5 B 15 C 20 위 표를 참조하여 거래포인트가 50인 자료에 대하여 (이익포인트+특별상여금)의 합계를 출력하시오(30점) <처리조건> 1. 입력파일 레코드 구조 2. 명령어 인수 : 100, 200 3. 작업경로 : C:\C_it\data 4. 입력파일명(abc11112.txt), 출력파일명(ans3.txt) 5. 프로그램 파일명 : 문제3.frm , 문제3.vbp, 문제3.exe <실행결과> 100 200 2908 적용 알고리즘 : 누적합계

  7. 실전문제-3 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 거래처등급, 특별상여금, 거래포인트, 이익포인트, 합계 Private Sub Form_Initialize() 시작줄 = Val(Left(Command, InStr(Command, " "))) 끝줄 = Val(Mid(Command, InStr(Command, " "))) Open "C:\c_it\data\abc11112.txt" For Input As #1 Open "C:\c_it\data\ans3.txt" For Output As #2 For 레코드번호 = 1 To 끝줄 If 레코드번호 < 시작줄 Then Line Input #1, 현재레코드 Else Line Input #1, 현재레코드 거래포인트 = Val(Mid(현재레코드, 28, 3)) If 거래포인트 >= 50 Then ' 거래 포인트 50이상인 경우만 처리 이익포인트 = Val(Mid(현재레코드, 25, 3)) ' 이익포인트 불러옴 거래처등급 = Mid(현재레코드, 11, 1) ' 거래처등급에 따른 특별상여금 부여 Select Case UCase(거래처등급) Case "A": 특별상여금 = 5 Case "B": 특별상여금 = 15 Case "C": 특별상여금 = 20 Case else : 특별상여금 = 0 End Select 합계 = 합계 + (특별상여금 + 이익포인트) ' 특별상여금과 이익포인트의 누적합 End If End If Next Print #2, 시작줄, 끝줄, 합계 Close #1 Close #2 End Sub

  8. 사원번호 사원등급 상여금 거래처등급 담당이메일 단가 수량 매출액 이익포인트 거래포인트 배달거리 숫(6) 문(1) 숫(3) 문(1) 문(4) 숫(3) 숫(3) 숫(3) 숫(3) 숫(3) 숫(3) 실전문제-4 문제4) 사원등급에 따른 추가 포인트는 다음 표와 같다. 사원등급 추가포이트 A 5 B 15 C 20 위 표를 참조하여 배달거리가 30이상인 자료에 대하여 (상여금+추가포인트)의 합계를 출력하시오(30점) <처리조건> 1. 입력파일 레코드 구조 2. 명령어 인수 : 100, 200 3. 작업경로 : C:\C_it\data 4. 입력파일명(abc11112.txt), 출력파일명(ans4.txt) 5. 프로그램 파일명 : 문제4.frm , 문제4.vbp, 문제4.exe <실행결과> 100 200 6679 적용 알고리즘 : 누적합계

  9. 실전문제-4 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 사원등급, 추가포인트, 상여금, 배달거리, 합계 Private Sub Form_Initialize() 시작줄 = Val(Left(Command, InStr(Command, " "))) 끝줄 = Val(Mid(Command, InStr(Command, " "))) Open "C:\c_it\data\abc11112.txt" For Input As #1 Open "C:\c_it\data\ans4.txt" For Output As #2 For 레코드번호 = 1 To 끝줄 If 레코드번호 < 시작줄 Then Line Input #1, 현재레코드 Else Line Input #1, 현재레코드 배달거리 = Val(Mid(현재레코드, 31, 3)) If 배달거리 >= 30 Then ' 배달거리가 30이상인 경우만 처리 상여금 = Val(Mid(현재레코드, 8, 3)) ' 이익포인트 불러옴 사원등급 = Mid(현재레코드, 7, 1) ' 거래처등급에 따른 특별상여금 부여 Select Case UCase(사원등급) Case "A“ : 추가포인트 = 5 Case "B“ : 추가포인트 = 15 Case "C“ : 추가포인트 = 20 Case else : 추가포인트 = 0 End Select 합계 = 합계 + (상여금 + 추가포인트) ' 상여금과 추가포인트의 누적합 End If End If Next Print #2, 시작줄, 끝줄, 합계 Close #1 Close #2 End Sub

More Related