책 내용 질문하기
질문좀드릴게요
도서
2017 시나공 정보처리기능사 실기
페이지
221
조회수
241
작성일
2016-09-21
작성자
탈퇴*원
첨부파일

p.221에서 1씩 증가한다는 말이 To에 포함되어서 안 써도 되는 것인가요?

p.223은 전체적으로 이해가 안갑니다.

M= 56781234 라고 가정하고 풀어볼게요

56,781,234 = 총 10자리라서 S(10)으로 해놓은것같고

A(10)은 무엇을 의미하는것인지 모르겠네요 0~9가 들어갈 거라는데 S(10)에 대한 설명이 아닌가요?

i+1을 4로 나눈 나머지가 0이면 쉼표를 입력하러 가라는데, i가 쉼표를 넣는 용도로 쓰인다는 것 말고는 정말 하나도 이해가 안갑니다.. 앞에서 세번째? 뒤에서 세번째???

천 단위마다 콤마를 표시하라는데 3으로 나눠야되는거 아닌가

아니면 i가 M의 숫자 개수를 말하는건가 그것도 아닌것같고

K가 뭔지도 모르겠고

그리고 K에 M을 10으로 나눈 나머지를 대입해야 되는 이유를 모르겠습니다. 56781234를 10으로 나누면 나머지가 4인데, S(1)에 A(4)를 넣는다는 것이 무슨 의미인지

그리고 M을 10으로 나눠서 5678123를 다시 M에 넣고..

S(2)에 A(3)을 넣는다..?

몇 시간째 붙들고 있는데 이해가 도저히 안가네요

저는 이런거 정말 이해가 안갑니다 알기 쉽게 설명해주시면 감사하겠습니다

//
시험에서 곱하기 연산자를 *로만 해야되나요? 아니면 X로 해도 되나요?

답변
2016-09-22 09:24:43

안녕하세요.

1)

반복문에서 증가값이 생략된 경우에는 기본적으로 1이 증가합니다.

2)

배열 A는 0부터 시작하고 제시된 값으로 초기화되었다고 하였으므로

A(0)에는 0이 A(1)에는 1이 ... A(8)에는 8이, A(9)에는 9가 저장된 상태로 작업이 진행됩니다.

과정을 자세하게 살펴보겠습니다.

만일 1234라는 값이 입력되었다면 0번째 배열부터

S(0) = ,

S(1) = 4

S(2) = 3

S(3) = 2

S(4) = ,

S(5) = 1

,432,1이 저장됩니다.

그런 다음 출력할 때는 마지막 위치에서 부터 S(1)까지만 출력합니다, S(0)은 처리 과정상 필요한 형식상의 과정이므로 출력에서는 제외합니다.

그래서 1,234, 가 아니라 1,234 가 출력됩니다.

또한 M%10의 과정은 배열에 값을 저장하기 위한 과정으로

i % 4에 의해 i가 0일 때 나머지가 0이 되므로 S(0)에 ,가 저장된 후 i가 증가합니다.

M/10에 의해 1234 / 10의 몫인 123이 다시 M에 저장되고 나머지인 4는 배열 S(1)에 저장됩니다.

그런 다음 i가 증가합니다.

위로 이동 후 M이 0이 아니므로 반복하여

i % 4에 의해 i가 2일 때 나머지가 2가 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.

M/10에 의해 123 / 10의 몫인 12가 다시 M에 저장되고 나머지인 3은 배열 S(2)에 저장됩니다.

그런 다음 i가 증가합니다.

위로 이동 후 M이 0이 아니므로 다시 반복하여

i % 4에 의해 i가 3일 때 나머지가 3이 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.

M/10에 의해 12 / 10의 몫인 1이 다시 M에 저장되고 나머지인 2는 배열 S(3)에 저장됩니다.

그런 다음 i가 증가합니다.

위로 이동 후 M이 0이 아니므로 다시 반복하여

i % 4에 의해 i가 4일 때 나머지가 0이 되므로 S(4)에 ,가 저장된 후 i가 증가합니다.

M/10에 의해 1 / 10의 몫인 0이 다시 M에 저장되고 나머지인 1은 배열 S(5)에 저장됩니다.

그런 다음 i가 증가합니다.

위로 이동 후 M이 0이므로 변환 과정을 끝내고 오른쪽의 출력 과정을 수행합니다.

현재 i가 6이므로

i=i-1에 의해 i는 5가 됩니다.

i > 0 에서 Yes이므로 S(5), 즉 1을 출력합니다.

i=i-1에 의해 i는 4가 됩니다.

반복하여

i > 0 에서 Yes이므로 S(4), 즉 ,를 출력합니다.

i=i-1에 의해 i는 3가 됩니다.

반복하여

i > 0 에서 Yes이므로 S(3), 즉 2를 출력합니다.

i=i-1에 의해 i는 2가 됩니다.

반복하여

i > 0 에서 Yes이므로 S(2), 즉 3을 출력합니다.

i=i-1에 의해 i는 1이 됩니다.

반복하여

i > 0 에서 Yes이므로 S(1), 즉 4을 출력합니다.

i=i-1에 의해 i는 0이 됩니다.

반복하여

i > 0 에서 No이므로 종료됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2016-09-22 09:24:43

    안녕하세요.

    1)

    반복문에서 증가값이 생략된 경우에는 기본적으로 1이 증가합니다.

    2)

    배열 A는 0부터 시작하고 제시된 값으로 초기화되었다고 하였으므로

    A(0)에는 0이 A(1)에는 1이 ... A(8)에는 8이, A(9)에는 9가 저장된 상태로 작업이 진행됩니다.

    과정을 자세하게 살펴보겠습니다.

    만일 1234라는 값이 입력되었다면 0번째 배열부터

    S(0) = ,

    S(1) = 4

    S(2) = 3

    S(3) = 2

    S(4) = ,

    S(5) = 1

    ,432,1이 저장됩니다.

    그런 다음 출력할 때는 마지막 위치에서 부터 S(1)까지만 출력합니다, S(0)은 처리 과정상 필요한 형식상의 과정이므로 출력에서는 제외합니다.

    그래서 1,234, 가 아니라 1,234 가 출력됩니다.

    또한 M%10의 과정은 배열에 값을 저장하기 위한 과정으로

    i % 4에 의해 i가 0일 때 나머지가 0이 되므로 S(0)에 ,가 저장된 후 i가 증가합니다.

    M/10에 의해 1234 / 10의 몫인 123이 다시 M에 저장되고 나머지인 4는 배열 S(1)에 저장됩니다.

    그런 다음 i가 증가합니다.

    위로 이동 후 M이 0이 아니므로 반복하여

    i % 4에 의해 i가 2일 때 나머지가 2가 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.

    M/10에 의해 123 / 10의 몫인 12가 다시 M에 저장되고 나머지인 3은 배열 S(2)에 저장됩니다.

    그런 다음 i가 증가합니다.

    위로 이동 후 M이 0이 아니므로 다시 반복하여

    i % 4에 의해 i가 3일 때 나머지가 3이 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.

    M/10에 의해 12 / 10의 몫인 1이 다시 M에 저장되고 나머지인 2는 배열 S(3)에 저장됩니다.

    그런 다음 i가 증가합니다.

    위로 이동 후 M이 0이 아니므로 다시 반복하여

    i % 4에 의해 i가 4일 때 나머지가 0이 되므로 S(4)에 ,가 저장된 후 i가 증가합니다.

    M/10에 의해 1 / 10의 몫인 0이 다시 M에 저장되고 나머지인 1은 배열 S(5)에 저장됩니다.

    그런 다음 i가 증가합니다.

    위로 이동 후 M이 0이므로 변환 과정을 끝내고 오른쪽의 출력 과정을 수행합니다.

    현재 i가 6이므로

    i=i-1에 의해 i는 5가 됩니다.

    i > 0 에서 Yes이므로 S(5), 즉 1을 출력합니다.

    i=i-1에 의해 i는 4가 됩니다.

    반복하여

    i > 0 에서 Yes이므로 S(4), 즉 ,를 출력합니다.

    i=i-1에 의해 i는 3가 됩니다.

    반복하여

    i > 0 에서 Yes이므로 S(3), 즉 2를 출력합니다.

    i=i-1에 의해 i는 2가 됩니다.

    반복하여

    i > 0 에서 Yes이므로 S(2), 즉 3을 출력합니다.

    i=i-1에 의해 i는 1이 됩니다.

    반복하여

    i > 0 에서 Yes이므로 S(1), 즉 4을 출력합니다.

    i=i-1에 의해 i는 0이 됩니다.

    반복하여

    i > 0 에서 No이므로 종료됩니다.

    오늘도 즐거운 하루 되세요.

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