Language/Python
파이썬 기초 프로그래밍 1.컴퓨터의 이해
yuns94
2023. 3. 22. 23:49
방송대 Python
데이터와 정보
1. 데이터의 개념
- 어떤 현상이나 사실에 대한 설명 또는 집합
- 관찰이나 실험, 조사로 얻은 수치, 문자 형태의 표현할 수 있는 질적 또는 양적 값
- 불을 보고 붉다 , 밝다 , 뜨겁다 로 얻은 값 = 질적데이터
2. 정보의 개념
- 문제 또는 질문을 해결하기 위해 사용할 수 있는 데이터와 데이터의 집합
- 관찰이나 측정을 통하여(데이터)를 통하여 얻은 지식
- 관찰과 측정을 통해 얻은 데이터를 처리(정렬, 합산, 군집화)하여 실제 문제 해결에 도움이 되는 데이터 또는 결과물
3. 정보처리과정
현상(이벤트) 발생) => 관찰 측정 => 데이터 => 처리, 가공 => 정보
4. 관찰과 측정
- 관찰 : 사물 또는 현상을 파악하는 행위 => 주로 질적데이터 생산
- 측정 : 절대적인 기준에 맞춰 현상을 수치로 나타내는 과정
5. 처리와 가공
- 수집된 데이터의 집합을 정렬 , 군집화 , 계산 또는 표현방법 변경 등의 데이터를 변환하여 정보를 생산하는 과정
컴퓨터의 개념
1. 컴퓨터의 정의
- 데이터를 처리해서 정보로 변환하는데 도움을 주는 기계
2. 데이터의 기본단위
- 비트(bit, binary digit)
- 0 , 1 로 이루어짐
- 두가지의 상태값을 표현하는 기본 단위를 여러개 중첩시켜 데이터를 표현 , 처리
- 바이트(byte)
- 8개의 bit를 합쳐서 표현 => 0~255(256가지 표현가능)
3. 컴퓨터의 2진법
- 컴퓨터는 트랜지스터를 통해 2진법 숫자로 데이터를 표현하여 저장 및 처리
4. 아날로그와 디지털
- 아날로그 : 사물이나 개념을 연속적인 물리량의 값으로 표현, 질적 / 양적데이터로 표현
- 디지털 : 사물이나 개념을 이산적인 값으로 근사하여 표현, 양적데이터로 표현
5. 숫자 데이터의 표현
- 사람 : 10, 12진수 사용
- 컴퓨터 : 2진수 사용
- 진법변환 필요
6. 문자 데이터의 표현
- 사람 : 한글, 알파벳 등
- 컴퓨터 : 2진수 사용
- 인코딩 체계 활용 => ASCII 코드
- Q . 왜 ASCII CODE는 7비트일까 ?
컴퓨터와 프로그램
1. 프로그램
- 컴퓨터는 정보를 처리하기 위한 방법과 과정을 자의적으로 결정 불가능
- 처리 방법과 과정이 정의된 프로그램을 사용
- 프로그램이란 컴퓨터가 어떠한 작업을 자동으로 처리 할 수 있도록 처리 방법 및 순서를 컴퓨터가 이해할 수 있는 언어로 기술한 것
- 유사한 유형의 여러 문제를 추상화 시킨 알고리즘을 구현한 결과물
2. 정렬 알고리즘
- 모든 카드를 오름차순으로 정렬하는 문제
- 모든 유사한 문제를 처리할 수 있는 절차가 있다면 ? => 알고리즘 필요
- 정렬되지 않은 영역에서 가장 작은 수 하나를 찾는다 -> 맨앞의 카드와 바꾼다 -> 카드에 제대로 정렬되어 있는지 확인한다. (선택정렬 알고리즘)
3. 알고리즘의 정의
- 문제를 풀기위한 단계별 절차를 체계적 명령의 형태로 기술한 것
- 주언진 명령어를 처리하는 컴퓨터에게 문제를 해결하도록 만드는 정형화된 절차
4. 프로그래밍 언어
- 사람과 컴퓨터 사이의 의사소통 도구
- 명령어 2진수로 내려줘야 함 but 사람은 2진수로 명령을 못내림
- 프로그래머는 컴퓨터가 이해할 수 있는 언어를 사용하여 프로그램을 작성
5. 프로그래밍 언어의 분류
- 1세대 언어 : 기계어 / 0과 1 => 사람에게 어려움
- 2세대 언어 : 어셈블리어 / 명렁어 영어 대체 => 대중화에는 불편함
- 3세대 언어 : Python, C , Java, Rust => 자연어와 유사
- 4세대 언어 : Visual Basic => 자동화, 효율성 떨어짐
6. 프로그램의 실행
- 고급 프로그래밍 언어를 컴퓨터가 못알아들음
- -> 3, 4세대 언어를 사용하고 인터프리터와 컴파일러를 사용해 이진수 ( 0 , 1) 로 변환하여 컴퓨터에 전달
- 파이썬은 인터프리터 언어이다