본문 바로가기
컴퓨터 기초/프로그래밍 언어

절차 지향 언어의 프로그래밍

by TechExplorer 2023. 2. 21.

절차 지향 언어의 개념

절차 지향 프로그래밍은 순차적으로 실행되는 프로그램의 진행 방식을 기반으로 하는 프로그래밍 패러다임입니다. 이러한 프로그래밍 스타일은 프로그램을 일련의 절차 또는 단계로 분해하고, 각 단계에서 필요한 데이터를 입력하고 처리하여 최종 결과를 출력합니다. 이러한 방식으로 작성된 코드는 컴퓨터가 수행하기 쉽고 이해하기 쉽기 때문에, 초기의 대형 프로그램 개발에 매우 유용하게 사용되었습니다.

 

절차 지향 언어는 C, Pascal, Fortran 등이 있으며, 다음과 같은 특징을 가집니다.

 

구조적 프로그래밍

절차 지향 프로그래밍은 구조적 프로그래밍을 기반으로 합니다. 구조적 프로그래밍은 복잡한 문제를 간단한 문제로 나누어 해결하는 방식으로, 작은 모듈로 프로그램을 분해하여 복잡성을 낮추는 것을 중요하게 생각합니다. 이렇게 하면 코드의 재사용성과 유지보수성이 향상됩니다.

함수 기반

절차 지향 언어에서는 프로그램을 함수 단위로 작성합니다. 각 함수는 자체적으로 독립적인 기능을 수행하고, 함수 호출을 통해 다른 함수와 상호작용합니다. 함수는 입력값을 받아 처리하고, 출력값을 반환합니다.

변수와 데이터 타입

절차 지향 언어에서는 변수와 데이터 타입이 중요합니다. 변수는 값을 저장하고, 데이터 타입은 변수의 값을 표현하는 방법을 정의합니다. 이를 통해 프로그래머는 메모리를 효율적으로 사용할 수 있습니다.

제어 구조

절차 지향 언어에서는 제어 구조가 중요합니다. 제어 구조는 프로그램의 흐름을 제어하는 데 사용되며, 선택 구조와 반복 구조를 포함합니다. 선택 구조는 조건에 따라 프로그램의 다음 단계를 결정하고, 반복 구조는 특정 조건이 만족될 때까지 특정 코드 블록을 반복적으로 실행합니다.

명령형 프로그래밍

절차 지향 언어는 명령형 프로그래밍을 사용합니다. 명령형 프로그래밍은 컴퓨터에게 명령을 내려서 원하는 결과를 얻는 방식으로, 프로그램이 컴퓨터의 상태를 변경하는 것을 중요하게 생각합니다. 이를 통해 프로그램이 명시적으로 원하는 작업을 수행할 수 있습니다.

 

절차 지향 언어의 장단점은 다음과 같습니다.

 

장점

  • 이해하기 쉽고, 쉽게 배울 수 있습니다.
  • 초기 대형 프로그램 개발에 매우 유용합니다.
  • 코드의 재사용성과 유지보수성이 높습니다.
  • 속도가 빠르고 메모리를 효율적으로 사용합니다.

단점

  • 복잡한 문제에 대한 해결이 어려울 수 있습니다.
  • 프로그램의 크기가 커질수록 코드가 복잡해지고 유지보수가 어려워집니다.
  • 모듈 간의 의존성이 높아져서, 변경이 필요한 경우 전체 코드를 수정해야 하는 경우가 있습니다.

따라서, 절차 지향 프로그래밍은 초기 대형 프로그램 개발에 유용한 프로그래밍 패러다임이지만, 복잡한 문제에 대한 해결이 어려울 수 있으며, 프로그램의 크기가 커질수록 코드의 복잡성과 유지보수성이 감소할 수 있습니다.


구조적 프로그래밍의 이해

구조적 프로그래밍(structured programming)은 제어흐름이 한 가지 방향으로 흐르도록 프로그램의 흐름을 구조화하여 프로그래밍하는 방법론입니다. 구조적 프로그래밍은 논리학자 에츠허르 다익스트라가 1960년대 후반에 제안한 것으로, 이전에는 goto문과 같은 비구조적인 프로그래밍 방식이 주로 사용되었습니다.

 

구조적 프로그래밍에서는 다음과 같은 구성 요소들을 사용합니다.

 

순차 구조 (sequence structure)

프로그램이 한 줄로 순차적으로 실행되는 구조입니다. 각 문장은 순서대로 실행되며, 한 문장이 실행되기 전에 이전 문장이 먼저 실행되어야 합니다.

선택 구조 (selection structure)

프로그램이 분기하여 실행되는 구조입니다. if-else문, switch문과 같은 조건문을 사용하여 프로그램이 특정 조건에 따라 분기됩니다.

반복 구조 (iteration structure)

프로그램이 반복하여 실행되는 구조입니다. for문, while문, do-while문과 같은 반복문을 사용하여 프로그램이 일정한 조건이 만족될 때까지 반복 실행됩니다.

 

구조적 프로그래밍은 goto문과 같은 무조건 분기문을 사용하지 않고, 프로그램의 흐름을 일반적으로 한 방향으로만 흘러가게 하여 프로그램의 디버깅과 유지보수를 용이하게 합니다. 또한, 프로그램을 작은 블록으로 나누어 분석할 수 있으므로, 프로그램의 복잡도를 낮출 수 있습니다.

 

구조적 프로그래밍은 초기에는 C, Pascal 등의 언어에서 많이 사용되었으며, 현재는 대부분의 프로그래밍 언어에서 구조적 프로그래밍이 지원됩니다. 구조적 프로그래밍은 프로그래밍의 품질을 향상시키는 중요한 방법론 중 하나입니다.

댓글