이 단원은 주사위 레이싱이라 부릅니다.
거의 모든 사람들이 컴퓨터 게임을 좋아합니다.
컴퓨터 프로그래머가 게임의 각 단계를 어떻게
프로그램으로 바꾸는지 생각해 본 적이 있으세요?
컴퓨터 게임의 문제 해결에 가장 먼저
필요한 것은 생각하고 계획하는 것입니다.
문제 해결의 사고 단계에서는 알고리즘 즉,
문제 해결 또는 작업 완료를 위한
단계별 계획이 만들어집니다. 이 단원에서는
주사위 레이싱을 위한 알고리즘을 만듭니다.
그 다음 친구들에게 그 계획을 실행하여
그 단계를 따르며 게임을 할 수 있는지
확인해 달라고 부탁하세요.
프로그래머가 각 단계가 맞다고 확신하면,
알고리즘을 컴퓨터가 이해하는 언어로
프로그램을 만들어야 합니다.
매일 우리가 하는 거의 모든 일에 알고리즘이
필요해요. 일을 마치는 데 필요한 단계의 목록이죠.
등교 준비 또는 친구와 함께
재미있는 날을 보낼 계획 또는
간식 준비에 대해 생각해 보세요. 그러한
일을 완료하기 위해서는,
작은 단계로 쪼개야 하고 단계를
일정 순서대로 실행해야 합니다.
샌드위치 만드는 과정을 생각해 보세요.
찬장 안에서 어떤 재료를 먼저 꺼내는지는
문제가 되지 않아요. 하지만 땅콩잼 뚜껑을 열지
않고는 땅콩잼을 바를 수 없죠.
우리가 아무 생각없이 할 수 있는 간단한 일조차도
컴퓨터가 하려면 알고리즘과 프로그램이 필요합니다.
알고리즘은 보이지 않는 생각인 반면
프로그램은 그 일이 일어나도록
컴퓨터에게 내리는 실제 지시입니다. 알고리즘은
프로그램으로 변경되어야 하고 그런 다음
컴퓨터는 이 프로그램을 가동할 수 있습니다.
작업을 알고리즘이라 부르는 단계로 쪼개는 일은
어렵습니다. 하지만, 새로운 기술을 배우는 것처럼,
연습을 하면 점점 더 쉬워질 것입니다.