Logger Script

교육뉴스

17.09.08 코딩으로 발견한 세상 - (3) 나만의 알고리즘을 만들자

 

코딩을 배워야 하는 이유는 컴퓨터처럼 논리적이고 정확하게 생각할 수 있는 법을 배우기 위해서입니다. 무슨 일이든 계획표를 짜면 헤매지 않고 순서대로 해결할 수 있습니다. 사람의 지시에 따라 순서대로 처리하는 컴퓨터처럼 말이죠. 오늘은 본격적으로 컴퓨터처럼 생각하는 법을 배워보도록 하겠습니다.

 

◆ 알고리즘과 순서도

 

친구들이 좋아하는 종이접기나 레고에는 순서대로 따라하는 설명서가 있지요? 계획표나 장난감 설명서처럼 어떤 일을 하기 위한 절차나 과정을 순서대로 나열하여 표현한 것을 알고리즘이라고 합니다. 컴퓨터는 이러한 알고리즘에 따라 작동합니다.

 

알고리즘을 만들 때는 순서를 지키는 것이 중요합니다. 옷을 갈아입고 샤워를 할 수는 없는 것과 같죠. 또 계획표를 글자로 쓸 수도 있지만 순서대로 파악하기 어렵기 때문에 컴퓨터는 기호와 도형을 조합한 순서도를 사용합니다. 순서도에는 다음과 같은 기호들이 쓰입니다.

 

 

◆ 알고리즘의 종류

 

방금 설명한 기호를 사용해 시험공부 알고리즘을 짜보겠습니다.

 

 

위와 같이 알고리즘을 짜면 교과서 읽기, 문제집 풀기, 휴식 등이 반복되는 것을 알 수 있습니다. 때문에 알고리즘에는 번거로움을 해결하기 위한 여러가지 종류가 있습니다.

 

먼저, <순차 알고리즘>은 정해진 순서에 따라 명령을 하나씩 처리하는 알고리즘입니다. 위의 시험공부 알고리즘이 그 예입니다. 혹은 양치하기, 쿠키 만들기 등도 순차 알고리즘으로 만들 수 있습니다. 두 번째는 <판단 알고리즘>입니다. 중간에 주어진 선택지에 따라 어떤 명령을 수행할지 판단할 수 있는데, 판단 알고리즘을 사용하면 다양한 상황에 맞는 순서도를 짤 수 있습니다.

 

 

마지막으로 반복 알고리즘은 명령을 여러 번 반복할 때 사용합니다. 반복 알고리즘만 있으면 같은 말을 여러 번 반복하지 않아도 됩니다. 위에서 만든 시험공부 알고리즘을 반복 알고리즘으로 다시 만들면 훨씬 이해하기 쉽고 짧아지게 됩니다.

 

알고리즘은 우리의 일상생활과 컴퓨터 속에 속속들이 숨어 있습니다. 알고리즘을 완벽하게 익힌다면 복잡한 문제도 알고리즘으로 컴퓨터처럼 논리적이고 정확하게 해결할 수 있습니다. 여러분도 설거지하기, 요리하기 등 일상생활 속에서 나만의 알고리즘을 만들어 보세요.