책 내용 질문하기
for~next 문 ㅠㅠ
도서
2017 시나공 컴퓨터활용능력 1급 실기(엑셀,액세스 2007사용자용)
페이지
171
조회수
144
작성일
2018-01-31
작성자
탈퇴*원
첨부파일

2016년 1회 컴활 1급 실기 엑셀 E형

계산작업 문제에서요 (부록171쪽)

Public Function fn기타(반영점수)

If 반영점수 >= 10 Then
For a = 1 To 반영점수 / 10
fn기타 = fn기타 & "■"
Next a
Else
fn기타 = "노력요함"
End If
End Function

1에서 반영점수/10 까지 반복하는건 알겠는데

저기 fn기타=fn기타& "■" 를 왜 이렇게 쓰는지 모르겠어요 ㅠㅠ

그냥 fn기타="■" 이렇게 쓰면 안되나요?

왜 하필 fn기타& 이걸 붙이는 거죠?ㅠㅠ

답변
2018-01-31 23:31:42

밤에 잠이 오지 않아

시나공카페를 둘러보던중 질문이 있길래

시나공 운영자분대신에 답변드리겠습니다.

일단 For문의 구조는 이해하셨군요!

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

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

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

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

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

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

fn기타=fn기타& "■"

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

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

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

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

fn기타=fn기타& "■"

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

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

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

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

다음으로 갑니다

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

fn기타=fn기타& "■"

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

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

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

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

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

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

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

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

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

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

질문자님이 계속착각하는 부분은

책에도 설명이 되어있지만 추가 설명해드릴게요.

질문자님은

fn기타 = "■" 가 맞는 표현아닌가?

생각하시는거죠?

하지만 저의미는 그저 fn기타 값에다가 ■값을 대입한다는 의미입니다.

For문으로 반복시켜봤자 계속 네모만 대입하면 결국

아무리 반복해도 값은 ■한개만 표시될겁니다.

그래서 앞에다가 자신의값에다가 네모를추가하라는 의미로

fn기타&

을 붙이는 겁니다.

그래야 자신이 가지고있는 네모의개수에 계속 추가적으로 네모를

더할 수 있게되니까요!

부족한 지식이었지만 도움이 되었길바랍니다.

  • *
    2018-01-31 23:31:42

    밤에 잠이 오지 않아

    시나공카페를 둘러보던중 질문이 있길래

    시나공 운영자분대신에 답변드리겠습니다.

    일단 For문의 구조는 이해하셨군요!

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

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

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

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

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

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

    fn기타=fn기타& "■"

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

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

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

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

    fn기타=fn기타& "■"

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

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

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

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

    다음으로 갑니다

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

    fn기타=fn기타& "■"

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

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

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

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

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

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

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

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

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

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

    질문자님이 계속착각하는 부분은

    책에도 설명이 되어있지만 추가 설명해드릴게요.

    질문자님은

    fn기타 = "■" 가 맞는 표현아닌가?

    생각하시는거죠?

    하지만 저의미는 그저 fn기타 값에다가 ■값을 대입한다는 의미입니다.

    For문으로 반복시켜봤자 계속 네모만 대입하면 결국

    아무리 반복해도 값은 ■한개만 표시될겁니다.

    그래서 앞에다가 자신의값에다가 네모를추가하라는 의미로

    fn기타&

    을 붙이는 겁니다.

    그래야 자신이 가지고있는 네모의개수에 계속 추가적으로 네모를

    더할 수 있게되니까요!

    부족한 지식이었지만 도움이 되었길바랍니다.

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