시작하기

프로그램이란 무엇인가

공부할 시간이 얼마나 남았는지 계산하는 짧은 코드로 값, 이름, 함수와 실행 결과를 읽어 보세요.

공부할 시간이 얼마나 남았는지 계산하는 짧은 프로그램을 읽어 보세요. 출력이 어디서 나오는지 살펴보고, 입력값을 바꿨을 때 결과를 예상할 수 있습니다.

프로그래밍 경험이나 설치한 도구 없이도 읽을 수 있습니다. 이미 프로그램을 작성해 봤다면 다른 언어에서 오셨다면이나 첫 프로그램으로 이동하세요.

시간을 계산하는 프로그램

프로그램은 컴퓨터가 실행할 수 있도록 작성한 코드입니다. 다음 프로그램은 계획한 공부 시간에서 이미 쓴 시간을 뺍니다.

TOPAZ
function 남은분(전체: int, 사용: int) -> int {
    전체 - 사용
}

let 계획 = "study plan"
let 전체 = 45
let 사용 = 20

print("{계획}: {남은분(전체, 사용)} minutes left")

이 프로그램을 실행하면 다음 줄이 화면에 나옵니다.

출력
study plan: 25 minutes left

45에서 20을 빼서 25를 구합니다. 영어로 된 출력은 학습 계획에서 25분이 남았다는 뜻입니다.

값과 이름 찾기

45, 20, "study plan"은 프로그램이 쓰는 데이터인 값입니다. 숫자는 계산에 쓸 수 있습니다. 글자는 따옴표 안에 적습니다.

이름을 붙이면 나중에 그 값을 다시 쓸 수 있습니다. let 전체 = 45는 45에 전체라는 이름을 붙입니다. 다음 줄은 20에 사용이라는 이름을 붙입니다. 계획에는 "study plan"이라는 글자가 들어 있습니다.

마지막 줄의 print는 글자를 화면에 표시합니다. 따옴표 안의 {계획} 자리에는 계획의 값이 들어갑니다. 다른 중괄호 안에는 계산한 결과가 들어갑니다.

함수를 따라 계산하기

함수로 코드를 묶으면 이름으로 불러 쓸 수 있습니다. 처음 세 줄은 남은분 함수를 만듭니다. 마지막 줄의 남은분(전체, 사용)은 이 함수에 45와 20을 전달해 계산을 요청합니다. 이를 함수를 호출한다고 합니다.

함수 안의 전체 - 사용은 첫 번째 수에서 두 번째 수를 뺍니다. 함수의 마지막 계산이므로 이 값이 함수의 결과가 됩니다. 여기서는 25를 돌려줍니다. 같은 함수에 다른 값을 전달하면 다른 결과를 계산할 수 있습니다.

첫 줄의 int는 소수 부분이 없는 수인 정수를 뜻합니다. 타입은 프로그램이 받을 값의 종류를 나타냅니다. 전체: int와 사용: int는 정수를 입력받는다는 표시입니다. -> int는 함수가 정수를 돌려준다는 표시입니다.

이 함수는 전달받은 두 수로 결과를 계산합니다. 입력한 수와 뺄셈을 읽으면 계산 과정을 따라갈 수 있습니다.

파일 검사하고 실행하기

실행하면 컴퓨터가 코드에 적힌 일을 수행합니다. 직접 해 보려면 첫 프로그램의 안내대로 토파즈를 설치하고 코드를 what-a-program-is.tpz로 저장하세요. 파일이 있는 폴더에서 터미널을 열고 아래 명령을 차례로 입력하세요.

BASH
topaz check what-a-program-is.tpz
topaz run what-a-program-is.tpz

이 파일을 검사하면 check가 types-ok와 resolve-ok를 표시합니다. run은 위에서 본 study plan: 25 minutes left를 출력합니다.

함수에 전달하는 값을 인수라고 합니다. 남은분(전체, 사용)에서 전체는 첫 번째 인수이고 사용은 두 번째 인수입니다.

topaz check는 실행 전에 타입 불일치, 정의하지 않은 이름, 빠뜨린 인수를 찾습니다. 남은분(전체)처럼 두 번째 인수를 빼고 호출하면 그 위치에 오류를 표시합니다. 검사는 프로그램이 의도한 논리를 구현했는지 판단하지 못합니다. 답을 알고 있는 입력으로 결과를 테스트하세요.

인수를 하나만 넣어 호출했다가 이 오류가 나면 두 번째 인수로 사용을 다시 넣으세요. 실행하기 전에 파일을 다시 검사하세요.

직접 해 보기

let 사용 = 20을 let 사용 = 50으로 바꾸고 다른 줄은 그대로 두세요. 파일을 다시 실행하기 전에 출력을 예상해 보세요.

정답

45 - 50은 -5이므로 study plan: -5 minutes left가 나옵니다. 이 프로그램은 음수 결과를 허용합니다. 시간이 다 지났을 때 다르게 반응하도록 만들려면 그 규칙을 코드에 적어야 합니다.

다음 단계로 넘어갈 준비

값 45와 20이 남은분으로 전달되는 과정을 찾고, 결과가 25인 이유를 설명할 수 있으면 됩니다. 파일을 검사하는 명령과 실행하는 명령도 구분해 보세요.

첫 프로그램에서 직접 파일을 만들고 실행해 보세요.