티스토리 뷰

목차

    반응형

    Pseudo code 슈도코드라고 부르는데요. 이게 사실 작성 방법에 정답은 없어서 쓰기 나름입니다. 그래도 처음 작성하는 학생이라면 어떻게 작성할까 고민이겠죠. 그래서 예시를 하나 들고 어떻게 적는지 예제까지 대략 알아보도록 하겠습니다.


    슈도코드 작성 예제 궁금한 복수전공 학생에게


    ▷ 예시

     입력값 (인풋)

     50

     조건

     1~입력값(50)까지의 합

     출력값 (아웃풋)

     if문, while문, for문 등 이용한 결과


    ▷ 작성 방법 (예제)

    먼저, 쉽게 풀어서 생각하세요. 1 부터 50까지의 합입니다.


     합계 변수

     sum

     결과 도출 과정

     1 + 2 + 3 + 4 + ... + 49 + 50

     결과값

     = 1275


    그러면, sum = 1 + 2 + 3 + 4 + ... + 49 + 50 이란 슈도코드 한 줄을 유추할 수 있습니다.

    이걸 한 줄씩 풀어내면 아래처럼 쓸 수 있죠.


    1
    2
    3
    4
    5
    6
    7
    sum(0= sum(0+ 1
    sum(1= sum(1+ 2
    sum(3= sum(3+ 3
    sum(6= sum(6+ 4
    sum(10= sum(10+ 5
    ...
    ...
    cs


    최종적으로 sum(1275)가 계산됩니다. 근데, 1에서 50까지 모든 과정을 적을 필요가 있을까요? 없겠죠. if, while, for문 등을 사용하여 위 식을 축약하면 됩니다. 예제 쉽죠?


    ▷ for문 예시

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    INPUT = 50
    SUM = 0
     
    // for (int i = 1; i <= 50; i++)
    for (1부터 INPUT(50)까지 반복)
    {
        SUM += i
        // 또는
        // SUM = SUM + i
    }
     
    SUM 출력
    cs


    직접 코딩하여 결과를 확인하는 것도 좋지만, 슈도코드라면 위처럼 개략적인 흐름을 적습니다. 슈도코드는 말그대로 슈도코드라 실제로 구동하는 소스 코드가 아닙니다.


    일종의 흐름도라고 할까요? 그런 의미입니다. 예제 또한 그렇고요.


    슈도코드 의사코드 작성 방법


    조금 더 세련되게 작성하면 아래처럼 쓸 수 있어요.


    ▷ 추가 예제

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    -------------- for문 ---------------------
    Function Sum(input number) 
     
    sum = 0
    input number
     
    for i = 1 to input number
        sum = sum + i
    end 
     
    -------------- while 문 ---------------------
    Function Sum(input number) 
     
    sum = 0 
    input number 
    = 1
     
    while i <= number
        sum = sum + i 
        i = i + 1 
    end
    cs


    이런식으로 거의 모든 슈도코드 작성할 수 있습니다. 크게 어려운 건 없으니, 복수전공 학생이라면 부담 갖지 말고 마음껏 자유롭게 작성해 보세요. 추가로 아래 관련 글의 순서도 기호, 의사코드 사용 포스팅도 참고해 주시면 되겠습니다.


    위에 소개한 건 하나의 예시일 뿐이지, 슈도코드 작성엔 정답이란 게 없습니다. 본인이 가장 합리적이고 명쾌하다는 방법을 찾아내 자유롭게 적어 보고 교수님께 어떤지 확인 받아 보세요. 그게 정답이랍니다.



    관련 글

    순서도 기호와 의사코드 사용 예제 (Flow Chart, Pseudo Code)

    프로그램 버그 찾는 방법과 시점 [오픈소스 개발 방법론]

    프로그래밍 마스터 방법, 개발자 고수 되는법 4가지



    ⓒ written by vicddory

    반응형