Expression and Statement Level Control Structure

Control Flow(제어 구조)


Control flow란?

Control flow의 종류

Short-Circuit Evaluation


단락회로 계산

대입문

대입 연산식

Statement-Level Control Structure


구조화 프로그래밍

선택문

선택문의 중첩(dangling else)

if sum = 0 then
	if count = 0 then
		result := 0
else
	result := 1

반복문

GOTO controversy


guarded commands


선택 구문

if<조건> -> <문장>
[]<조건 -> <문장>
[]<조건 -> <문장>
[]<조건 -> <문장>
...
[]<조건 -> <문장>
fi
  1. 모든 조건식을 계산한다.
  2. 참인 것 중 하나를 무작위로 선택하여 수행한다.(코드의 비결정성)
  3. 참인 것이 없다면 수행 오류이다.

반복 구문

do<조건> -> 문장
[]<조건 -> <문장>
[]<조건 -> <문장>
[]<조건 -> <문장>
...
[]<조건 -> <문장>
od
  1. 모든 조건식을 계산한다.
  2. 참인 것 중 하나를 무작위로 선택하여 수행한 후 1부터 반복한다.
  3. 참이 것이 없다면 종료한다.

조건부 명령어의 예시