자동로그인  
플로우차트 배우기
 
작성일 : 03-04-26 23:46
플로우차트(Flow Chart) 작성법 배우기 6 - 입력기호
 글쓴이 : 한글닷컴
조회 : 17,630  
이번에는 입력기호에 대해서 배워보겠습니다.


입력기호는 다음과 같습니다.


그림을 보면 왼쪽 기호는 read라는 것이 써 있고, 오른쪽 기호는 아무것도 써있지 않습니다. 오른쪽 기호는 그 자체가 입력을 의미하므로 read라는 단어를 쓰지 않습니다. 반대로 왼쪽 기호는 입력과 출력을 동시에 나타내는 기호입니다. 따라서 왼쪽 기호의 경우 입력기호로도 쓰이고 출력기호로도 쓰이게 되기 때문에 입력기호로 쓰려면 입력을 의미하는 read라는 단어를 써주어야 한다는 것입니다.
왼쪽, 오른쪽 어떤것을 써도 무방하지만, 가능한한 오른쪽의 기호를 쓰기 바랍니다. 기호 자체가 입력을 의미하는 것이므로 가독성에 있어서나 사용하는 편의성에 있어서나 여러모로 유리하기 때문입니다.

어찌되었든 두개의 기호를 사용법에 맞추어서만 쓴다면 아무문제는 없습니다. 두 기호간의 차이점이 없다는 것은 아래의 예에서 확인할 수 있습니다.




자 이제 간단한 과정을 플로우차트로 도식화 해봅시다.

이번 것은 문제가 아니라 어떤 사항의 진행과정을 플로우차트로 그리는 것이니 부담 갖지 마시고 같이 해주세요.

간단한 진행과정
문제 : 두 수를 입력받아 그 두수의 합을 출력하라.
분석 :
- 두 수를 입력한다.
- 두 수의 합을 구한다.
- 두 수의 합을 출력한다.
상세 처리과정 :
- sum, a, b라는 기억장소를 예약한다.
- sum은 0으로 초기화한다.
- a와 b를 각각 입력한다.
- a와 b를 합한 값을 sum 기억공간에 대입한다.
- sum을 출력한다.


위의 문제, 분석 및 처리과정은 제가 정리해서 제시해 드렸습니다. 지금과정에서 우리가 살펴보아야 할 것은 문제의 내용과 분석보다는 상세처리과정 쪽을 보셔야 합니다.

이제 '상세처리과정'을 플로우차트로 도식화 해봅시다.

모두 알지요? 해답을 먼저 보지 말자는 것!!!(보든지 말든지 상관은 없습니다.^^ 풀어보지도 않고 해답만 보면 자기 손해일 뿐이고 보지 않고 푼 후에 해답과 비교하는 것은 이익이니까요. 알아서들 하세요.)



이 해답이 맞다고 생각하시나요?
제가 이렇게 말하니깐 옳은 답이 아닌거 같나요?
자 다시 잘 생각해 보시고...

옳은 답인가요? 아니면 틀린 답인가요?



옳은 답입니다.(갖고 놀지요? 하하..)

하지만, 정확히 이야기 하면 옳은 답일지는 몰라도 올바른 답은 아닙니다.
왜냐하면....

입력이 들어갈 때는 꼭! 그 입력된 내용이 다음의 과정을 수행하기 위해 처리할 수 있는 값이 들어왔는지, 또는 문제에서 제약하는 내용과 어긋나는 내용이 들어왔는지 등에 대한 "ERROR CHECK - 에러체크"를 반드시 해주어야하기 때문이지요.

가령 지금 여러분이 풀어본 문제는 0,1,2,3,4... 와 같은 정수만이 입력되어야만 합니다. 1.25, 3.03, 0.11112234 등과 같은 실수가 입력되면 처리가 되지 않는 구조입니다. 사람이 풀때는 그냥 정수니 실수(소숫점 숫자)니 따지지 않고 그냥 풀면 그만이지만, 컴퓨터는 그렇지가 않기 때문입니다.

이런 경우도 있지요?
지금의 경우에는 숫자의 합을 구하는 것인데요...
숫자가 입력되지 않고 실수로라도 글자라든지 뭐 이상한 문장 같은 걸 입력하면 어떻게 할 건가요?

이래서 입력이 들어갈 때는 반드시 에러체크라는 부분이 필요한 것입니다.

에러체크가 반드시 필요하다는 것은 그냥 지식으로 알고 계세요. 앞으로 지겨울 정도로 강조할 사항입니다. 일단 지금은 입력이라는 기호의 사용법에 대해서만 익히시기 바랍니다.


자 이제 본격적인 문제풀이의 세계로 떠나보지요.
다 아시죠? 해답 부터 보지 말라는거...

문제 : 세 수를 입력받아 첫번째 수와 두번째 수는 합한값을, 두번째 수와 세번째 수는 곱한 값을 출력하는 플로우차트를 도식화 하시오.

힌트
- 합한 값을 저장하기 위한 공간 sum을 기억장소에 예약한다. sum의 값은 0으로 초기화 시킨다.
- 곱한 값을 저장하기 위한 공간 times를 기억장소에 예약한다. times의 값은 0으로 초기화 시킨다.
- 세 수를 입력받기 위한 공간 a, b, c를 기억장소에 예약한다.
- a와 b를 합한다.
- a와 b를 합한값을 sum에 대입한다.
- b와 c를 곱한다.
- b와 c를 곱한값을 times에 대입한다.
- sum과 times를 출력한다.

경고 : 해답부터 보지 맙시다. 문제를 직접 풀어본 후에 해답과 비교검증하도록 합시다!





해답 :


Copyright ⓒ Haangul.com All right reserved.