1. 데이터와 정보
(1) 데이터의 개념
- 어떤 현상이나 사실에 대한 설명 또는 설명의 집합을 의미한다.
(2) 데이터의 정의
[1] 데이터 (data)
- 관찰이나 실험, 조사로 얻은 사실
- 이론을 세우는데 기초가 되는 사실 또는 바탕이 되는 자료
정리 : 관찰이나 측정을 통해 얻은 수치, 문자 형태의 표현할 수 있는 질적또는 양적의 값을 의미한다.
(3) 정보의 개념
- 문제 또는 질문을 해결하기 위해 사용할 수 있는 데이터와 데이터의 집합을 의미한다.
(4) 정보의 정의
[1] 정보 (information)
- 어떤 데이터나 소식을 통하여 얻은 지식이나 상태의 총량
- 관찰이나 측정을 통하여 수집한 자료를 문제 해결에 도움이 될 수 있도록 정리한 지식
정리 : 관찰과 측정을 통해 얻은 데이터를 처리(정렬, 합산, 군집화 등)하여 실제 문제 해결에 도움이 되는 데이터 또는 결과물을 의미한다.
(5) 정보 처리 과정
- 데이터는 현상에 대한 관찰과 측정으로 생성
- 데이터는 기록된 사실이지만, 직접적으로 문제를 해결하는데 도움이 되지 않음.
- 처리와 가공을 통해 정보로 변환을 하는데 이러한 처리와 가공이 "정보 처리 과정" 이다.
(6) 처리와 가공
- 수집된 데이터의 집합을 정렬, 군집화, 계산 또는 표현방법 변경 등의 데이터를 변환하여 정보를 생산하는 과정
2. 컴퓨터의 개념
(1) 컴퓨터의 정의
- 데이터의 증가함에 따라 많은 데이터를 처리해 정보로 만들기에는 어려움이 있어 "컴퓨터"가 만들어졌다.
- 컴퓨터는 정의된 방법에 따라 입력된 데이터를 자동으로 처리하여 정보를 생산하는 기계를 의미한다.
- 컴퓨터가 데이터를 처리해 정보로 만들어주는 기계
(2) 데이터의 기본 단위
- 컴퓨터는 있지만 처리를 위해선 컴퓨터에서 데이터를 표현을 해야하기 떄문에 만들어진것이 데이터의 단위이다.
[1] 비트(bit, binary digit) / 이진수
- 이진수를 활용해 두 가지 상태로 데이터를 표현한 가장 작은 단위이다. ( 0은 off / 1은 on )
- bit 하나당 하나의 on 또는 off가 될 수 있는 공간이라고 생각하면 된다. 즉, 한개당 2개의 상태를 가진다.
- 1 bit = on / off 총 2개의 표현이 가능함
- 2 bit = on : on / off : off / on : off / off : on 총 4개의 표현이 가능 -> 결론은 2² 을 의미함.
- 3 bit = 총 8개의 표현이 가능 -> 결론 2³ 의미함.
- 정리하면 비트가 늘어날수록 표현 할 수 있는 범위는 2ⁿ 만큼 늘어난다. (비트가 제곱이 된다.)
[2] 바이트(byte)
- 하나의 바이트는 총 8개의 비트를 가지고 있다.
- 예전 컴퓨터 구조에서 문자 하나를 저장하거나 처리하려면 8비트가 딱 적당했었다.
- 그래서 8비트를 1byte라는 단위로 표준을 정의했음. ( 결론은 제일 많이 쓰이기 때문에 만들어진 단위 )
- 8 bit = 2⁸ 이기 때문에 총 256가지 까지의 상태 표현이 가능하다.
- 해당 이진수는 각각의 고유한 값을 가지게 되므로, 원하는 숫자를 이진수로 표현이 가능하다.
(3) 컴퓨터와 2진법
[1] 이진법을 사용하는 이유
- 트랜지스터의 상태가 이진법을 사용하기에 매우 적합한 상태라 이진법을 사용하게 됨.
- 트랜지스터는 2가지의 상태를 가지고 있음 ( 전류 흐르는 상태 / 흐르지 않는 상태 )
- 트랜지스터에 전류가 흐르는 상태를 1 전류가 흐르지 않는 상태를 0으로 표현함.
- 트랜지스터에는 이미터, 베이스, 콜렉터 총 3가지가 있음.
- 이미터에는 전류가 항상 흐로고 있고, 베이스에 특정 전압을 가하면 콜렉터에 전류가 흐름
- 이 과정에서 베이스에 전압을 가하기 전엔 0 , 가한 후에는 1이 되는 원리이다.
- 결국은 트랜지스터 1개를 1bit로 볼 수 있다.
(4) 아날로그와 디지털
- 컴퓨터가 등장하며, "아날로그"와 "디지털"이라는 단어가 나와 구분을 하기 시작함.
[1] 아날로그
- 사물이나 개념을 연속적인 물리량 값으로 표현
- 즉, 연속적인 모든 값들을 표현할 수 있음.
[2] 디지털
- 사물이나 개념을 이산적인 값 즉, 모든 것을 숫자로 표현을 하게 됨.
- 연속적으로 모든 값을 표현할 수 없음. 즉, 중간에 일어나는 과정을 표현할 수 없으므로 이산적이다.
* 예시 : 가장 큰 예시로는 "아날로그 시계" 와 "디지털 시계" 가 있다.
[3] 정리
- 디지털 데이터를 사용하는 컴퓨터는 현실세계의 물리량을 모두 표현이 불가능하며, 근사하게만 표현이 가능함.
(5) 숫자 데이터의 표현
- 현실 세계에선 일반적으로 10진수, 12진수 등 여러 진수를 사용함.
- 반면, 컴퓨터는 무조건 2진수만 사용이 가능하다.
- 즉, 현실 세계의 10진수나 12진수를 2진수로 변환을 해야지만 컴퓨터로 표현이 가능하다는 말이다.
- 진법 변환 과정을 통해 현실 세계의 숫자를 이진수로 변환한 뒤 컴퓨터가 이해하게 만드는 과정을 거친다.
(6) 문자 데이터의 표현
- 현실 세계의 문자의 종류는 매우 다양하다. ( 언어의 종류도 엄청 다양하고 많음 )
- 현실 세계의 문자를 컴퓨터의 이진수로 변환 즉, 표현하기 위한 방법으로는 인코딩 체계를 이용한다.
- "인코딩 체계"란 문자를 숫자로 바꾸고, 그 숫자를 이진수로 표현하는 방법이다.
[1] ASCII 코드표
- 가장 처음에 만들어진 인코딩 체계이다.
- American Standard Code for Information Interchange의 약자로 미국 정보 교환 표준 부호를 의미한다.
- 쉽게 말해, 컴퓨터가 문자나 기호를 숫자로 표현할 수 있도록 만든 표준 코드 체계이다.
- 해당 숫자가 문자인지 숫자인지 구별을 하기 위해 구별 정보를 별도 공간 속에 저장을 하는 방식을 이용함.
* 프로그래밍을 하다보면 데이터 타입을 사용하는데, 그러한 데이터 타입이 문자와 숫자 등 이런것들을 구분하기 위함임.
3. 컴퓨터의 프로그램
(1) 프로그램의 이해
- 컴퓨터는 정보를 처리하기 위해 방법과 과정을 자의적으로 결정을 할 수 없다. 즉, 자의적 결정이 불가능하다.
- 컴퓨터가 언제, 어디에 저장되어있는 데이터를 처리해서 그 결과를 어디에 저장시키거나 보여줄지를 정의해야함.
- 즉, 처리 방법과 과정이 정의된 내용을 프로그램이라고 한다.
- 프로그램은 단순히 알고리즘을 구현한 결과물이라고 볼 수도 있다.
(2) 알고리즘
- 문제를 풀기 위한 단계별 절차를 체계적 명령의 형태로 기술한 것
- 쉽게말해, 공통점과 규칙을 찾아 문제를 해결하기 위한 일련의 절차나 방법을 알고리즘이라고 한다.
- 유사한 모든 문제를 풀기 위한 틀을 만드는 것이 알고리즘 일 수 있다.
- 이러한 알고리즘을 구현한 것이 프로그램이다.
(3) 프로그래밍 언어
- 사람과 컴퓨터 사이의 의사소통 도구
- 사람이 이해할 수 있는 언어를 이용해 프로그램을 작성한 뒤 이진수로 변환하여 컴퓨터가 실행을 시킴.
[1] 프로그래밍 언어의 분류
- 프로그래밍언어는 점점 사람이 읽기 쉽게 진화를 하고 있음.
- 1세대(저수준 언어) : 기계어 -> 0과 1을 그대로 써서 프로그램을 만듦(너무 헷갈리고 복잡함)
- 2세대(저수준 언어) : 어셈블리어 -> 명령어 영어로 대체해 사용을 함.
- 3세대(고소준 언어) : Python / C / Java / Rust -> 자연어와 유사한 언어
- 4세대(고소준 언어) : Visual Basic -> 자동화 마우스 몇번의 클릭으로 프로그램을 만듦(효율성은 떨어짐)
(4) 프로그램의 실행
- 3세대 / 4세대 고수준 프로그래밍 언어로 만들어진 프로그램은 컴퓨터 알아볼 수 없음.
- 즉, 알아보게 하기 위해서는 고수준 언어를 컴퓨터 기계어로 변환을 시켜줘야함.
- 이때 필요한게, 컴파일러 / 인터프리터 이다. ( 일종의 번역기라고 생각하면 됨 )
'⚡Python' 카테고리의 다른 글
[Python] 5강 - 순차 구조 및 제어 구조 (0) | 2025.04.15 |
---|---|
[Python] 4강 - 파이썬 시작하기 (0) | 2025.04.14 |
[Python] 개인 컴퓨터에서 파이썬 설치 및 VS Code로 실행하기 (0) | 2025.04.11 |
[Python] 3강 - 파이썬의 이해 (1) | 2025.04.11 |
[Python] 2강 - 컴퓨터의 구성 (0) | 2025.04.09 |