N-S차트

반응형
SMALL

N-S차트

  • N-S 차트는 논리의 기술에 중점을 두고 도형을 이용해 표현하는 방법이다.
  • GOTO나 화살표를 사용하지 않는다.
  • 연속, 선택 및 다중선택, 반복의 3가지 제어 논리 구조로 표현한다.
  • 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.
    • 구조적 프로그래밍을 시각적으로 표현!
int number = 5;

if (number > 0) {
    System.out.println("Positive number");
} else {
    System.out.println("Not a positive number");
}

for (int i = 0; i < 3; i++) {
    System.out.println("Iteration: " + i);
}

+-------------------------+
|        number = 5        |
+-------------------------+
            |
            v
+-------------------------+
|  number > 0 ?            |
+-------------------------+
     |            |
     v            v
+--------------+ +---------------------+
| Positive num | | Not a positive num  |
| 출력         | | 출력                |
+--------------+ +---------------------+
            |
            v
+-------------------------------+
|  for (i = 0; i < 3; i++) {    |
|   "Iteration: " + i 출력      |
|  }                            |
+-------------------------------+

GOTO

  • 프로그램의 실행 흐름을 특정 위치로 즉시 이동시키는 명령어
  • :코드가 순차적으로 실행되다가, GOTO 명령이 있는 위치로 이동하면, 지정된 라벨로 점프하여 그 부분의 코드를 실행
  • GOTO를 사용하면 프로그램의 흐름을 자유롭게 조작할 수 있지만, 지나치게 사용할 경우 코드가 복잡해지고 가독성이 떨어질 수 있습니다. 이런 현상을 흔히 스파게티 코드라고 부릅니다.
  • Java에서는 GOTO 명령어가 지원되지 않으며, 대신 이를 대체할 수 있는 방법으로 break, continue, return 등을 사용하여 제어 흐름을 관리합니다. 그러나, Java의 label과 break를 조합하면 GOTO와 유사한 동작을 할 수 있습니다.
  • public class GotoExample { public static void main(String[] args) { int x = 0; outerLoop: // 레이블 선언 while (x < 10) { System.out.println("x = " + x); if (x == 5) { break outerLoop; // outerLoop로 빠져나감 } x++; } System.out.println("Loop exited at x = " + x); } }
  • 이 예시는 GOTO가 없는 Java에서 레이블(label)과 break를 사용하여 특정 위치로 흐름을 제어하는 방법을 보여줍니다. outerLoop: 라는 레이블을 지정한 후, break outerLoop;를 사용해 해당 레이블에서 반복문을 빠져나가는 동작을 수행합니다
반응형
LIST