파이썬

[파이썬 1강] 컴퓨터의 이해 1

땅콩아놀자 2025. 3. 8. 16:19
반응형
 학습개요
  1. 우리의 사회는 업무에 필요한 데이터를 신속하게 찾아 요약하고 분석하여 가치있는 정보로 재생산할 수 있는 능력이 더욱 요구되는 사회로 변화함에 따라 컴퓨터에 대한 이해가 점차 중요해지고 있다. 대량의 데이터를 처리를 위한 목적으로 개발된 컴퓨터를 보다 유용하게 활용하기 위해서는 컴퓨터에서 데이터와 정보가 어떻게 표현ㆍ저장ㆍ처리되고 이 과정에서 어떠한 개념들이 적용되는지 이해할 필요가 있다. 이번 강의에서는 데이터와 정보의 개념과 디지털과 아날로그의 개념, 디지털 데이터의 표현 방식, 그리고 프로그램과 알고리즘에 대해서 살펴본다.
 학습목표
  1. 데이터와 정보의 차이점을 설명할 수 있다.
  2. 데이터의 표현 방식에 대해 설명할 수 있다.
  3. 프로그램과 알고리즘의 차이점에 대해 설명할 수 있다.
 주요용어
  1. 데이터: 어떤 현상이나 사실에 대한 설명 또는 설명의 집합
  2. 정보: 문제 또는 질문을 해결하기 위해 사용할 수 있는 데이터와 데이터의 집합
  3. 프로그램: 컴퓨터가 어떠한 작업을 자동으로 처리할 수 있도록 처리 방법 및 순서를 컴퓨터가 이해할 수 있는 언어 형태로 기술한 것
  4. 알고리즘: 문제를 풀기 위한 단계별 절차를 체계적 명령의 형태로 기술한 것
 정리하기
  1. 데이터란 관찰이나 측정을 통해 얻은 수치, 문자와 같은 변할 수 있는 질적 또는 양적 값을 뜻한다.
  2. 정보란 데이터를 처리하여 실제 문제해결에 도움이 될 수 데이터를 정리한 결과물을 뜻한다. 데이터 처리에는 정렬, 합산, 군집화 등의 작업이 동반된다.
  3. 데이터는 현상으로부터 관찰 및 측정을 통해 얻어지며, 정보는 데이터를 처리 및 가공하여 추출된다.
  4. 컴퓨터란 입력된 데이터를 자동으로 처리하는 기계로, 데이터 처리 과정을 순서화하여 전체 과정을 자동화할 수 있는 장치를 말한다.
  5. 컴퓨터는 데이터를 외부로부터 받아들이는 입력기능, 내부 장치를 조정하는 제어기능, 입력된 데이터를 저장하는 저장⦁기억기능, 계산을 수행하는 연산기능, 내부의 데이터를 사용자에게 전달하는 출력기능을 갖추고 있다.
  6. 디지털 컴퓨터는 0과 1이라는 신호만으로 동작하기 때문에, 데이터 및 명령문 또한 0과 1로 표현되어야 한다. 즉, 수나 문자, 명령어 모두 0과 1로 표현된다.
  7. 프로그램이란 컴퓨터가 어떠한 작업을 자동으로 처리할 수 있도록, 처리 방법 및 순서를 컴퓨터가 이해할 수 있는 언어로 기술해 놓은 것을 뜻한다. 프로그램을 제작하는 사람을 프로그래머라고 하며, 이 제작 과정은 프로그래밍이라 부른다.
  8. 알고리즘은 문제를 풀기 위한 단계별 절차를 수학적으로 기술한 것을 뜻한다. 알고리즘에는 입력과 출력이 있어야 하며, 명확성과 유한성, 효율성이 보장되어야 한다.
  9. 프로그램은 프로그래밍 언어를 이용하여 알고리즘을 구현한 결과이며, 프로그래밍 언어로 작성된 소스코드를 컴파일러나 인터프리터를 통해 컴퓨터에서 실행될 수 있는 프로그램으로 생성된다.

1. 데이터와 정보

데이터의 개념 : 

국립국어원 표준국어 대사전

관찰이나 실험, 조사로 얻은 사실

이론을 세우는데 기초가 되는 사실 또는 바탕이되는 자료

→ 관찰이나 측정을 통해 얻은 수치, 문자 형태의 표현할 수 있는 질적(quality) 도는 양적(quantity) 값

불로 보게 되면 붉다, 밝다, 뜨겁다는 느낌을 표현한 것을 질적 데이터이고 온도를 나타내는 3500도는 규격에 맞게 수치화, 분포화 시키는 것을 양적데이터

 

정보는 데이터와 무엇이 다를까?

저 파란색은 무엇일까? 붉고 뜨거운 것과는 무엇이 다를까?

문제 또는 질문을 해결하기 위해 사용할 수 있는 데이터와 데이터의 집합

 

정보는 표준국어 대사전에 따르면 어떤 데이터나 소식을 통하여 얻은 지식이나 상태의 총량, 관찰이나 측정을 통하여 수집한 자료를 문제 해결에 도움이 될 수 있도록 정리한 지식.

 

관찰과 측정을 통해 얻은 데이터를 처리(정렬, 합산, 군집화 등)하여 실제 문제 해결에 도움이 되는 데이터 또는 결과물

 

정보 처리 과정

- 데이터는 현상에 대한 관찰과 측정으로 생성

- 데이터는 기록된 사실이지만, 직접적으로 문제를 해결하는데 도움이 되지 않음

- 처리와 가공을 통해 정보로 변환

 

관찰과 측정

- 관찰 : 사물 또는 현상을 파악하는 행위

- 측정 : 절대적인 기준에 맞춰 현상을 수치로 나타내는 과정

- 연속적 데이터, 범주적 데이터로 나뉘게 된다.

 

처리와 가공

`불의 온도에 따라 나타나는 색상을 나열` -> 궁금증을 해결할 수 있는 데이터가 됨

수집된 데이터의 집합을 정렬, 군집화, 계산 또는 표현방법 변경 등의 데이터를 변환하여 정보를 생산하는 과정

 

2. 컴퓨터의 개념

컴퓨터의 정의

정의된 방법에 따라 입력된 데이터를 자동으로 처리하여 정보를 생산하는 기계

 

데이터의 기본 단위

컴퓨터가 데이터를 처리해 정보를 만들 수 있을려면 데이터는 컴퓨터의 내부로 진입, 저장되어야 하는데 

데이터를 저장할 수 있는 기본 단위가 필요 하다.

 

- 비트(bit, binary digit)

 : 두개의 상태를 갖는 가장 작은 단위, 2진수

-> 불이 꺼져있다 혹은 켜져있다, 0 또는 1 이런 것

- 두가지의 상태값을 표현하는 기본 단위를 여러 개 중첩시켜 데이터를 표현 또는 처리

 

- 바이트(byte)

 

컴퓨터와 2진법

컴퓨터는 트랜지스터를 통해 2진법 숫자로 데이터를 표현하여 저장 및 처리

 

아날로그와 디지털

아날로그(analog)

- 사물이나 개념을 연속적인 물리량 값으로 표현

- 질적 데이터 또는 양적 데이터로 표현

 

디지털(digital)

- 사물이나 개념을 이산적인 값으로 근사하여 표현

- 양적 데이터로 표현

 

숫자 데이터의 표현

우리가 일상적으로 사용하는 여러 데이터 값들을 내부에서 어떻게 처리할까요?

사람은 보통 10진수, 12진수 등을 사용한다.

컴퓨터는 2진수 밖에 사용을 안한다. 진법 변환을 하여 사용하게 된다.

 

문자 데이터의 표현

한글과 알파벳 등을 사용하면 2진수로 변환을 시켜서 사용을 한다.

인코딩, 디코딩 체계를 쓰게 됨

 

- 인코딩 체계 ASCII 코드 표

어떤 코드를 통해 정보를 교환하기 위한 미국 표준 표

숫자, 문자의 구별 정보를 별도 공간 속에 저장해둔다.

 

 

 

3. 컴퓨터와 프로그램

프로그램의 이해

- 컴퓨터는 정보를 처리하기 위한 방법과 과정을 자의적으로 결정 불가능

- 처리 방법과 과정이 정의된 프로그램을 사용

→ 프로그램이란 컴퓨터가 어떠한 작업을 자동적으로 처리할 수 있도록 처리 방법 및 순서를 컴퓨터가 이해할 수 있는 언어 형태로 기술 한것

→ 유사한 유형의 여러 문제를 추상화시킨 알고리즘(algorithm)을 구현한 결과물

 

프로그램보다 더 중요한 것은 정보를 처리하는 과정, 알고리즘

- 정렬 알고리즘

: 모든 카드를 오름차순으로 정렬하는 문제

 

모든 유사한 문제를 처리할 수 있는 절차가 있다면? 

 

     선택정렬 알고리즘

     1. 정렬되지 않은 영역에서 가장 작은 수 하나를 찾는다.

     2. 맨 앞의 카드와 맞바꾼다.

     3. 카드가 제대로 정렬되었는지 확인한다.

 

 

알고리즘의 정의

- 문제를 풀기 위한 단계별 절차를 체계적 명령의 형태로 기술한 것

- 주어진 명령어를 처리하는 컴퓨터에게 문제를 해결하도록 만드는 정형화된 절차

- 순서도로 나타낼 수 있음

순서도

 

프로그래밍 언어

- 사람과 컴퓨터 사이의 의사 도구

- 프로그래머는 컴퓨터가 이해할 수 있는 언어를 사용하여 프로그램을 작성

 

 

프로그래밍 언어의 분류

 

 

 

프로그램의 실행

고급 언어로 작성된 프로그램은 기계어 밖에 인식할 수 없는 컴퓨터에 의해 실행 불가능

→ 컴파일러 또는 인터프리터를 사용

 

 

반응형