책 내용 질문하기
알고리즘 순서도와 C언어에서 이해되지 않는 부분이 있습니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
308
조회수
75
작성일
2017-03-30
작성자
첨부파일

순서도 답 중 4번이 없어서 C언어 코드를 보고 유추해보니 Top=Top-1인데 Underflow가 되었으면 배열에 값이 없다는 것 아닌가요? 근데 거기서 어떻게 다시 -1을 할 수 있는 것인지 이해가 잘 되지 않습니다.

또한 순서도에서 J, K, i가 변수인데 변수가 +1이 되는 과정이 없고 K는 입력만, J는 계속 1에서 변화가 없는데 어떻게 2가 되는지 특히 i=PUSH[K]이 부분이 이해가 되지 않습니다 K는 그대로의 값이 아닌가요? i도 값이 어디서 나오는건지 순서도 전체적으로 전부 이해가 되지 않습니다.

답변
2017-03-30 10:54:35

안녕하세요.

Underflow가 발생하면 "UNDERFLOW"를 출력하고 RETURN -1을 만나 호출한 곳으로 돌아갑니다.

TOP=TOP-1이 수행되는 경우는 TOP < 1 가 NO인 경우로 자료가 있는 경우입니다.

J, K는 증가되는 것이 아니라 하나의 처리가 요청되면

즉 J가 1, K가 10가 입력되면

J가 1이므로 입력, 즉 PUSH 작업을 K값 10을 가지고 처리합니다.

그 과정에서 i값은 변화가 생깁니다.

하나의 작업이 끝나면 다시 J와 K를 입력받아 처리를 수행합니다.

그렇게 J와 K를 입력받아 처리하더 J에 1이나 2가 아닌 값이 입력되면 스택의 값을 출력하고 종료하게 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-03-30 10:54:35

    안녕하세요.

    Underflow가 발생하면 "UNDERFLOW"를 출력하고 RETURN -1을 만나 호출한 곳으로 돌아갑니다.

    TOP=TOP-1이 수행되는 경우는 TOP < 1 가 NO인 경우로 자료가 있는 경우입니다.

    J, K는 증가되는 것이 아니라 하나의 처리가 요청되면

    즉 J가 1, K가 10가 입력되면

    J가 1이므로 입력, 즉 PUSH 작업을 K값 10을 가지고 처리합니다.

    그 과정에서 i값은 변화가 생깁니다.

    하나의 작업이 끝나면 다시 J와 K를 입력받아 처리를 수행합니다.

    그렇게 J와 K를 입력받아 처리하더 J에 1이나 2가 아닌 값이 입력되면 스택의 값을 출력하고 종료하게 됩니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.