책 내용 질문하기
부록 163 페이지 사용자 정의 함수
도서
2019 시나공 컴퓨터활용능력 1급 실기
페이지
143
조회수
478
작성일
2019-08-28
작성자
탈퇴*원
첨부파일

 

소득공제가 "일반의료비"인 경우에는 관계가 "본인" 또는 "자" 또는"처" 이면 금액의 80%를,

아니면 금액의 50%을 계산하여 표시, 소득공제가 "일반의료비"가 아닌 경우에는 0으로 표시

 

 

라는 질문에서

 

해답지에는

===========================================================================================

 Public Function fn의료비보조(관계, 소득공제, 금액) 

If 소득공제 = "일반의료비" Then

if  관계 = "본인" Or 관계 = "자" Or 관계 = "처" Then
        fn의료비보조 = 금액 * 0.8
    Else
        fn의료비보조 = 금액 * 0.5
    End If
    
    
 Else

    fn의료비보조 = 0

 

End If

End Function

===========================================================================================

 

이렇게 답이 나와있는데요

제가 적은 답은 아래와 같아요


 ===========================================================================================
 Public Function fn의료비보조(관계, 소득공제, 금액)
 
    If 소득공제 = "일반의료비" And (관계 = "본인" Or 관계 = "자" Or 관계 = "처") Then
        fn의료비보조 = 금액 * 0.8
    Else
        fn의료비보조 = 금액 * 0.5
    End If
   
   
    If 소득공제 <> "일반의료비" Then
        fn의료비보조 = 0
    End If

 End Function

===========================================================================================

 

이렇게 if문을 두개 써서 적거나 해답지와 다르게 적었을 경우 틀리는 건지 부분점수를 받을 수 있는 건지 궁금합니다

 

참고로 답은 똑같이 나오더라구요
 

답변
2019-08-29 21:03:46

안녕하세요.

 

부분점수는 없구요.

 

If 소득공제 = "일반의료비" And (관계 = "본인" Or 관계 = "자" Or 관계 = "처") Then
        fn의료비보조 = 금액 * 0.8
    Else
        fn의료비보조 = 금액 * 0.5
    End If

 

에서 이미 "일반의료비"가 아닌 경우 금액*0.5로 처리된 것입니다.

 

 If 소득공제 <> "일반의료비" Then
        fn의료비보조 = 0
    End If

으로 중복 처리한 것이라서 논리상으로는 맞지 않습니다.

 

보통은

프로시저 코드는 다양한 답이 존재할 수 있으므로

문제 지시사항에 위배되지 않고 결과가 정확하다면 정답으로 인정됩니다.

 

이 경우에는 정답으로 인정될지 100% 확신할 수 없을 것 같습니다.

채점 기준이 정확히 명시되어 있지 않아 판단이 어려운 점 양해 부탁드립니다.

 

좋은 하루 보내세요. 

  • 관리자
    2019-08-29 21:03:46

    안녕하세요.

     

    부분점수는 없구요.

     

    If 소득공제 = "일반의료비" And (관계 = "본인" Or 관계 = "자" Or 관계 = "처") Then
            fn의료비보조 = 금액 * 0.8
        Else
            fn의료비보조 = 금액 * 0.5
        End If

     

    에서 이미 "일반의료비"가 아닌 경우 금액*0.5로 처리된 것입니다.

     

     If 소득공제 <> "일반의료비" Then
            fn의료비보조 = 0
        End If

    으로 중복 처리한 것이라서 논리상으로는 맞지 않습니다.

     

    보통은

    프로시저 코드는 다양한 답이 존재할 수 있으므로

    문제 지시사항에 위배되지 않고 결과가 정확하다면 정답으로 인정됩니다.

     

    이 경우에는 정답으로 인정될지 100% 확신할 수 없을 것 같습니다.

    채점 기준이 정확히 명시되어 있지 않아 판단이 어려운 점 양해 부탁드립니다.

     

    좋은 하루 보내세요. 

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.