✅ WHILE 루프란?

  • 조건이 참일 동안 계속 반복되는 루프
  • 루프를 돌기 전에 조건을 먼저 확인
  • DO ... ENDDO.와 달리 종료 조건이 없으면 무한 루프가 되지 않음

✅ 기본 구조

WHILE 조건.
  " 반복 실행할 코드
ENDWHILE.

✅ 예제 코드

DATA: a TYPE i VALUE 0.

WHILE a <> 15.
  WRITE: / 'a =', a.
  a = a + 1.
ENDWHILE.

🔍 결과

a = 0
a = 1
a = 2
...
a = 14

a = 15이 되면 조건 a <> 15는 거짓(False)이므로 루프 종료.


✅ 주의할 점

  • 루프 안에서 반드시 a = a + 1. 같은 조건 변화를 주어야 함
  • 안 그러면 조건이 영원히 참(a <> 15)이어서 무한 루프 발생

🆚 DO 루프와 차이점


구분 Do Loops While Loops
종료 방식 고정 횟수 (DO 10 TIMES) 조건 만족 시까지
SY-INDEX 사용 O O
무한 루프 위험 있음 (종료조건 없을 때) 있음 (조건 안 바뀔 때)

 

+ Recent posts