2. 언어 번역 시스템
|
학습목표 |
1. 프로그램의 개념과 역할에 대하여 이해할 수 있다.
|
1) 프로그램의 개요
[1] 프로그램의 개념
① 프로그램 : 원하는 결과를 얻을 수 있도록 컴퓨터에 일련의 일을 시키는 명령어들의 집합체
② 프로그래밍 : 프로그램을 작성하는 것
③ 프로그래밍 언어 : 프로그램을 작성할 때에 사용하는 언어
④ 프로그래머 : 프로그램을 작성하는 사람
[2] 프로그램의 역할
프로그래머가 프로그램을 작성할 때에 유념해야 할 평가 기준
(가) 프로그램에 오류가 없어야 한다.
(나) 쉽게 이해할 수 있어야 한다.
(다) 수정 작업이 쉬워야 한다.
(라) 호환성이 있어야 한다.
(마) 효율적으로 수행되어야 한다.
2) 프로그래밍 언어
① 프로그래밍 언어 : 컴퓨터와 인간이 서로 의사 소통을 하기 위한 것.
[1] 저급 언어
(1) 기계어
① 프로그래밍 언어의 가장 기본이 되는 언어로서, 컴퓨터가 이해할 수 있는 0과 1의 2진수로 명령을 표현.
② 프로그램을 실행할 때에 번역할 필요가 없기 때문에 실행 속도가 빠르지만, 언어 자체가 복잡하고 어렵기 때문에 프로그래밍 하는 데에 시간이 많이 걸린다.
(2) 어셈블리어
① 기계어 대신 이해하기 쉬운 기호로 명령을 만든 기호 언어
② 정해진 기호를 사용하기 때문에 기계어보다 이해하기 쉽고 사용하기 편리하며, 프로그램의 작성이나 수정이 쉽다.
③ 어셈블러 : 어셈블리어로 작성된 프로그램을 기계어로 변환시켜 주는 번역 프로그램.
[2] 고급 언어
(1) 절차 지향 언어
: 프로그래머는 전통적인 프로그래밍 논리를 사용하여 프로그래밍 문제를 해결.
포트란, 코볼, C, 베이식 등
(2) 객체 지향 언어 : 객체, 클래스, 상속이라는 개념을 기본.
① 객체 : 데이터에 해당하는 필드와 데이터에 관련된 연산인 메소드(method)로 구성
② 클래스 : 객체들의 공통적인 성질을 정의한 것.
③ 상속 : 객체의 정보를 세분화 또는 일반화의 원칙에 따라 조직화하는 방법
비주얼 C++, 델파이, 파워빌더, 자바 등
(3) 비절차 언어
: 제4세대 언어. 우리의 일상 생활에서 사용하는 자연 언어에 한 걸음 더 가깝게 만든 언어, 대화 형식으로 표현. 사용자 중심 언어
질의어(SQL), QBE 등
(4) 함수 언어, 논리 언어
: 제5세대 언어. 함수 언어, 논리 언어, 자연어. 인공 지능의 구현이나 전문가 시스템을 만드는 데에 사용됨.
인공 지능 언어를 개발하기 위해 리스크(LISP)와 프롤로그(PROLOG)의 가장 좋은 기능들을 결합시키려는 노력이 최근에 시도되고 있다.
(5) 비주얼 언어
: 기호 아이콘으로 문자 기반 명령을 교체시키고, 기호 아이콘들은 각각 객체나 공통적인 프로그래밍 함수를 표현. 아이콘 지향. 객체 지향 개념의 자연적인 확장.
비주얼 베이식, 델파이, 파워빌더, 비주얼 C++ 등
3) 프로그래밍 절차
[1] 문제 분석
: 프로그램에 의하여 해결해야 할 문제가 무엇인지를 명확히 정의하고, 입력 데이터와 출력 정보 및 프로그래밍에 소요되는 비용이나 기간 등에 대한 조사, 분석을 통하여 경제적, 능률적인 측면에서 타당성을 검토
[2] 입출력 설계
: 문제 해결을 위하여 입력되는 데이터 종류와 형식을 정하고, 처리된 결과를 어떤 매체에 어떤 형태로 출력할 것인지에 대하여 설계하는 과정
[3] 순서도 작성
: 프로그램의 구현에 앞서 업무에 대한 분석 자료를 토대로 입출력 단계에서 설계한 프로그램 구성 요소와 입력된 데이터의 처리 과정 및 프로그램 결과가 출력되는 전반적인 처리 과정의 흐름을 일정한 기호를 사용하여 일목요연하게 도표로 나타냄
[4] 원시 프로그램의 코딩와 입력
① 원시 프로그램 : 어셈블리 언어나 컴파일 언어로 작성된 프로그램
② 코딩 : 입출력 설계와 순서도에 따라 원시 프로그램을 작성하는 과정
③ 입력 : 코딩된 프로그램을 입력 매체에 수록하는 과정
[5] 프로그램의 번역과 오류 수정 작업
: 번역하는 과정에서 프로그래밍 언어의 문법과 규칙에 맞지 않는 문장이 있으면 오류가 발생. 이때, 오류가 발생한 원인을 찾아 다시 번역하게 되는데, 이 과정에서 생긴 오류를 구문 오류.
① 오류수정작업(debugging) : 오류를 수정하는 일
[6] 프로그램 모의 실행과 논리 오류
: 번역이 완료된 목적 프로그램에 모의 데이터를 입력하여 실제 데이터 처리 과정에서 생길 수 있는 논리 오류를 찾아 수정하는 과정을 프로그램의 모의 실행
[7] 프로그램 실행
: 모의 실행이 끝나면 실제 데이터를 입력시켜 프로그램을 실행하여 원하는 결과를 출력하게 한다.
[8] 프로그램의 문서화
: 프로그램의 실행이 성공적으로 끝나면 프로그램에 관계되는 모든 자료를 문서화하여 보관. 문서화의 작성이 잘 되면 담당자가 교체되더라도 업무에 차질이 생기지 않고 프로그램을 정상적으로 운영할 수 있음.