상담문의

ㆍ HOME > 상담문의 > 정보처리기사 실기
제 목 배열변수 선언할 때 어떻게 선택하나요..?
글쓴이  전대균작성일 2004-05-11조회수 397
글공유
게시글을 twitter로 보내기게시글을 facebook으로 보내기게시글을 Me2Day로 보내기게시글을 요즘으로 보내기

기사 5월11일 기출 고급형문제입니다.



문제 1】 (예약수량 * 예약금액)의 값이 7000000 이상인 자료에 대하여 지불금액에 따라  오름차순 정렬하였을 때 마지막자료의 예약일자를 출력하시오. 동일값 발생시 일련번호에 따라 오름차순 정렬하여 처리하시오



중고급형은 배열변수를 직접 추출하던데 그 이유가 무엇이며(배열변수 구하기 칸을 따로 만들어서 구하는 이유가 무엇인가요?)



위 문제에서 직접 추출해야할 배열변수의 선정조건은 무엇인가요?(코딩에 보면 뚜껍게 된 부분입니다)



초.중.고급형을 다 해보니 그 차이를 조금 알겠네요..중급부터 건수를 구하라는 문제도



나오고 조건이 조금 까다로운듯 싶네요...고급형도 그러면 결국 문제 1번(정렬)문제만



어렵게 나오는건가여....?   질문이 조금 두서없네요..



Sub main()



    ''''필수 변수 선언
    Dim 인수1, 인수2, i, 버퍼 As Variant
   
    ''''핵심 변수 선언
    Dim 예약수량, 예약금액, 지불금액(1000), 예약일자(1000), 일련번호(1000), j, Temp, Num As Variant
   
    ''''인수 처리
    인수1 = Val(Left(Command, InStr(Command, " ")))
    인수2 = Val(Mid(Command, InStr(Command, " ")))
   
    ''''입력 파일 처리
    Open "c:\c_it\data\san0105.txt" For Input As #1
   
        For i = 1 To 인수2
            Line Input #1, 버퍼
            If i >= 인수1 Then
           
                ''''변수 저장
                예약수량 = Val(Mid(버퍼, 18, 5))
                예약금액 = Val(Mid(버퍼, 23, 10))
               
                ''''배열변수 구하기
                If 예약수량 * 예약금액 >= 7000000 Then
                    Num = Num + 1
                    지불금액(Num) = Val(Mid(버퍼, 48, 10))
                    예약일자(Num) = Trim(Mid(버퍼, 8, 10))
                    일련번호(Num) = Trim(Mid(버퍼, 1, 7))
                End If
               
            End If
        Next i
               
        ''''정렬(지불금액 오름차순 or (지불금액 같음 and 일련번호 오름차순))
        For i = 1 To Num
            For j = i To Num
           
                If 지불금액(i) > 지불금액(j) Or _
                    (지불금액(i) = 지불금액(j) And 일련번호(i) > 일련번호(j)) Then
                   
                    Temp = 지불금액(i)
                    지불금액(i) = 지불금액(j)
                    지불금액(j) = Temp
                   
                    Temp = 예약일자(i)
                    예약일자(i) = 예약일자(j)
                    예약일자(j) = Temp
                   
                    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, 예약일자(Num)
       
    Close #2
   
End Sub

댓글쓰기 :
이전글 배열변수 선언할 때 어떻게 선택하나요..?
다음글 문제가 안 풀려여..ㅠ.ㅠ
고객지원센터

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.관리자에게 메일보내기