AI/파이썬

파이썬 01 컴퓨터와 프로그램

Ayel 2026. 4. 12. 12:34

 

 

컴퓨터의 구성

 

 

1. 컴퓨터가 다루려고 하는 대상

-> 데이터, 정보

 

1) 데이터(data)

: 관찰이나 측정을 통해 얻은 수치, 문자 형태의 표현할 수 있는 또는 양적 값

 

2) 정보(information)

: 획득한 데이터를 처리해 실제 문제 해결이 도움이 되도록 변형된 데이터 또는 결과물

 

현상 > 관찰/측정 > 데이터 > 처리/가공 > 정보

 

3) 컴퓨터

: 사전에 정의된 절차에 따라 입력 데이터를 자동으로 처리해 정보를 생산하는 기계

 

 

2. 컴퓨터의 구성요소

: 하드웨어+소프트웨어

 

1) 하드웨어: 컴퓨터를 구성하고 있는 물리적 부품(처리장치)

 

2) 소프트웨어: 다양한 장치들을 동작시켜 특정 작업을 해결하는 프로그램

 

3) 하드웨어의 물리적 구성

CPU, ODD, RAM, HDD, Video Card

 

4) 하드웨어의 논리적 구성

- 기계를 바꾸지 않고 소프트웨어 교체만으로 무엇이든 할 수 있게 만든 컴퓨터의 기본 설계

- 역할에 따라 입력, 기억/저장, 제어, 연산, 출력 장치로 구분

 

* 폰 노이만 구조

 

5) 소프트웨어의 구조

: 각각의 고유한 기능을 수행하는 하드웨어가 언제 어떻게 동작하여 문제를 해결할 수 있는지 지시하는 명령어 집합

 

* 응용 소프트웨어: 사용자의 업무나 목적에 맞게 문제 해결을 위한 처리 절차를 표현한 명령어 집합

* 시스템 소프트웨어: 하드웨어를 제어, 관리하여 응용 소프트웨어를 실행할 수 있는 호나경을 제공

ex. 운영체제, 컴파일러, 유틸리티 등

 

 

하드웨어의 구성

 

 

1. 컴퓨터와 2진법

 

1) 컴퓨터와 2진법

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

 

2) 데이터의 기본 단위

- bit(binary digit)

- byte

-> 트랜지스터를 그대로 사용하고 있기 때문에 지금도 2진법을 사용

 

 

2. 하드웨어의 구성

 

1) 기억장치(주기억장치)

- 데이터와 프로그램 및 처리 결과를 임시적으로 기억을 담당하는 컴퓨터 작업 공간

- 저장장치의 순차적 접근과 달리 무작위 순서로 빠른 접근 가능

 

- ROM: 읽기전용. 전원차단 시 기억내용 보존

- RAM: 읽기/쓰기 모두 가능하며, 전원차단 시 초기와

 

2) 저장장치(보조기억장치)

- 전원이 소실되어도 저장된 정보가 훼손되지 않는 영구적 기록 장치

- 현대 컴퓨터 장치에서는 HDD가 기본 저장장치

 

3) 입력장치

: 키보드, 마우스 등

 

4) 출력장치

: 모니터, 프린터 등

 

5) 제어/연산 장치

: 명령어와 데이터를 읽고 데이터를 연산 또는 처리하는 장치

- CPU: 레지스터, 연산 논리 유닛(ALU), 제어 유닛(Control Unit)으로 구성

 

6) 메인보드/마더보드

: 각 컴퓨터 장치를 연결해주는 회로를 갖춘 장치

 

 

프로그램의 실행

 

 

1. 프로그램의 개념

 

- 컴퓨터는 자의적으로 데이터를 처리해 정보를 생산하는 것이 불가능

-> 주어진 문제를 풀기 위해 단계적 절차를 명시한 지시서 필요

-> 각 단계별 필요한 하드웨어를 사용해 결과 생성

 

- 소프트웨어, 응용프로그램, 애플리케이션 등 다양한 용어로 불림

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

 

 

2. 알고리즘(Algorithm)

 

1) 알고리즘의 정의

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

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

 

2) 정렬 알고리즘: 우열을 비교할 수 있는 데이터로 일정한 순서대로 정렬 또는 순서화

- 선택정렬 알고리즘

 

 

3. 프로그래밍 언어

 

1) 프로그래밍 언어란?

- 사람과 컴퓨터 사이의 의사소통 도구(인터페이스)

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

 

2) 프로그래밍

- 문제해결을 위한 절차인 '알고리즘'을 '프로그래밍 언어'로 작성하는 과정

 

3) 프로그래밍 언어의 분류

- 저급언어

- 고급언어

저급언어 고급언어
1세대 2세대 3세대 4세대
기계어 어셈블리어 Python, C, Java, Rust Visual Basic
0과 1 명령어 영어 대체 자연어와 유사 자동화

 

4) 프로그램의 실행

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

-> 컴파일러 또는 인터프리터 사용

 

 


 

 

* 컴퓨터는 사전에 정의된 절차에 따라 입력된 데이터를 가공, 문제 해결에 유용한 정보로 변환하는 기계

* 컴퓨터는 하드웨어와 소프트웨어로 구성


* 컴퓨터 하드웨어는 역할에 따라 입력, 기억·저장, 제어, 연산, 출력의 5가지 장치로 구분되며, 이를 폰 노이만 구조라고 한다.
* 소프트웨어(프로그램)는 문제를 해결하기 위한 단계별 절차인 알고리즘을 컴퓨터가 이해할 수 있는 명령어로 구현한 결과물

 

* 컴퓨터는 모든 정보를 비트로 처리하며, 8개의 비트가 모여 문자와 숫자를 표현하는 기본 단위인 바이트가 된다.
* 사람이 사용하는 자연어와 유사한 고급 언어로 작성된 '소스 코드'는 컴파일러나 인터프리터를 통해 컴퓨터가 이해할 수 있는 기계어로 변환되어 실행된다.

 

 

 

'AI > 파이썬' 카테고리의 다른 글

파이썬 02 파이썬 시작  (0) 2026.04.12