Program Control   프로그램 제어, 프로그램 제어 구조

(2023-04-01)

제어 구조 , Sequence Structure, 순차 구조, Repetition Structure, Iterative Structure, 반복 구조, 반복 , Selection Structure, 선택 구조


1. 프로그램 제어 (Program Control) 이란?프로그램 처리/실행 흐름을 제어하는 것
     - 실행 순서를 바뀌는/제어하는 것

  ㅇ 이러한 방식은, 알고리즘에 담겨진 논리를, 표현/구성 가능케 하는, 제어 수단이 됨


2. 프로그램 실행 순서를 제어할 수 있는 가능한 방식의 종류

  ㅇ 순차적 실행 (Sequencing) : 가장 기본적인 실행 흐름 방식
  ㅇ 선택 실행 (Selection) : 例) 조건에 따라 달리 분기하는 switch 문 등
  ㅇ 반복 실행 (Iteration) : 例) 조건,횟수에 따라 반복하는 for 문, while 문 등 
  ㅇ 재귀/순환 실행 (Recursion) : 반복적으로 스스로를 호출/사용하게 함
  ㅇ 예외 처리 (Exception Handling) : 에러 발생시 상황 마다 달리/분기 처리하게 함
  ㅇ 부 프로그램 호출 (Subprogram) : 일련의 명령문들을 모아두고, 이를 외부에서 호출할 수 있게 함
  ㅇ 동시성 (Concurrency) : 2 이상의 프로세스를 1 이상의 프로세서에게 맡겨 동시에 실행케 함


3. 프로그램 제어의 목적

  ㅇ 순차적 실행 흐름(순차문)에, 
     아래와 같이 변화(조건부 실행,반복 실행,분기 실행 등)를 주게 하기 위함

     - 例) if/else 문 : 조건에 따라 달라지게 실행 함
     - 例) while 문, do/while 문 : 조건에 따라 반복 실행의 무한 지속 여부를 결정하게 함
     - 例) for 문 : 반복 횟수(또는,종결 조건)까지 반복 실행 함
     - 例) break 문 : 반복되는 것을 중지토록 함
     - 例) switch 문 : 조건에 따라 분기 실행하게 함


4. 프로그램 제어 구조 (Program Control Structure)

  ※ 크게, 다음과 같이 제어구조 3개 만을 주로 사용 
     - `순차`/`선택`/`반복`을 조합(명령어들의 실행을 제어)시켜,
     - 프로그램을 구조적으로 조립하며 프로그래밍을 하는 것           ☞ 구조적 프로그래밍 참조

  ㅇ 순차 구조 (Sequence Structure) 
     - 별도 지시가 없는 한 명령문들이 작성 순서대로 하나씩 실행되는 구조

  ㅇ 선택 구조 (Selection Structure)                                 ☞ 조건문 참조
     - 조건에 따라 분기 처리(실핼 흐름을 변경)하는 구조
     - 例) if 문, if else 문, switch 문 등
        . 조건식의 평가 결과가 참이면, 미리 작성된 조건부 코드를 실행시킴

  ㅇ 반복 구조 (Repetition Structure, Iterative Structure)           ☞ 반복문 참조
     - `1 이상의 명령들의 반복적 사용(실행)`이라는 알고리즘 구현 상의 중요 개념
     - 통상, 반복 구조에서는, 
        . 반복 제어 변수를 통해 일정 횟수 동안 또는 종료 조건까지 반복시키게 함
     - 例) while 문, do while 문, for 문 등

     * 사실상, 빠르게 되풀이 할 수 있는 것이, 바로 컴퓨터의 능력 임
        . 되풀이하는 방법에는 크게 2가지가 있음 : Iteration(반복), Recursion(순환)

프로그래밍 방법론
   1. 프로그래밍 기법   2. 구조적 프로그래밍   3. 명령형 프로그래밍   4. 객체지향 프로그래밍   5. 함수형 프로그래밍   6. 프로그램 제어  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"