SECTION 18 풀다가 헷갈리는 문제가 생겼습니다.
순서도에서 배열을 사용할 때는 무조건 1에서 시작하잖아요?
그런데 C언어에서는 무조건 배열은 0 부터 시작하는 건가요?
여기 순서도에서 i=0으로 했다가 다음에 i=i+1하는 과정들과
옆에 C언어 코드에서는 i= -1로 해주었다가 다음에 i++ 이런 과정들이 혼란이 됩니다.
이해하기 쉬운 설명 부탁드립니다.~~~
안녕하세요. 길벗 수험서 운영팀입니다.
먼저 순서도가 1부터 시작하는 이유는 순서도의 활용도의 문제입니다.
순서도는 단순히 프로그램을 작성하기 전에 이해를 돕기 위해서 사용될 수도 있고, 프로그램 언어가 아닌 회계 처리 업무나 다른 업무 프로세스를 설명할 때에도 이용될 수 있습니다.
때문에 배열을 표기할 때 일반적으로 쉽게 연상되는 시작점인 1부터 시작하는 것이지요.
프로그램의 경우는 조금 다릅니다.
메모리나 여타 주소값을 표시할 때 기본적으로 0부터 시작하기 때문에, 0값을 사용자에게 1이라고 인식시키는 것은 메모리의 작은 활용도까지 생각해야하는 프로그래머 입장에서는 큰 혼란을 줄 수 있습니다.
C언어는 물론 JAVA와 같은 언어들은 이러한 것에 맞추어 모든 배열을 기본적으로 0부터 시작하게 설정되어 있습니다.
배열이 0부터 시작하는지, 1부터 시작하는지 문제를 풀기전에 유의해서 살펴보시고 이에 맞춰 해결하는 연습이 필요합니다.
행복한 하루되세요.^^
-
*2018-09-17 19:30:00
안녕하세요. 길벗 수험서 운영팀입니다.
먼저 순서도가 1부터 시작하는 이유는 순서도의 활용도의 문제입니다.
순서도는 단순히 프로그램을 작성하기 전에 이해를 돕기 위해서 사용될 수도 있고, 프로그램 언어가 아닌 회계 처리 업무나 다른 업무 프로세스를 설명할 때에도 이용될 수 있습니다.
때문에 배열을 표기할 때 일반적으로 쉽게 연상되는 시작점인 1부터 시작하는 것이지요.
프로그램의 경우는 조금 다릅니다.
메모리나 여타 주소값을 표시할 때 기본적으로 0부터 시작하기 때문에, 0값을 사용자에게 1이라고 인식시키는 것은 메모리의 작은 활용도까지 생각해야하는 프로그래머 입장에서는 큰 혼란을 줄 수 있습니다.
C언어는 물론 JAVA와 같은 언어들은 이러한 것에 맞추어 모든 배열을 기본적으로 0부터 시작하게 설정되어 있습니다.
배열이 0부터 시작하는지, 1부터 시작하는지 문제를 풀기전에 유의해서 살펴보시고 이에 맞춰 해결하는 연습이 필요합니다.
행복한 하루되세요.^^