| | | 제 목 | 2005년 5월 11일 오후 정보처리기사 실기 문제 2번 소스가... | | | 글쓴이 | 이성우 | 작성일 | 2005-07-05 | 조회수 | 514 | | | 글공유 | |
| | | >>>>2005년 5월 11일 오후 정보처리기사 실기 문제 2번 소스 풀이가 이상해서 이렇게 몇 자 적어봅니다.
먼저 문제부터 살펴보면,
문제 2】 회원구분의 첫 번째값이 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''0''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''도 아니고 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''1''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''도 아닌 자료에 대하여 (예약수량 × 예약금액)에 따라 오름차순 정렬하여 첫번째 자료의 (예약수량 × 예약금액)를 출력하시오. 동일값 발생시는 한번만 출력하시오.(20점)
그 다음 밑줄 친 부분의 올려진 소스는 다음과 같습니다.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''배열변수 구하기 If 회원구분 <> "0" And 회원구분 <> "1" Then Num = Num + 1 합계(Num) = 예약수량 * 예약금액 End If
그런데 논리상 회원구분의 첫 번째 값이 0도 아니고 1도 아닌 자료는 존재할 수 없잖아요. 따라서, 위의 소스는 다음과 같이 고쳐져야 하는 것 아닌가요?
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''배열변수 구하기 If 회원구분 <> "0" Or 회원구분 <> "1" Then Num = Num + 1 합계(Num) = 예약수량 * 예약금액 End If
---------------------------------------------------------------------------
제 생각은 AND가 맞다는 생각이 드네요. 첫번째 자리라면 0~9까지가 됩니다.
0도 아니고 1도 아니라면 2~9까지의 값을 가질 때 IF문을 수행하라는 얘기입니다.
근데 여기서 OR가 되면 0과 1 둘중에 하나만 아니면 IF문을 수행하게 되지 않을까요?
0을 만족하면 1~9까지의 값을 가질테고 1을 만족하면 0,2~9까지의 값을 가지겠지요.
0을 먼저 선언했어니 1~9까지의 값을 가질 때 IF문을 수행하게 될꺼 같습니다.
근데 주어진 문제에서는 2~9 일 때 수행하라고 했어니 당연히 값이 틀리게 나올꺼구요.
OR로 생각하니까 0,2~9 인지 1~9 인지... 둘 중에 어떤 조건일 때 수행할까요?? 저는
이게 더 헷갈리는데요.ㅡㅡ;;
-> 제 생각은 다음과 같습니다.
1. If 회원구분 <> "0" And 회원구분 <> "1" Then 의 경우
만약, 회원구분이 0이라면 if 문 실행 회원구분이 1이라면 if 문 실행 동시에 회원구분이 0과 1을 가진 값은 없기때문에
2. If 회원구분 <> "0" Or 회원구분 <> "1" Then 의 경우
만약, 회원구분이 0이라면 if 문 무시 회원구분이 1이라면 if 문 무시 하나라도 만족하기 때문에...
| |
|
|