알고리즘을 그림으로 표시하는 경우 순서도가 많이 사용됩니다. 또 다른 방법으로는 프로그램으로 보여주기도 합니다.
프로그래밍 언어로는 의사코드,C,JAVA를 많이 사용합니다.
여기서는 순서도, 의사코드, C, JAVA에서의 프로그램 표기법을 각각 설명합니다. 여기에 나오지 않는 표기법을 사용하는 경우는 직접 찾아보거나 하면 됩니다. 기본 구문인 주석, 변수선언, 변수대입, 함수호출을 알아봅시다.
주석은 프로그램 안에 임의로 작성한 부연설명을 말합니다. 다음은 순서도, 의사코드 ,C, JAVA에서 이것이 주석이다 라고 설명한 예입니다.
의사코드와 c는 /* 이것이 주석입니다*/
자바에서는 // 이것이 주석입니다.
순서도에서는 주석을 추가할 부분에 선을 그어 작성합니다. 의사코드,c,java에서는 프로그램 속에 주석을 씁니다. 자바는 다양한 경우가 있지만 //가 많이 쓰입니다.
변수선언
변수의 선언이란 변수의 자료형과 이름을 지정하여 메모리에 기억공간을 확보하는것입니다. 자료형은 정수형, 실수형, 문자형, 논리형을 주로 사용하는데 논리형은 true, false 둘 중 하나만을 저장할 수 있습니다. C에는 논리형이 없어서 int 형으로 대체하여 0을 false, 0이 아닌값은 true로 간주합니다.
변수대입
변수의 대입이란 변수에 값을 저장하는것입니다. 보통 왼쪽에 놓인 변수에 오른쪽에 있는 값을 저장합니다. 오른쪽에는 숫자, 계산식, 함수 호출을 저장할 수 있고, 계산식 또는 함수 호출의 경우에 오른쪽의 작업이 먼저 이루어지고, 결과값은 왼쪽에 변수에 저장됩니다.
함수호출
함수는 처리에 이름을 붙인것.(자바에서는 메소드라고도 합니다.)
이러한 함수를 사용하는것을 "함수를 호출한다"라고 합니다. 함수는 괄호 안에 지정된 '인수'를 사용하여 어떠한 처리르 하고, 그 결과를 '반환값'으로 돌려줍니다. 함수는 괄호안에 기능에 따라서는 인수가 없거나 반환값이 없을 수 도 있습니다.
이번엔 처리 흐름을 한번 보겠습니다.
처리흐름은 순차적 부기, 반복의 표기법을 말합니다. 프로그램은 기본적으로 위에서 아래로 처리흐름을 형성하기때문에 순차적임을 나타내는 특별한 표기법은 없습니다. 하지만 분기와 반복은 특별한 표기법을 가지고 있습니다. 반복은 루프라고 불리기도 합니다.
if~else문
if~else는 조건에 따라 두가지 작업 중 하나로 분기합니다. 여기서 분기는 선택이란 말과 같습니다.
if문
if문은 조건이 참이면 처리하고 거짓이면 아무것도 처리하지 않습니다.
while문
while문은 반복 조건을 확인하여 참이라면 처리를 반복합니다. 반복 조건은 "~라면 반복한다"라는 경우와 "~가 될 때까지 반복한다"는 두가지 경우가 있습니다. c와java는 ~라면 반복한다라는 표현만 가능하다.
do~while문
어떤 처리를 한 후 반복조건을 확인하여 참이면 처리를 반복한다. 처리 결과에 따라 반복 여부를 결정할때 사용합니다.
루프 카운터를 사용한 반복
반복 횟수를 세는 변수를 루프카운터라고 합니다. 루프 카운터를 사용한 반복은 배열을 다룰 때 자주 사용됩니다. 배열의 요소 번호와 루프카운터를 매핑하여 배열 요소의 처음부터 끝까지 하나씩 순서대로 꺼내 처리할수있다.
이진검색 알고리즘 (0) | 2022.03.20 |
---|---|
반복문과 배열의 기본 (0) | 2022.03.20 |
알고리즘 워밍업 (0) | 2022.03.20 |
알고리즘이란? (0) | 2022.03.20 |