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