본문 바로가기
IT의 모든 것/IT 상식

기본 프로그래밍 언어_프로그래밍 언어(feat. chatgpt)

by 어깨 :) 2023. 3. 20.
728x90

● 기본 프로그램

 

1.  프로그램(program)의 구분

  1. 소스 프로그램(Source Program): 소스 프로그램은 개발자가 작성한 프로그램 코드를 의미합니다. 소스 코드는 일반적으로 사람이 이해할 수 있는 고급언어로 작성됩니다. 예를 들어, C, Java, Python 등의 프로그래밍 언어로 작성된 코드가 소스 프로그램입니다.
  2. 목적 프로그램(Object Program): 목적 프로그램은 소스 프로그램을 컴파일러나 어셈블러 등의 프로그램을 사용하여 컴퓨터가 이해할 수 있는 기계어로 번역한 결과물입니다. 목적 프로그램은 일반적으로 실행 가능한 프로그램이 아니며, 추가적인 링킹(linking) 과정을 거쳐 실행 가능한 실행 파일이 생성됩니다.
  3. 실행 프로그램(Executable Program): 실행 프로그램은 목적 프로그램이 링킹된 후 생성된 실행 파일로, 컴퓨터에서 직접 실행될 수 있는 프로그램을 의미합니다. 실행 프로그램은 일반적으로 .exe(윈도우즈), .app(Mac OS), .sh(Linux/Unix) 등의 확장자를 가지며, 컴퓨터의 운영체제와 호환됩니다.

따라서, 소스 프로그램은 개발자가 작성한 코드, 목적 프로그램은 컴퓨터가 이해할 수 있는 기계어로 번역된 코드, 실행 프로그램은 목적 프로그램이 링킹되어 컴퓨터에서 직접 실행 가능한 프로그램을 의미합니다.

 

소스 프로그램
(Source Program)
 - 프로그래밍 언어를 이용하여 작성한 원시 프로그램
 - 알파벳, 숫자, 기호를 이용하여 기록하므로 인간이 이해할 수 있는 형태
목적 프로그램
(Object Program)
 - 소스 프로그램을 컴파일러로 번역한 상태의 프로그램
 - 01로 구성된 기계어로 기록되어 인간이 이해하기 어려움
 - 실행에 필요한 여러 가지 데이터가 없어 실행 불가능
실행 프로그램
(Object Program)
 - 목적 프로그램을 연계 편집에 의해 재편집한 상태의 프로그램
 - 기계어이면서 실행에 필요한 모든 정보를 담고 있어 실행 가능

 

 

 

 

2. 프로그램의 순서

 

 

 

● 순서도

 

1, 순서도의 개념 및 종류

프로그램의 흐름을 기호화, 프로그램의 흐름 분석과 논리적인 오류 파악이 쉬움, 원시 프로그램의 작성이 용이하여 코딩작업이 간편

 

시스템 순서도  - 시스템 전반에 걸친 내용 (= 처리 순서도)
프로그램 순서도  - 프로그래밍 이론에 맞게 작성
개요 순서도  - 프로그램의 대략적인 흐름을 한눈에 파악할 수 있도록 작성
상세 순서도  - 일반 순서도를 세분하여 자세히 풀어 놓은 것, 코딩의 기본 자료

 

 

 

 

 

2. 순서도 기호

 

 

● 프로그래밍 언어

 

 

1. 프로그래밍 언어

저급
언어
기계어  - 컴퓨터가 직접 이해 가능한 2진수로 구성, 처리속도가 매우 빠름
어셈블리어  - 기계어 명령어 하나에 어셈블리 기호 명령어 하나씩 대응
고급
언어
BASIC  - 교육용, 대표적 인터프리터 방식의 언어, 시분할 시스템 지원
FORTRAN  - 과학기술계산용 언어, 복잡한 계산에 적합
COBOL  - 사무처리용 언어, 다량의 데이터 처리에 적합
ALGOL  - 알고리즘을 기술하기 위한 언어
RPG  - 사무용, 간단한 파일 입.출력 처리에 적합
PL/1  - COBOLFORTRAN의 장점을 모은 이상적 언어
PASCAL  - 교육용으로 제작된 알고리즘 형식의 언어
C  - B언어에서 발전, UNIX 시스템 구축 목적, HW 제어와 이식성 우수
- 컴파일러나 SW 개발용 도구로 사용, 미국 벨연구소에서 개발한 시스템 언어
JAVA  - 객체 지향적 프로그래밍 언어, 앱 등 가장 많이 사용, 사용 용이
Python  - 플랫폼에 독립적, 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어
R  - 통계 계산과 그래픽을 위한 프로그래밍 언어, AI 데이터 처리에 적합

 

 

 

 

 

 

2. 언어 번역기의 종류

어셈블 (Assemble)  - 어셈블리어
 


컴파일 (Compile)


 
- FORTRAN, COBOL, C, ALGOL, PASCAL






인터프리트 (Interpret)  - BASIC, PROLOG, LISP
 - 작성된 원시 프로그램을 1줄 씩 읽어 번역 및 실행 (대화형)
 - 번역으로 생성된 중간 코드는 실행 후 삭제되어 목적 프로그램이 없음

 

 

 

 

 

 

3. 프로그래밍 관련 기법

구조적 프로그래밍  - 작은 단위의 모듈을 작성하는데 매우 효과적
 - 전반적인 시스템 설계 및 분석에는 부적합
라이브러리 (Library)  - 프로그램 작성할 때 이미 만들어진 프로그램이나 루틴을 불러 자주 사용
매크로 (Macro)  - 프로그램 내에서 반복적으로 사용되는 별도 정의된 명령어의 집합 (백업시에 많이 사용)
세그먼테이션
(Segmentation)
 - 가장 메모리장치에서 주기억장치보다 큰 프로그램이나 데이터 처리의 기법
 - 명령어를 갖은 코드 세그먼트, 자료를 갖은 스택, 데이터, 엑스트라 세그먼트 등
(매크로와 비슷한 기능을 가지고 있음)
가상메모리 (Virtual M)  - 주기억장치 보다 큰 가상공간을 사용할 수 있는 기법 (페이징, 세그먼테이션)
루핑 (Looping)  - 프로그램에서 일정한 횟수나 조건을 만족할 때까지 반복 수행
서브루틴 (Sub-Routine)  - 프로그램은 여러 개의 루틴으로 구성
 - 자주 수행되는 작업을 서브루틴으로 독립,
 - 메인 루틴이나 다른 서브루틴에서 필요 시 호출

 

728x90