brunch

You can make anything
by writing

C.S.Lewis

by Cylogic May 01. 2018

1부터 100까지 더하기-코딩수업#1

컴퓨터에게 첫 번째 일 시키기

앞서 이야기했던 쉽게 1부터 100까지 더하는 방법을 컴퓨터에게 시킨다면 어떤 방법을 사용할까?

만일 액셀 프로그램을 가지고 있다면 아주 쉽게 연속된 숫자를 채워 넣을 수 있다. 

아래의 그림과 같이 1, 2만을 입력하고 마우스로 우측 하단을 클릭하여 아래로 드래그하면 금방 100까지 숫자가 채워지고 오른쪽 아래의 그 합과 평균값까지 보여준다.

그러나 우리가 알고 싶은 것은 그 정답이 아니고 이것을 어떻게 컴퓨터 프로그램이 계산했을까 이다.

왜 고등학교 수학 문제는 정답도 중요하지만 그 과정도 중요한 것과 같은 이유이다.


일단 코딩의 가장 중요한 구성 요소 3가지를 알아보자. 내가 일방적으로 정리한 것이니, 이해에는 도움을 받아도 되지만 다른 책들에 정리된 것과 다를 수 있음을 이해하시라.


1. 대입

2. 반복

3. 조건 비교


수학 문제

X+Y= 10이고 X=3이면 Y의 값은?

를 풀 때 우리는 X, Y라는 변수를 사용하였다.

(변수는 숫자 또는 문자와 같은 데이터를 저장해 두는 방이라고 생각하자)


이때 X=3이라고 하는 것은 X가 3이라는 이야기다.

그런데 코딩에서는 X에 3이라는 값을 저장한다. 이를 대입이라고 이름 붙여 본 것이다.

X와 Y는 어떤 값이 들어갈지 모르는 변수이다.

코딩에서 X=3이라고 쓰면 우리는 X라는 숫자 또는 문자가 들어갈 수 있는 방에 3을 넣어 두었다고 생각하면 된다.


문제 :  1부터 100까지 더한 값을 구한다.

풀이 방법 :

SUM이라고 하는 변수를 만들고,
SUM=0이라고 하여
SUM의 내용을 0으로 만들고 X를 1부터 100까지 변화시키며
SUM에 더해주면 된다.


이를 코딩의 형태로 바꾸면

SUM라는 변수의 값은 0이다.

X를 1부터 시작해서 ;    X가 100이 될 때까지 ;   X를 1씩 더해서  
{
       SUM에 계속 더한다.
}

위의 작업이 끝나면  SUM이 어떤 값을 갖는지 확인한다.
이 값이 정답이다.

와 같이 표현할 수 있다.

각 사항은 각 컴퓨터 언어로 번역할 수 있고, 이를 모으면 컴퓨터 프로그램이 되는 것이다.


SUM라는 변수의 값은 0이다.

이 부분이 대입 부분이다.

X를 1부터 시작해서 ;    X가 100이 될 때까지 ;   X를 1씩 더해서

라고 하는 부분이 동일한 작업의 반복을 수행하는 조건이다.


앞서 이야기 한 천재 수학자의 방법이 아니라 우리 대다수의 사람들이 사용하는 방법을 사용했다. 

컴퓨터는 우리가 무언가 시키지 않는다면 멍멍이만큼도 스스로 생각하지 못하기 때문이다.

만일 천재 수학자의 방법을 사용하려 한다면 이를 코딩에 반영할 수 도 있겠지만, 손쉬운 방법을 사용해도 컴퓨터는 순식간에 이를 처리한다.


내가 정의한 코딩의 3대 요소 중 하나인 반복이 위의 샘플에 나타나게 되는데, 바로 for를 사용한 부분이다.


오늘 코딩의 중요한 3가지 구성 요소 중 두 가지를 이미 배웠다.

도식화해보자면 아래와 같다.


인터넷 홈페이지의 구성시 활용할 수 있는 자바스크립트라고 하는 프로그램으로 번역한 결과도 함께 보여준다.

다른 언어도 거의 같다고 생각하면 된다. 컴퓨터 프로그램 언어는 하나만 알면 다른 걸 배우는 것은 아주 쉬운 일이다.


var sum=0;
var x;
for ( x=1; x <= 100; x++) {
    sum=sum+x;
}


당장은 눈으로만 보시고 이해가 되면 하고 안되면 말면 된다.

아직은 그럴 때다.

매거진의 이전글 코딩은 왜 배워? - 코딩 수업 시작하기
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari