책 내용 질문하기
p188 다시질문드립니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
조회수
158
작성일
2017-03-24
작성자
탈퇴*원
첨부파일

말씀하신대로 디버깅 한번 더해보고 질문드립니다

20을 소인수 분해하면 2 2 5 가 나와야하는데

그럼 2가 두번저장되야 합니다.

근데 p189쪽 플로차트에 보면 돌아가는 부분에서 d를 다시 2로 초기화시키고 계산해야하는데

그밑으로 화살표 방향이 되잇어서 초기화를 안시키고 3부터 계산하게되면

2가 저장될수가 없는거 아닙니까?

저는 책의 설명하고 플로차트가 매치가 안된다고 물어본건데

책의 내용이 맞다고 하는건 무슨말인지 모르겟네요

답변
2017-03-27 11:02:03

안녕하세요.

책의 순서도 과정대로 진행하면 결과가 맞게 나온다는 의미입니다.

B에 20이 입력되었다는 가정하에 순서도 디버깅을 진행해 보겠습니다.

B에는 20이 입력됩니다.

C는 0으로 초기화되고

D는 2로 초기화됩니다.

E는 20의 제곱근인 4.xx가 되어 4가 저장됩니다.

D가 E보다 작으므로 ⑥에서 no가 되어

MOK과 NMG를 계산합니다. MOK은 10이되고 NMG는 0이 됩니다.

NMG가 0이므로 ⑩에서 Yes가 되어

C가 1 증가되어 1이 됩니다.

A[1]에 2를 저장합니다.

B와 D가 같지 않으므로 ⑭에서 No가 되어

MOK인 10을 B에 저장합니다.

이제 B는 10이 되었습니다.

그런 다음 ⑤번 이후 과정이 반복됩니다.

E는 10의 제곱근인 3.xx가 되어 3이 저장됩니다.

D가 E보다 작으므로 ⑥에서 no가 되어

MOK과 NMG를 계산합니다. MOK은 5가되고 NMG는 0이 됩니다.

NMG가 0이므로 ⑩에서 Yes가 되어

C가 1 증가되어 2가 됩니다.

A[2]에 2를 저장합니다.

B와 D가 같지 않으므로 ⑭에서 No가 되어

MOK인 5를 B에 저장합니다.

이제 B는 5가 되었습니다.

그런 다음 ⑤번 이후 과정이 반복됩니다.

E는 5의 제곱근인 2.xx가 되어 2가 저장됩니다.

D와 E가 같으므로 ⑥에서 No가 되어

MOK과 NMG를 계산합니다. MOK은 2가되고 NMG는 1이 됩니다.

NMG가 1이므로 ⑩에서 No가 되어

D가 1 증가되어 3이 됩니다.

D가 E보다 크므로 ⑥에서 Yes가 되어

D에 B를 저장합니다. D는 B의 값인 5가 저장됩니다.

C가 1 증가되어 3이 됩니다.

A[3]에 5를 저장합니다.

B와 D가 같으므로 A를 출력합니다.

A 배열의 값 2, 2, 5가 차례로 출력되고 프로그램이 종료됩니다.

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

  • *
    2017-03-27 11:02:03

    안녕하세요.

    책의 순서도 과정대로 진행하면 결과가 맞게 나온다는 의미입니다.

    B에 20이 입력되었다는 가정하에 순서도 디버깅을 진행해 보겠습니다.

    B에는 20이 입력됩니다.

    C는 0으로 초기화되고

    D는 2로 초기화됩니다.

    E는 20의 제곱근인 4.xx가 되어 4가 저장됩니다.

    D가 E보다 작으므로 ⑥에서 no가 되어

    MOK과 NMG를 계산합니다. MOK은 10이되고 NMG는 0이 됩니다.

    NMG가 0이므로 ⑩에서 Yes가 되어

    C가 1 증가되어 1이 됩니다.

    A[1]에 2를 저장합니다.

    B와 D가 같지 않으므로 ⑭에서 No가 되어

    MOK인 10을 B에 저장합니다.

    이제 B는 10이 되었습니다.

    그런 다음 ⑤번 이후 과정이 반복됩니다.

    E는 10의 제곱근인 3.xx가 되어 3이 저장됩니다.

    D가 E보다 작으므로 ⑥에서 no가 되어

    MOK과 NMG를 계산합니다. MOK은 5가되고 NMG는 0이 됩니다.

    NMG가 0이므로 ⑩에서 Yes가 되어

    C가 1 증가되어 2가 됩니다.

    A[2]에 2를 저장합니다.

    B와 D가 같지 않으므로 ⑭에서 No가 되어

    MOK인 5를 B에 저장합니다.

    이제 B는 5가 되었습니다.

    그런 다음 ⑤번 이후 과정이 반복됩니다.

    E는 5의 제곱근인 2.xx가 되어 2가 저장됩니다.

    D와 E가 같으므로 ⑥에서 No가 되어

    MOK과 NMG를 계산합니다. MOK은 2가되고 NMG는 1이 됩니다.

    NMG가 1이므로 ⑩에서 No가 되어

    D가 1 증가되어 3이 됩니다.

    D가 E보다 크므로 ⑥에서 Yes가 되어

    D에 B를 저장합니다. D는 B의 값인 5가 저장됩니다.

    C가 1 증가되어 3이 됩니다.

    A[3]에 5를 저장합니다.

    B와 D가 같으므로 A를 출력합니다.

    A 배열의 값 2, 2, 5가 차례로 출력되고 프로그램이 종료됩니다.

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

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