|
|
||||
|
1. 컴퓨터와 프로그래밍 |
||||
|
프로그램이 없으면 컴퓨터는 단순히 큰 계산기에 불과하고, 여러분이 생각하는 컴퓨터의 능력을 생각할 수도 없다.
프로그램의 존재로 컴퓨터는 목적 달성에 도움을 주는 도구가 될 수 있다. |
|
|||
|
프로그램(program)은 사람이 용도에 따라서 작성한다.
데이터 그 자체로는 사람에게 유용한 정보가 되지 못한다. 가령, 회사 사장이 회사의 월급 수준을 파악하려고 한다. 모든 회사원의 월급 명세서 리스트는 사장에게 도움이 되지 않을 것이다. 대신, 사장은 월급 명세서 리스트를 토대로, 부서별 총 월급 액수, 전년도 대비 월급 향상 정도, 동종의 다른 회사와 비교했을 때 회사원의 평균 월급 액수 등의 유용한 정보를 필요로 할 것이다. 컴퓨터는 월급 명세서의 리스트를 입력받고, 이 데이터를 처리하여 필요한 정보를 출력한다.
|
||||
|
|
||||
|
프로그램이란 컴퓨터가 무엇을 할 것인가를 지시하는 상세한 명령어들의 리스트이다.
원시인은 키를 들고서 어찌할 바를 모를 것이다. 가령, 차 문을 여는 방법도 모를 것이다. 즉, 위의 지시사항은 상세하지 못하다. 따라서 원시인 이해할 수 있는 정도로 상세하게 지시하는 것이 필요하다. 다음은 원시인에게 차를 시동하는 방법을 알려주는 상세한 지시사항들의 리스트이다.
위와 같은 상세한 지시사항에 따르면 , 차에 대해서 전혀 모른 원시인도 차를 시동 걸 수 있을 것이다. 컴퓨터는 원시인과 같다. 따라서 여러분은 컴퓨터에게 일을 시킬 때, 그 처리 사항을 상세하게 기술하는 것이 필요하다. 즉, 컴퓨터가 처리해야 할 사항에 대한 상세한 리스트가 프로그램인 것이다. 컴퓨터와 프로그램의 관계를 다시 한번 정리해보자. 컴퓨터는 여러분의 지시를 기다리며,
지시가 주어지면 그대로 수행한다. |
||||
|
|
||||
|
인간이 이해하기 쉬운 언어를 고급 언어라 하고, 컴퓨터가 이해하기 쉬운 언어를 저급 언어라 한다. 인간의 언어는 애매모호한 점이 많아서, 컴퓨터에게 지시할 사항이 정확히 기술 안될 수 있다 . 가령, 다음과 같은 문장을 컴퓨터는 어떻게 이해할 것인가? 인간이 컴퓨터에게 일을 정확하게 지시하는 것이 필요하다. 모호성이 많은 인간 언어로 지시사항을 기술하기에는 부적합하다. 따라서 프로그램을 기술하기 위해서 인간의 언어와 유사하면서도 모호성을 제거한 새로운 형식 언어가 필요하다. 이러한 형식 언어를 프로그래밍 언어라고 한다. 프로그래밍 언어(programming language)는 모호성을 제거하기 위해서 엄격한 구문을 가지며, 인간이 프로그램을 기술하는데 사용되는 언어이다.
|
||||
|
4. 프로그래밍 언어 |
||||
|
따라서 프로그램을 컴퓨터가 이해할 수 있는 언어로 변환하는 것이 필요하다. 이러한 변환은 언어 번역기에 의해서 수행된다. 언어 번역기(language translator)는 인간이 작성한 프로그램을 입력받아서, 컴퓨터가 이해할 수 있는 언어로 변환하는 일을 수행하는 또 다른 프로그램이다. 흔히 컴퓨터가 이해할 수 있는 형태로 변환된 프로그램을 기계 코드(machine code)라 한다. 본 강의에서는 프로그래밍 언어로
C
언어를 사용한다.
|
||||
|
|
||||
|
|
||||