Page 12 - 기초코딩과 문제해결 with RAPTOR 도서미리보기
P. 12
062 기초코딩과 문제해결 with RAPTOR
1.2.1? 논리적인 절차의 표현
실세계의 문제들은 자료 수집, 분석, 구조화 단계를 거치고, 추상화 단계에서 모델링,
분해 과정을 거쳐 알고리즘으로 표현된다. 이러한 알고리즘으로 기술된 논리적인 절차
는 어떤 일을 어떤 순서로 진행할 것인가를 잘 표현할 수 있어야 한다.
알고리즘의 절차는 다음의 특성을 만족할 수 있어야 한다.
yy명확성: 기술된 명령은 한 가지 이상의 의미를 포함하지 않도록 하여야 하며, 각 명
령어들은 명확해야 한다.
yy효과성: 기술된 명령은 반드시 주어진 상황에 영향을 주어서 실제로 상황을 변화시
키는 효과가 있어야 한다.
yy입·출력(Input/Output): 외부에서 제공되는 자료가 0개 이상 있으며, 적어도 한 가지
이상의 문제해결 결과에 따른 출력을 생성한다.
yy유한성: 명령대로 수행하면 한정된 단계를 처리한 후에 종료되어야 한다.
특정 문제에 대하여 위와 같은 조건이 만족되면 주어진 문제는 해결이 가능하다고
볼 수 있다. 알고리즘을 표현하는 방법으로 순서도(flowchart) 또는 의사코드(pseu
docode)와 같은 방법들이 대표적으로 사용된다.
PI 는 3.141592 로 가정한다.
프로그램 시작
{
AC와 AB 값을 저장할 변수를 준비한다.
AC := 7.4 * TAN( 40 * ( PI / 180 ) )
AB := SQRT( POW(AC, 2) + POW(7.4, 2) )
PRINT AC
PRINT AB
}
프로그램 종료
그림 3-1? 삼각형 선분의 길이를 구하기 위한 순서도와 의사코드의 예