Page 33 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 33

a                                b


                                                                 입력한 값 읽기

                                    n을 입력
                                                                  n을 입력
                           Yes                                     n > 0       반복의 종료 조건
                                    n ≦ 0
                                                                 입력한 값 읽기
                                  No


                                n 값은 양수가 됩니다.                  n 값은 양수가 됩니다.
                                            [그림 1-14] 양수 입력하고 입력한 값 읽기


                        a  와  b  의 순서도는 같은 역할을 합니다. 그런데 반복의 종료 조건을 아래쪽 루프 끝에 쓰는

                        순서도  b  는 사전 판단 반복과 구별이 어려우므로 순서도  a  를 더 많이 사용합니다. 이 프로
                        그램의 do문은 변수 n에 입력한 값이 0 이하면 루프 본문의 실행이 반복됩니다. 그러므로 do
                        문이 종료될 때 n 값은 반드시 양수가 되어야 합니다.



                        사전 판단 반복과 사후 판단 반복의 차이점
                        사전 판단 반복문인 while문과 for문은 처음에 제어식을 평가한 결과가 0이면 루프 본문은
                        한 번도 실행되지 않습니다. 이와 달리 사후 판단 반복문인 do문은 루프 본문이 반드시 한 번

                        은 실행됩니다. 이것이 사전 판단 반복과 사후 판단 반복의 차이점입니다.


                         연습      Q10   오른쪽과 같이 두 변수 a, b에 정수를 입력하고 b – a를       a의 값 : 6
                         문제     출력하는 프로그램을 작성하세요.                               b의 값 : 6
                                                                                a보다 큰 값을 입력하세요!
                                     단, 변수 b에 입력한 값이 a 이하면 변수 b의 값을 다시 입력하세요.   b의 값 : 8
                                                                                b - a는 2입니다.


                                 Q11   양의 정수를 입력하고 자릿수를 출력하는 프로그램을 작성하세요. 예를 들어 135를 입력
                                하면 ‘그 수는 3자리입니다.’라고 출력하고, 1314를 입력하면 ‘그 수는 4자리입니다.’라고 출력
                                하면 됩니다.
















                                                                                      01•기본 알고리즘  33
   28   29   30   31   32   33   34   35   36   37   38