문제

  1. 성명, 국어, 영어, 수학 점수가 될 때 평균을 출력하는 순서도를 작도하십시오.
  2. 두 수를 입력받아서 큰 수를 출력하는 순서도를 작도하십시오.
  3. 1에서 10까지 수를 출력하는 순서도를 작도하십시오.

내가 생각한 답

p121

모범 답안

p121_Solution

수정해야되는 부분

모범 답안은 link에서 찾아볼 수 있다. 해당 카페에서는 나프잘 저자님과 소통을 할 수 있다.

이번 문제에서의 내가 생각한 답모범 답안이 틀리다는 걸 보고 주요 문의 댓글 봤더니 아래와 같았다.

  • 준비기호에 왜 i 혹은 number와 같은 것을 쓰는지?
  • 어차피 동일한 값의 변수를 하나만 쓰는게 더 좋지 않는지?
  • 등등 …

하지만 저자의 답변은 아래와 같았다.

(3번 문제에 대한 댓글)

답은 구할 수 있겠지요. 좋은 방법은 아닙니다. 개념에 맞게 생각하는 연습을 하세요 변수는 하나의 용도로만 사용하세요. 반복제어변수는 반복제어변수로 수를 세는 변수는 수를 세는 변수로 사용하는 것이 좋습니다.

반복제어변수와 수를 세는 변수를 나누지 않고 number 하나로사용한다면 순서도는 다음과 같이 고쳐져야 합니다.

  • 단말기호 START
  • 준비기호 MAX = 10, number = 0 초기식
  • 판단기호 number < MAX 조건식
  • 처리기호 number = number + 1 변경식
  • 출력기호 number 반복 처리 내용
  • 단말기호 STOP

반복구조는 초기식, 조건식 그리고 변경식 순서로 구성되고, 변경식은 반복구조의 제일 마지막 처리가 되어야 한다는 것이 반복구조의 개념입니다. 반복구조의 개념에 의하면 변경식의 위치가 출력기호 뒤로 이동되어야 합니다. 그렇게 하면 답을 구할 수 없겠지요. 어떻게 하든 답은 구할 수 있습니다. 그러나 더욱더 중요한 것은 개념에 맞게 하고 있는지 없는지이지요. 개념에 맞게 해야 스스로 생각할 수 있습니다.

오늘의 배울 점

변수는 하나의 용도로만 사용 반복 제어 변수 변경식은 반복구조 맨 아래 위치