들어가기
들어가기
데이터 분석을 포함하여 컴퓨터가 일을 하는 방식은 간단하다. 데이터를 입력 받아, 처리하고, 결과를 출력한다.
입력 - 처리 - 출력
일단 입력
부분에서는 입력 받은 값을 컴퓨터 내부에 저장하기 위해 변수가 필요하다. 그리고 입력-처리-출력
전체를 일정 횟수 반복하거나, 어떤 조건이 만족될 때까지 반복하기도 한다. 이렇게 반복과 조건을 구현하기 위해 프로그래밍 언어에서는 흐름 제어문을 쓴다.
예를 들어 사용자에게서 어떤 수를 입력받아 7을 곱한 값을 출력하는 프로그램을 생각해보자. 여기서 어떤 수가 뭐가 될지는 사용자의 필요와 요구에 따라 달라지므로 사용자의 입력을 받아 이를 변수에 대입한다.[i1] 그리고 그 변수와 7을 곱한 값을 다시 변수에 저장하고, 그 변수를 출력한다. (이렇게 변수를 사용하면 2에 7를 곱하는 프로그램, 3에 7을 곱하는 프로그램 등을 따로 따로 만들 필요가 없어지는 것이다.)
만약 1부터 어떤 자연수까지 더한 총합을 출력하는 프로그램을 만들고 싶다면 어떻게 해야 할까? 일단 어떤 자연수를 입력 받는다. 여기서 한 가지 주의할 점은 사용자의 입력을 받을 때 사용자가 입력하는 수가 자연수라는 보장이 없다. 사용자는 음수 또는 문자를 입력할지도 모른다. 따라서 자연수라는 조건이 프로그램 실행에 필수적이라면 입력값이 자연수인지를 확인하고, 자연수가 아니라면 다시 입력을 받아야 한다. 이런 조건부 반복을 위해서 제어문이 필요하다. 제어문은 흐름 제어문(flow control)의 약어이다. 만약 입력된 수가 자연수라면 이제 이 값을 변수에 저장하고, 1부터 변수까지의 합을 구해야 한다. 1부터 어떤 자연수 n
까지의 총합을 구하는 함수가 있다면 간단하지만 만약 그렇지 않다면 1부터 n
까지 덧셈을 반복할 수도 있다. 이때에도 반복을 위해 흐름 제어문을 사용하는 것이다.
이렇게 1부터 어떤 자연수까지 더한 총합을 구하는 단순한 프로그램에서도 우리는 입력부분, 그리고 처리부분에서 조건과 반복이 필요함을 알 수 있다.
종합을 해보자. 어떤 데이터 처리를 프로그램으로 구현하기 위해서는 “입력 – 처리 – 출력“의 기본 구조에 흐름 제어문을 추가하면 된다. 생각보다 간단하지 않은가?
[i1]: 이유를 정확히 알 수는 없지만 컴퓨터 과학에서는 대입이라는 단어 대신 할당이라는 단어를 주로 쓴다.
Leave a comment