[정보처리기능사-실기]01. 알고리즘 구현 (알고리즘 / 순서도)
1. 알고리즘 개념
- 넓은 의미 : 자료 구조와 함께 프로그램을 구성하는 요소 / 좁은 의미 : 어떤 문제에 대한 답을 찾는 해법
- 문제 해결 위한 일련의 절차나 방법을 공식화한 형태 or 계산을 실행하기 위한 단계적 절차
2. 알고리즘의 5가지 특성
- 입력 : 외부로부터 입력되는 결과가 0개 이상이어야 함
- 출력 : 출력되는 결과가 1개 이상이어야 함
- 명확성 : 각 명령어의 의미가 명확해야 함
- 유한성 : 정해진 단계를 지나면 종료되어야 함
- 유효성 : 모든 명령은 실행 가능한 연산이어야 함
1. 순서도
- 알고리즘을 표현하는 여러 방식 중 하나
- 미리 약속된 기호와 그림을 통해 논리적 절차, 흐름, 연산 등을 시각적으로 표현한 것
2. 순서도 도형
3. 순서도 연산
1) 순서도 산술 연산
- + : 더하기
- - : 빼기
- * : 곱하기
- / : 나누기
- %, mod : 나머지
- ^ : 거듭제곱
2) 순서도 관계 연산
- > : 크다(초과)
- >= : 크거나 같다(이상)
- < : 작다(미만)
- <= : 작거나 같다(이하)
- = : 같다
- <>, ≠, != : 같지 않다
4. 순서도 기초 공식
1) 변수와 상수
- 변수 : 고정되어 있지 않은 값, 어떤 값을 주기억장치에 기억하기 위해 사용하는 공간
- 상수 : 고정되어 있는 값, 이미 지정되어 있는 변하지 않는 값
- 처리 기호 안에서 =(equal)은 대입 or 입력으로 쓰임
2) 수의 증감
- 수(i)의 초기값이 설정되어 있는 경우
ex) i = i + 1, i = i - 1 일 때
- 수(i)의 초기값이 설정되어 있지 않은 경우ex) i = 고정값 - 변수 일 때
3) 합의 공식
- 합계 = 합계 + 수ex)
4) 평균 공식
- 평균(avg) = 합계(sum) / 개수(cnt)
ex)
5) 부호 변경
- 부호의 변경은 판단 기호를 이용하여 계산하거나 '부호 = 부호 * (-1)'을 이용하여 연산
ex)
6) 몫과 나머지
- 몫
- '값 / 수' 로 표현
- 결과값을 정수형으로 표현 → int
- 4 / 2 = 2.5, 5 / 2 =2
- 나머지
- '값 % 수' 또는 '값 mod 수' 로 표현
- 7 % 3 = 1, 5 mod 2 = 1
ex)
7) 배열
- 번호에 대응하는 데이터들로 이루어진 자료 구조, 변수를 연속적으로 저장하기 위해 확보한 메모리 공간
- a[5] = a[0], a[1], a[2], a[3], a[4] 의 주소로 이루어짐
- 프로그래밍 배열에서의 주소값은 0부터 시작이 고정, 순서도에서는 0 또는 1로 시작 가능
ex)