컴/폰
프로그래밍의 절차와 알고리즘 (1/2)
kingsnake
2022-12-29 15:00
조회수 : 22
이번 글에서는 프로그래밍의 절차와 알고리즘에 대해 알아보겠습니다.
'프로그래밍의 절차와 알고리즘'은 각각 3개와 2개로 파트를 나누어 작성됩니다.
프로그래밍의 절차
문제 분석 및 설계
프로그램을 개발하기 위한 문제 해결과 계획 과정으로, 프로그래밍의 목적과 조건을 체계적으로 분석하고
설계하는 과정입니다. 프로그램의 입출력, 처리 방법 등과 관련한 상세한 분석과 설계가 이루어져야 합니다.
프로그램 구현
분석과 설계에 따라 실제 프로그램을 구현하는 과정으로, 프로그램의 입출력과 처리를 프로그래밍 언어를
사용하여 실제로 구현합니다. 만들고자 하는 프로그램의 활용 목적과 프로그램이 운영될 시스템에 따라
적합한 프로그래밍 언어를 선택하는 것이 중요합니다.
프로그램 테스트
만들어진 프로그램이 정확히 동작하는지에 대한 테스트와 수정이 이루어지는 과정으로, 프로그램의 정상
동작 여부를 다양한 상황이나 입출력 데이터들을 이용하여 검증해야 합니다. 게임이나 애플리케이션과 같은
경우 사람들에게 직접 테스트 결과를 받기 위하여 '베타테스트' 전용 앱을 먼저 배포하기도 합니다.
프로그래밍의 과정
프로그래밍은 주어진 문제 상황을 파악하고, 문제를 해결할 수 있느 알고리즘을 생각하여 프로그래밍 언어로
작성하는 문제 해결 과정이라고 할 수 있습니다. 프로그래밍 언어를 활용한 문제 해결 과정은 정확한 결과가
나오는 프로그램이 작성될 때까지 컴파일, 테스트, 디버깅의 작업이 반복됩니다.

알고리즘과 표현 방법
알고리즘의 의미
알고리즘(Algorithm)은 고대 페르시아의 수학자인 '알콰리즈미(Al-khwarizmi)'의 이름에서 유래한 것으로
'어떤 목적을 수행하기 위한 단계적인 절차, 계산 및 처리를 통해 데이터가 다루어지는 구체적인 과정'을
의미합니다. 알고리즘은 시작 단계에서 입력 내용, 준비 상태부터 수행 과정에서의 계산과 처리 과정,
최종 출력 내용까지 명확하고 구체적으로 표현한 것을 말합니다.
좌측 사칙 연산에서는 숫자 번호대로 계산 알고리즘이 진행됩니다.

알고리즘의 표현 방법
구체적인 계산이나 처리 과정인 알고리즘을 표현하기 위해서는 일반적인 말과 글인 '자연어', 도형과
화살표를 이용한 '순서도', 프로그래밍 언어, 자연어와 코드가 섞인 '의사코드' 등이 주로 사용됩니다.


알고리즘의 조건
일반적으로 알고리즘은 입력, 출력, 명확성, 유한성의 조건을 만족해야 하는데, 이러한 조건을 만족하는
알고리즘은 기계를 통한 자동화를 가능하게 합니다.

알고리즘의 역할
알고리즘은 프로그래밍 언어를 사용하여 프로그래밍으로 구현되는데, 효율적으로 설계된 알고리즘은
보다 짧은 시간에 보다 낮은 하드웨어 성능으로 보다 많은 작업을 더 빠르고 정확하게 수행할 수 있는
핵심적인 역할을 합니다. 효과적인 알고리즘은 프로그램의 핵심 처리 과정으로 적용되거나 전기 전자
회로로 구현되어 소프트웨어와 하드웨어 모두에 효과적으로 사용될 수 있습니다. 아래는 각각 동영상
녹화 알고리즘 구조도와 하드웨어, 소스코드 입니다.


이미지 출처: 픽사베이