본문 바로가기
공부 목록/IT & 프로그래밍

프로그램 개발 전 순서도(flow chart)를 작성해 보세요

by 독학박사 2023. 5. 17.

목차


    프로그램을 개발하는 업무를 하다 보면 자신의 개발 프로그램을 타인에게 설명을 해야 할 때가 있습니다. 내부함수나 외부함수를 사용하고 클래스도 별도 정의한 라이브러리에서 읽어오는 등 조금 복잡한 코드의 경우 실행 순서를 쫓아다니기가 버거울 때가 있습니다. 순서도(flow chart)를 작성해 놓으면 프로그램 개발 시 내가 의도한 바가 잘 구성되어 있는지 확인할 수 있으며, 협업을 할 때 설명하기도 수월합니다. 또한, 업무 인수인계 시 순서도를 전달해 주면 업무를 받는 사람이 코드 이해를 보다 쉽고 빠르게 할 수 있습니다. 오늘은 이러한 순서도를 어떻게 작성하는지 정리해 보려고 합니다.

     

     

    파이썬 프로그래밍 시 순서도 활용하기
    파이썬 프로그래밍 시 순서도 활용하기

     

    1. 순서도의 종류와 특성

     Start/End : 타원

    Start와 End를 나타내는 순서도 기호
    Start와 End를 나타내는 순서도 기호

     무슨 일을 하던지 시작과 끝을 알리는 것이 일반적일 겁니다. 순서도에서 이런 역할을 하는 것이 타원형의 도형입니다. 순서도의 시작과 끝 부분에 배치하면 됩니다.

     

     Prepare : 육각형

    준비를 나타내는 순서도 기호
    준비를 나타내는 순서도 기호

     

     파이썬을 이용하여 프로그램을 작성할 경우 '준비'를 나타내는 육각형은 잘 사용하지 않게 됩니다. C언어와 같이 변수를 사용하기 전에 변수 정의가 필요한 언어들이 있습니다. 이러한 변수 정의 또는 함수 정의가 필요하다 판단되면 프로그램이 시작되기 전에 정의하는 준비가 필요합니다.

     

    Input/Output : 평행사변형

    Input과 Output을 나타내는 순서도 기호
    Input과 Output을 나타내는 순서도 기호

     

    프로그램 실행 시 외부로부터 값을 입력받는 상황이 필요하다면 평행사변형의 도형을 이용해서 값을 입력받을 수 있습니다. 파이썬에서는 'input()' 함수를 사용하면 되는데, 이렇게 받은 데이터의 타입이 'string'입니다. 정수를 받고 싶다면 'int(input())'과 같이 사용해야 합니다.

     

    Decision : 마름모꼴

     

    판단을 나타내는 순서도
    판단을 나타내는 순서도

    판단을 나타내는 순서도는 순서도를 작성할 때 가장 중요하게 사용됩니다. 판단의 순서도는 순서도의 흐름을 분기시켜 주는 역할을 하게 됩니다. 'if'문이나, 'for', 'while' 'switch-case'와 같은 제어문을 표기할 때 사용할 수 있습니다.

     

    Process : 직사각형

    처리를 의미하는 도형
    처리를 의미하는 도형

    변수들의 값을 받고 조건에 따라 제어의 흐름이 결정된 후 어떠한 행위를 해야 합니다. 두 개의 값을 더하거나, 조건에 따라 값을 지우거나 하는 처리가 필요합니다. '처리'를 나타내는 직사각형은 더하기, 빼기와 같은 행동들을 표기할 때 사용합니다.

     

    Flow Line : 화살표

     

    흐름선
    흐름선

    위에서 설명한 도형들이 어떠한 순서대로 실행이 되는지에 대해 흐름선을 연결하여 설명합니다. 프로그램의 이해나 설명은 흐름선의 흐름을 따라가면서 하게 됩니다. 흐름선의 방향은 위에서 아래로, 왼쪽에서 오른쪽으로 흘러가게 연결하면 됩니다.

     

     

    2. 순서도 예시

     위에서 설명한 모든 도형들을 사용한 순서도를 만들어 보겠습니다. 1부터 1씩 증가하는 자연수를 더하는 프로그램을 만들려고 합니다. 몇 개의 자연수를 사용할 건지에 대해 입력받아 해당 개수만큼의 자연수를 더한 후 총합을 구하는 프로그램입니다. 더해진 모든 자연수는 'X'라는 변수에 리스트로 관리하려고 합니다.

     

    프로그램의 흐름을 설명하는 순서도
    프로그램의 흐름을 설명하는 순서도

     

     순서도를 설명하기 위해 만들다 보니 조금 억지가 있지만 이와 같이 사용하면 된다고 의미 전달을 위해 구성해 보았습니다.

     

    3. 순서도를 프로그램화하기

     순서도를 만들었다면 그것을 실행하기 위한 코드를 작성해야 합니다. 프로그램의 함수들과 순서도의 도형의 이해가 조금은 필요합니다. 위에서 설명한 순서도에 대한 파이썬 코드는 아래와 같습니다.

     

    a = int(input('자연수의 개수는?'))
    X = []
    for i in range(1, a+1):
        X.append(i)
    result = sum(X)
    print(result)
    
    
    # 출력결과
    # 자연수의 개수는? 10 enter
    # 55
    
    #>> X
    #>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

     

    프로그램을 실행사면 자연수의 개수를 묻는 질문이 출력됩니다. 값을 입력하고 엔터를 치면 해당 개수만큼의 합계가 출력됩니다. 파이썬 에디터에서 X값을 확인해 보면 1~10까지의 값들이 들어 있는 리스트임을 알 수 있습니다.

     

     

    4. 마치며

     지금까지 순서도를 작성할 때 사용하는 도형의 종류와 각 도형이 의미하는 바를 설명하였습니다. 각 도형이 사용되는 간단한 순서도를 예시로 보였으며, 순서도에 대한 파이썬 코드와 결과까지 확인해 보았습니다. 순서도를 작성하는 것이 처음에는 어려울 수 있습니다. 혼자 개발할 경우에는 잘 작성을 안 하게 되지만, 회사와 같이 동료들과 같이 개발하거나, 누군가에게 보고 및 설명을 하기 위해서는 아주 유용하게 사용할 수 있으니, 프로그램 개발 시 작성하는 습관을 들이는 것이 중요합니다.

    댓글