1) 1권 약수 구하기의 p.186 순서도와 p.541 디버깅에서는 D가 0부터 시작인데, 답안지의 답은 왜③번 칸 D=D+1, ④번 칸 A[D]=C 인지 궁금합니다.답안지처럼하면 A[1]부터 시작하는 거 아닌가요??? ③과 ④이 서로 바뀌어야 A[0]부터 시작하지 않나요???
2) 위 문제의 p. 187 C언어코드부문에서는 D가-1부터 시작인데, 왜 순서도나 답안지와 다른건가요?
3)1권 소인수분해하기의 p.189의 순서도와 p.542의 디버깅에서는 C가 0부터 시작이고, p.190의 C언어코드부문에서는 -1부터 시작인 이유 무엇때문인가요??
다른 분이 올린 질문에 달린 답변 읽어봤는데, 이해가 안되서 올려요ㅠㅠ 디버깅하듯이 자세한 설명 부탁드립니다ㅜㅜ
안녕하세요.
Section 020의 내용은 배열의 위치가 1부터 시작합니다.
그러므로 D는 0으로 초기화 되었지만
D = D + 1에 의해 D가 1 증가된 후 A[D] = C가 수행되므로 A[1]에 첫 번째 인수가 저장됩니다.
순서도의 배열의 위치는 1 또는 0부터 시작할 수 있으므로 처리조건에 배열의 위치에 대한 내용이 제시됩니다.
혹 제시되지 않는다면 배열의 첨자 변수의 변화를 살펴보면서 0부터 시작인지 1부터 시작인지 파악해야 할 수도 있습니다.
이에 비해 C나 Java는 배열의 위치가 0부터 시작하는 것으로 고정되었습니다. 그러므로 C나 Java는 반드시 배열의 위치가 0부터 시작해야 합니다. 이점 구분해서 알아두세요.
오늘도 즐거운 하루 되세요.
-
*2017-06-21 09:45:45
안녕하세요.
Section 020의 내용은 배열의 위치가 1부터 시작합니다.
그러므로 D는 0으로 초기화 되었지만
D = D + 1에 의해 D가 1 증가된 후 A[D] = C가 수행되므로 A[1]에 첫 번째 인수가 저장됩니다.
순서도의 배열의 위치는 1 또는 0부터 시작할 수 있으므로 처리조건에 배열의 위치에 대한 내용이 제시됩니다.
혹 제시되지 않는다면 배열의 첨자 변수의 변화를 살펴보면서 0부터 시작인지 1부터 시작인지 파악해야 할 수도 있습니다.
이에 비해 C나 Java는 배열의 위치가 0부터 시작하는 것으로 고정되었습니다. 그러므로 C나 Java는 반드시 배열의 위치가 0부터 시작해야 합니다. 이점 구분해서 알아두세요.
오늘도 즐거운 하루 되세요.