상담문의

ㆍ HOME > 상담문의 > 정보처리기사 실기
제 목 첫번째 문제 소스입니다.
글쓴이  권우석작성일 2005-04-01조회수 848
글공유
게시글을 twitter로 보내기게시글을 facebook으로 보내기게시글을 Me2Day로 보내기게시글을 요즘으로 보내기

문제가 난이도가 있네요...실제로 출제되기는 어렵겠습니다. (수준이 상당하시네요.^^)



문제 풀이의 핵심은 공장코드별 합계를 구하는 거죠...



우리는 일반적으로 A일때 B일때 이런식으로 표처리를 많이 했는데...어떤 문자가 올지 모르니 IF문,Select문을 이용해서 모든 문자에 대해 조건을 처리하기는 어렵습니다. 그럼...어떻게 해결해야 할까요? 내장함수를 하나더 공부하셔야 합니다. 뭐냐하면...



문자를 아스키코드값(정수)으로 변환하는 내장함수입니다.=>Asc()



그리고, 또 하나는 문제가 최대값을 구하라는 문제이지만 정렬로 풀이 하셔야 합니다.



왜냐하면,....배열변수에 저장하고 그 값들 중에서 최대값을 구해야 하므로 최대값을 구하라고 하면 배열변수를 내림차순하고 첫번째 값을 출력하면 됩니다. 그리고 최소값은 오름차순후 첫번째 값을 출력하면 되겠죠^^ 이해가 되시는지...



문자별 아스키코드값은 자료실에 올려놓겠습니다. 참고하세요. 그럼 소스 들어갑니다.^^



Option Explicit



Sub main()



    ''''필수 변수 선언
    Dim 인수1, 인수2, i, 버퍼 As Variant
   
    ''''핵심 변수 선언
    Dim 단가, 공장코드, 매출액(1000), j, Temp, Num As Variant
   
    ''''인수 처리
    인수1 = Val(Left(Command, InStr(Command, " ")))
    인수2 = Val(Mid(Command, InStr(Command, " ")))
   
    ''''입력 파일 처리
    Open "c:\c_it\data\abc0005.txt" For Input As #1
   
        For i = 1 To 인수2
            Line Input #1, 버퍼
            If i >= 인수1 Then
           
                ''''변수 저장
                단가 = Val(Mid(버퍼, 12, 3))
                공장코드 = Trim(Mid(버퍼, 18, 1))
               
                ''''공장코드별 매출액 합계 (공장코드를 아스키코드값으로 변환하여 배열변수 위치를 정함)
                ''''Asc() 는 문자의 아스키코드값을 반환함.
                If 단가 >= 30 Then
                    Num = Asc(공장코드)
                    매출액(Num) = 매출액(Num) + Val(Mid(버퍼, 26, 3))
                End If
               
            End If
        Next i
       
        ''''매출액 배열변수 중에서 내림차순 정렬후 첫번째값을 출력하면 됨=>매출액(1)
        ''''정렬(매출액 내림차순) 주의:Num번째까지가 아니라 1,000번째 까지입니다.
        For i = 1 To 1000
            For j = i To 1000
           
                If 매출액(i) < 매출액(j) Then
                   
                    Temp = 매출액(i)
                    매출액(i) = 매출액(j)
                    매출액(j) = Temp
                   
                End If
               
            Next j
        Next i
    Close #1
   
    ''''출력 파일 처리
    Open "c:\c_it\data\ans1.txt" For Output As #2
       
        Print #2, 인수1, 인수2, 매출액(1)
       
    Close #2
End Sub

댓글쓰기 :
이전글 2번째문제입니다,,,,,명쾌한 답변감사합니다(100%이해) ^^
다음글 문제가 안 풀려여..ㅠ.ㅠ
고객지원센터

02-556-3650

평일 9:00~18:00

일요일 공휴일 휴무

계좌번호안내

농협은행 724-01-173541

국민은행 633601-04-044665

예금주 (주)조은캠프

상호명 : (주)조은캠프 ㅣ 대표이사 : 이유락 ㅣ 대구광역시 북구 대학로80 경북대학교 IT융합산업빌딩 11층
사업자번호 : 504-81-62507 ㅣ 본사 : 053-954-0030 ㅣ 기술지원 : 070-7019-1144 ㅣ 팩스 : 050-7711-2200 ㅣ 
원격평생교육시설13호 ㅣ 출판사 : 345-2005-00013 ㅣ 통신판매업 : 2005-대구북구-00158 ㅣ 정보보호책임자 : 김창연  
기사친구는 SSL보안방식의 암호화구간을 적용하여 사이트를 안전하게 이용하실 수 있습니다.
COPYRIGHT 2005 (주)조은캠프 ALL RIGHTS RESERVED.관리자에게 메일보내기