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) 로 변환하여 컴퓨터에 전달
    • 파이썬은 인터프리터 언어이다