반응형
실제 프로그램 알고리즘
회사에서 직원 임금을 계산하는 프록램을 개발한다고 가정하자.
해결할 문제
- 회사에서 매주 임금 총액을 계산하는 대화식 프로그램이 필요
- 프로그램이 수행되면 사원번호, 시간당 임금률, 일한 시간수를 입력
- 입력된 정보는 파일에 저장
- 총 임금액이 출력
- 일한 시간이 40시간이 넘으면, 넘은 시간은 임금률을 1.5배로 한다.
문제 해결을 위해 논의한 결과
- 각 직원의 데이터는 사원번호(empNum), 시간당 임금률(payRate), 일한 시간 수(hours)로 구성
- 그 외에 총임금(total), 개인별 총 수입(wages)이 필요
- 임금률은 시간 수 X 시간당 임금률, 40시간 이상은 1.5배
- 결과를 저장하는 파일은 payFile이라고 한다.
- 파일에 출력할 내용은 사원번호, 임금률, 일한시간, 개일별 총 수입
- 사원번호가 0인 사람은 없으므로 0이 입력되면 입력이 끝난 것
- 프로그램의 단계는 데이터 입력, 결과 계산, 결과 출력으로 분리할 수 있다.
- 총 임금액이 프로그램 종료 전에 화면에 출력
임금률 계산 방식
- 일한 시간이 40시간 미만
- 임금 = 일한시간 X 임금률
- 일한 시간이 40시간 이상
- 임금 = (40 X 임금률) + (일한시간 - 40) X 임금률 X 1.5
주어진 문제의 풀이를 위한 과정 = 알고리즘
- 문제를 단위 작업으로 나누고 순서와 반복을 통해 해결한다.
- 복잡하면 주, 부 알고리즘으로 분리한다.(예를 들어 결과 계산 부분은 알고리즘을 따로 분리)
반응형