책 내용 질문하기
최신기출문제 16년1회1급E형 엑셀
도서
2021 시나공 컴퓨터활용능력 1급 실기
페이지
0
조회수
319
작성일
2022-09-06
작성자
탈퇴*원
첨부파일

2 -3 사용자 지정 함수 문제 질문드립니다!

 

Public Function fn기타(반영점수)

If 반영점수 >= 10 Then

For a = 1 To 반영점수 / 10

fn기타 = fn기타 & "■"

Next a

Else

fn기타 = "노력요함"

End If

 

End Function



답이 이건데 

fn기타 = fn기타 & "■"  이 부분이 이해가 가지 않아서요

자세하게 설명해주시면 정말 감사하겠습니다 ㅜㅜ

답변
2022-09-08 09:56:26

a가 1일때 fn기타에는 아무것도 입력되어 있지 않다고 보시면 됩니다. 초기값을 지정하지 않으면 기본적으로 빈 값이라고 보면 됩니다.

&는 텍스트와 텍스트를 연결해주는 연산자입니다.

 

 

fn기타 = fn기타 & "■"

a가 1일때 실행하면 아무것도 입력되어 있지 않은 fn기타의 값과 "■"를 연결하여 fn기타에 넣으므로, fn기타에는 "■"가 들어가 있습니다.

a가 2일때 실행하면 fn기타에 입력되어 있던 "■"에 "■"를 연결하여 fn기타에 저장하므로 "■■"가 됩니다.

a가 3일때 실행하면 fn기타에 입력되어 있던 "■■"에 "■"를 연결하여 fn기타에 저장하므로 "■■■"가 됩니다.

 

조금더 풀어서 설명 하는 내용은 아래에 있으니 확인해 주세요. 

 

함수는 처음 정의가 되면 어떠한 값도 가지지 않는 상태가 됩니다.

 

'fn기타' 라고 위에서 정의하고 아무 값도 입력하지 않았다면

'fn기타'의 함숫값은 결국 비어있게 됩니다.

 

일반적으로 수식을 사용하는 경우에는

단순히 Rept(문자,개수)함수를 입력하면 되겠지만

 

프로시저로 작성 할 경우에는 직접 반복하여 문자를 넣어 주어야 합니다.

 

fn기타=fn기타 &  "■"

 

일단 간단하게 프로시저의 특징을 말하자면

 

프로시저에서는 숫자와 변수는 구분 기호("",&)없이 사용이 가능합니다.

다만 직접 문자를 입력해야 할 경우는 구분 기호를 반드시사용해야합니다.

 

만약 For문이 10번 반복 된다고 해봅시다.

fn기타=fn기타& "■"

저 문장의 의미는 fn기타의 함숫값에 네모 문자를 붙여서 표시 하겠다는 의미가 됩니다.

그러면 저 수식이 끝나면 fn기타의 값은 ■가 되겠죠?

왜냐하면 현재는 fn기타에 아무 값이 없기 때문에

네모를 붙여 표시해도 네모가 값이 되는거죠.

 

다음으로 갑니다

For문이 총 10번째 중에서 2번째로 반복되는중일때입니다.

fn기타=fn기타 &  "■"

다시 이수식을 만나게 될 겁니다.

방금 말했듯이 저 수식은 자신의 함숫값에 네모를 붙여 표시한다는 의미죠?

그럼 현재 fn기타의 값은 ■이니 거기에다가 네모를 붙이면 값은 ■■ 가 되겠네요?

 

이런식으로 10번을 반복하면?

값은 ■■■■■■■■■■ 가 되겠죠?

 

일단 어떠한 값을 추가로 붙여 표현하기 위해서는 &기호를 사용해야 합니다.

만약 fn기타"■"라고 쓰면 에러가 납니다

fn기타 까지는 함수 값인데 아무런 연결 없이 바로 "■"라는 값이 옆에 있으니까요.

그래서 함수의 값과 문자를 별도로 구별하기 위해 프로시저에서는

&라는 기호로 연결해주게 됩니다.

 

좋은 하루 되세요. 

  • 관리자
    2022-09-08 09:56:26

    a가 1일때 fn기타에는 아무것도 입력되어 있지 않다고 보시면 됩니다. 초기값을 지정하지 않으면 기본적으로 빈 값이라고 보면 됩니다.

    &는 텍스트와 텍스트를 연결해주는 연산자입니다.

     

     

    fn기타 = fn기타 & "■"

    a가 1일때 실행하면 아무것도 입력되어 있지 않은 fn기타의 값과 "■"를 연결하여 fn기타에 넣으므로, fn기타에는 "■"가 들어가 있습니다.

    a가 2일때 실행하면 fn기타에 입력되어 있던 "■"에 "■"를 연결하여 fn기타에 저장하므로 "■■"가 됩니다.

    a가 3일때 실행하면 fn기타에 입력되어 있던 "■■"에 "■"를 연결하여 fn기타에 저장하므로 "■■■"가 됩니다.

     

    조금더 풀어서 설명 하는 내용은 아래에 있으니 확인해 주세요. 

     

    함수는 처음 정의가 되면 어떠한 값도 가지지 않는 상태가 됩니다.

     

    'fn기타' 라고 위에서 정의하고 아무 값도 입력하지 않았다면

    'fn기타'의 함숫값은 결국 비어있게 됩니다.

     

    일반적으로 수식을 사용하는 경우에는

    단순히 Rept(문자,개수)함수를 입력하면 되겠지만

     

    프로시저로 작성 할 경우에는 직접 반복하여 문자를 넣어 주어야 합니다.

     

    fn기타=fn기타 &  "■"

     

    일단 간단하게 프로시저의 특징을 말하자면

     

    프로시저에서는 숫자와 변수는 구분 기호("",&)없이 사용이 가능합니다.

    다만 직접 문자를 입력해야 할 경우는 구분 기호를 반드시사용해야합니다.

     

    만약 For문이 10번 반복 된다고 해봅시다.

    fn기타=fn기타& "■"

    저 문장의 의미는 fn기타의 함숫값에 네모 문자를 붙여서 표시 하겠다는 의미가 됩니다.

    그러면 저 수식이 끝나면 fn기타의 값은 ■가 되겠죠?

    왜냐하면 현재는 fn기타에 아무 값이 없기 때문에

    네모를 붙여 표시해도 네모가 값이 되는거죠.

     

    다음으로 갑니다

    For문이 총 10번째 중에서 2번째로 반복되는중일때입니다.

    fn기타=fn기타 &  "■"

    다시 이수식을 만나게 될 겁니다.

    방금 말했듯이 저 수식은 자신의 함숫값에 네모를 붙여 표시한다는 의미죠?

    그럼 현재 fn기타의 값은 ■이니 거기에다가 네모를 붙이면 값은 ■■ 가 되겠네요?

     

    이런식으로 10번을 반복하면?

    값은 ■■■■■■■■■■ 가 되겠죠?

     

    일단 어떠한 값을 추가로 붙여 표현하기 위해서는 &기호를 사용해야 합니다.

    만약 fn기타"■"라고 쓰면 에러가 납니다

    fn기타 까지는 함수 값인데 아무런 연결 없이 바로 "■"라는 값이 옆에 있으니까요.

    그래서 함수의 값과 문자를 별도로 구별하기 위해 프로시저에서는

    &라는 기호로 연결해주게 됩니다.

     

    좋은 하루 되세요. 

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