Page 11 -
P. 11

1 . 1       프 로 그 래 밍 의  함 정                                  K  O  T  L I  N






                     프 로 그 램 이  일 련 의  처 리 를  수 행 하 는  과 정 을  묘 사 하 는  기 법 이 라 고  생 각 하 는  경 우 가  많 다.  이 런  묘
                     사 에 는  문 제 를  해 결 하 기  위 해  프 로 그 램 이  사 용 하 는  모 델 (m o d el )에 서  상 태 를  변 경 하 는  동 작 과  모
                     델 의  상 태  변 이  결 과 에  대 한  의 사  결 정 이  포 함 된 다.  상 태  변 이 와  의 사  결 정 은  프 로 그 래 머 가  아 닌
                     일 반 인 들 도  이 해 하 고  수 행 할  수  있 는  사 고 방 식 이 다.
                     더  복 잡 한  과 업 을  완 수 해 야  한 다 면  그  과 업 을  여 러  단 계 로  나 눈 다.  그  후,  첫  단 계 를  실 행 하 고  결

                     과 를  검 사 한 다.  검 사  결 과 에  따 라  다 음 에  수 행 할  단 계 를  정 할  수  있 다.  예 를  들 어  두  양 수  a 와  b 를
                     추 가 하 는  프 로 그 램 을  다 음 과  같 은  의 사  코 드 (ps e u d o c o d e )로  표 현 할  수  있 다.

                       ●    만 약  b   = 0 이 면,  a 를  반 환 하 라.

                       ●    그 렇 지  않 으 면,  a 를  1 만 큼  증 가 시 키 고  b 를  1 만 큼  감 소 시 켜 라.
                       ●    이 렇 게  변 경 한  a 와  b 를  가 지 고  전 체  과 정 을  다 시  수 행 하 라.

                     이  의 사  코 드 에 서  대 부 분  언 어 에  존 재 하 는  전 통 적 인  명 령 을  알 아 챌  수  있 을  것 이 다.  조 건  검 사,  변
                     숫 값  변 경,  무 조 건  분 기,  값  반 환  등 이  그 런  명 령 이 다.  이  코 드 를  흐 름 도 로  표 현 하 면  그 림  1 -1 과
                     같 다.


                       그 림  1- 1  프 로 그 램 을  시 간 에  따 라  발 생 하 는  처 리  과 정 으 로  표 현 하 는  흐 름 도 로,  원 하 는  결 과 를  얻 을  때 까 지  여 러  대 상 을  변 환 하 고
                     상 태 를  변 경 한 다.



                                예
                         b  =  0 ?    a  반 환
                       아 니 요

                        a 에 1 을  더 함


                        b 에 서 1 을  뺌




                     여 기 서  프 로 그 램 이  얼 마 나  쉽 게  잘 못 될  수  있 는 지  볼  수  있 다.  흐 름 도 에 서  데 이 터 를  하 나  변 경 하
                     거 나  화 살 표 의  시 작 이 나  끝  지 점 을  바 꾸 면  버 그 가  많 은  프 로 그 램 이  된 다.  운 이  좋 다 면  아 예  실 행
                     되 지  않 는  프 로 그 램 이 나  계 속  실 행 되 면 서  절 대  멈 추 지  않 는  프 로 그 램 을  얻 을  수  있 다.  이 런  경 우





               0 3 4
   6   7   8   9   10   11   12   13   14   15   16