본문 바로가기

정보처리산업기사 필기 공부/프로그래밍언어활용

변수 활용(프로그래밍언어활용)

프로그래밍 언어

 - 프로그래밍 언어란 컴퓨터 시스템을 동작시키기 위한 프로그램 작성 언어를 말한다.(비트(bit)라고 불리는 이진수의 값으로 변환된다)

 

비트(bit)

비트는 컴퓨터를 이해하기 위한 가장 기본적인 용어이다, 0과 1로만 구성된 이진법을 이용하며, 컴퓨터 이용 시 흔히 접할 수 있는 1byte는 8bit를 의미한다

 

구분 설명
바이트  1byte(B) = 8bit, 1bit = 0.125B
킬로바이트 1kilobyte(KB) = 8.192bit, 1bit = 0.000122KB
메가바이트 1MB = 8.388,608bit
기가바이트 1GB = 8.5899e+9bit
테라바이트 1TB = 8.7961e + 12bit
페타바이트 1PB = 9.0072e+15bit
엑사바이트 1EB = 9.2234e + 18bit

 

 

컴퓨터에 명령 전달 방법

 - 컴퓨터에 명령을 전달할 때에는 비트로 전달이 된다. 비트의 0과 1을 컴퓨터가 이해할 수 있는 방식으로 변환하여 전달하게 되는데, 그 방법으로는 전기적 신호를 이용하거나 광 신호를 이용하는 방식이 있다. 예를 들어 0 은 0V(볼트), 1은 5V(볼트)의 전기적 신호에 매칭 시켜 컴퓨터가 이해할 수 있도록 할 수 있다. 그밖에는 불을 깜밖이는 횟수에 차이를 두어 컴퓨터가 신호를 받아들일 수 있도록 하는 방식 등이 있다.

 

 

 

컴퓨터 시스템 구조

 - 컴퓨터는 전달받은 0과 1의 값들을 정해진 순서대로 실행하며 그 과정에서 처리(Processing), 저장(Store)등을 수행한다. 프로그램 실행 및 데이터 처리는 중앙 처리 장치(CPU)에서 수행하고, 저장은 기억장치(Memory)에서 수행하며, 중앙 처리 장치로부터 명령을 받아 데이터를 입력 또는 출력하는 일은 입출력 장치(I/O Device)에서 수행한다. 또 중앙 처리 장치에서는 목적에 따라 연산 등을 수행하는데, 연산을 위한 명령어가 실행되고 기록되기 위해서는 일반적으로 인출, 해석, 실행, 기록의 단계를 거쳐야 한다.

 

 

 

 

명령어 형식

 - 비트는 그 개수만큼 많은 정보를 전달할 수 있다. 용도에 따라 필드(Field)로 나눌 수 있으며, 필드의 수, 배치 방법, 각 필드에 포함되는 0과 1의 개수를 정의한 것을 명령어 형식이라고 한다.

 

연산 코드 : 수행될 연산을 지정(LOAD, ADD 등)

오퍼랜드 : 연산을 수행하는 데 필요한 데이터 또는 데이터의 주소

 

명령어의 길이 = 단어의 길이

 

연산 코드란? 

프로세서가 수행할 연산을 정의  또는 실행할 동작을 정의

 

오퍼랜드란?

각 연산은 한개 혹은 두개의 입력 오퍼랜드들과 한개의 결과 오퍼랜드를 포함

데이터는 CPU 레지스터, 주기억장치, 혹은 I/O 장치에 위치

다음 명령어 주소 현재의 명령어 실행이 완료된 후에 다음 명령어를 인출할 위치 지정

분기 혹은 호출 명령어와 같이 실행 순서를 변경하는 경우에 필요

 

 

 

 

 

프로그램 구성 요소

프로그램은 크게 자료구조알고리즘으로 구성된다.

 

1.자료 구조

- 자료구조는 컴퓨터에 데이터를 삽입, 삭제, 수정하게 해 주는 논리적인 공간 구조를 의미하며, 자료의 형태에 따라 단순 구조, 선형 구조, 비선형 구조, 파일 구조로 분류할 수 있다.

 

단순 구조(Simple) - 프로그래밍 언어에서 제공하는 기본 데이터 타입이다.(ex> int, float, double, char 등)

선형 구조(Liner) - 자료들 사이의 선후 관계가 일대일인 구조이다.(ex> 연결 자료 구조, 순차 자료 구조, 스택, 큐, 덱 등)

비선형 구조(Non-Liner) - 자료들 사이의 선후 관계가 계층 또는 그물 형태를 가지는 구조이다.(ex> 트리, 그래프 등)

파일 구조(File) - 보조 기억 장치에 데이터 값이 실제로 기록되는 자료 구조이다.(ex> 순차 파일, 색인 파일 등)

 

 

2.알고리즘

알고리즘은 넓은 의미에서 자료 구조와 함께 프로그램을 구성하는 요소를 의미하며, 좁은 의미에서는 어떤 문제에 대한 답을 찾는 해법을 의미한다.

 

입력 - 외부로부터 입력되는 자료가 0개 이상이어야 한다.

출력 - 출력되는 결과가 1개 이상이어야  한다.

명확성 - 각 명령어의 의미가 명확하여야 한다.

유한성 - 정해진 단계를 지나면 종료되어야 한다.

유효성 - 모든 명령은 실행이 가능한 연산들이어야 한다.

 

알고리즘의 표현은 자연어, 순서도, 의사 코드, 프로그래밍 언어를 이용하는 방법이 있으며, 따라서 프로그래밍 언어가 아니더라도 알고리즘의 표현은 가능하다.

 

좋은 알고리즘의 분석 기준

정확성 - 적당한 입력에 대해서 유한 시간내에 올바른 답을 산출하는가를 판단

작업량 - 전체 알고리즘에서 수행되는 가장 중요한 연산들로만으로 작업량을 측정

기억 장소 사용량 - 수행에 필요한 저장 공간

최적성 - 

복잡도 - 

 

 

 

 

 

용어 정의

프로그래밍을 위한 대표적인 용어로 변수, 바인딩, 데이터 타입 등이 있다. 데이터 타입을 변수에 적용하기 위해서는 다음 용어에 대한 이해가 필요하다.

 

1. 변수 : 어떤 값을 주기억 장치에 기억하기 위해서는 사용하는 공간을 의미한다.

2. 식별자 : 프로그램의 구성 요소를 구별하기 위한 기준으로, 변수명이 식별자에 속한다.

3. 바인딩 : 변수와 변수에 관련된 속성을 연결하는 과정으로, 정적 바인딩과 동적 바인딩으로 구분된다.

  1) 정적 바인딩 : 프로그램 실행 시간 전에 속성을 연결하는 방식이다.

  2) 동적 바인딩 : 프로그램 실행 시간에 속성을 연결하는 방식이다.

4. 선언 :  변수에 이름, 데이터 타입 등의 속성을 부여하는 작업으로, 명시적 선언과 묵시적 선언으로 구분된다.

  1) 명시적 선언 : 선언문을 이용하여 변수 이름을 나열하고 속성을 부여하는 방식이다.

  2) 묵시적 선언 : 별도의 선언문 없이 디폴트 규칙에 의해 속성이 부여되는 방식이다.
5. 영역 : 이름이 사용되는 범위를 의미하며, 정적 영역과 동적 영역으로 구분된다.

  1) 정적 영역 : 변수를 찾을 때 구조에 기반하는 방식이다.

  2) 동적 영역 : 변수를 찾을때 구조보다는 순서에 기반하는 방식이다.

6. 할당 : 변수에 메모리 공간을 바인딩하는 작업을 의미한다.

7. 데이터 타입 : 변수가 가질 수 있는 속성값의 길이 및 성질을 의미한다.

8. 연산자 : 데이터 처리를 위해 연산을 표현하는 기호로 +,- 등과 같은 연산자를 포함한다.

9. 명령문 : 프로그램을 구성하는 문장으로, 지시 사항을 처리하는 단위를 의미한다.



 

 

1.변수명.txt
0.00MB