본문 바로가기

KNU Freshman/컴퓨터학개론

(2) 컴퓨터의 역사 & 알고리즘

컴퓨터의 특징

- 기계가 스스로 정보를 읽어서 저장할 수 있는 메모리가 있어야 함

-명령어를 자동으로 수행하는 프로그래밍을 할 수 있어야 함

 

*파스칼의 계산기 or 라이프니치의 계산기는 컴퓨터로 보기 어려움 

 

컴퓨터의 발전 과정

 

1. 주판

 

2. 파스칼의 계산기(1672)

- 덧셈과 뺄셈이 가능한 최초의 기계식 계산기

 

3. 라이프니치의 계산기(1674)

- 덧셈, 뺄셈, 곱셈, 나눗셈이 가능한 계산기

 

------------- 여기서부터 컴퓨터의 진정한 발전 ------------- 

 

4. 조셉 자커드의 직조기(1801)

-프로그래밍이 가능한 기계

-향후 컴퓨터 발전에 많은 영향을 미침

 

5. 배비지의 차분기관과 해석기관(1820~1830년대)

-영국의 수학자 배비지는 다항함수를 계산할 수 있는 기계식 계산기인 차분기관 고안, 일반적인 계산이 가능한 해석기관도 설계

 

<해석기관의 구성>

1. 자료를 연산하는 부분

2. 자료를 저장하는 부분

3. 천공 카드에 있는 명령어를 처리하는 연산 부분

4. 다른 천공 카드로 출력하는 장치

 

6. 천공카드 시스템(1889)

-미국의 홀러리스는 종이카드에 구멍을 뚫어 자료를 처리하는 천공카드 시스템 개발

-IBM의 시초가 되었음

 

7. MARK - I (1931)

-진공관을 사용하여 이진수를 사용하는 세계 최초의 전기 기계식 계산기

 

8. 튜링 머신 (1936)

-튜링머신은 계산하는 기계의 개념을 설명하기 위한 가상의 기계

 

<튜링 머신의 구성요소>

1. 테이프(Tape): 셀로 나뉘어 있는 종이테이프, 각 셀에 기호 표기 있으며 무한함

2. 헤드(Head): 테이프를 특정 한 셀을 읽을 수 있는 헤드, 이동이 가능함 or 헤드 고정이고 테이프 이동

3. 상태 기록기: 현재 튜링 머신의 (유한) 상태를 기록하고 있는 장치

-개시 상태(Start state): 상태 기록기가 초기화된 상태를 의미

-종료 상태(Halt state): 수행이 종료된 상태

4. 행동표: 특정 상태에서 특정 기호를 읽었을 때 해야 할 행동을 지시한다. 

ex) 기호를 지우거나 고쳐 쓴다, 상태를 변경한다 etc

 

 9. 콜로서스 (1943)

-영국의 수학자 튜링은 컴퓨터의 실행과 저장에 관한 추상적인 모델인 튜링 기계를 제안

 

10. ENIAC (1946)

-미국 펜실베니아대의 교수 모클리와 공학자 에커트는 1946년 전자식 계산기인 ENIAC을 개발

 

11. EDSAC과 EDVAC(폰노이만, 1951)

-ENIAC은 약 6000개의 개별 스위치를 설정하여 프로그래밍함

-EDSAC: 프로그램 내장방식 최초로 적용 

-EDVAC: 프로그램 내장방식을 채택

 

Program = Data + Algorithm

 

정보: 정보를 컴퓨터로 처리하기 위해서는 디지털(0,1)로 저장해야 함

데이터: 컴퓨터 메모리는 운영체제, 사용자 프로그램, 사용자 데이터 영역, 기타 시스템이 사용하는 영역으로 구분됨

 

데이터의 저장

-데이터가 입력되면 입력값을 변수에 저장함

! 변수는 값을 저장하는 메모리 공간에 주어진 이름

 

등호(=)식은 변수를 설정한다고 표현하며 이는 value값을 할당(assign)한다는 의미임 -> 수학식의 '같다'와는 다른 의미

'같다'는 컴퓨터에서 (==) 랑 같음

 

자료형(Type)이란?

-변수에 저장되는 자료의 형태

1. 숫자 -> (1,2,3)

2. 문자 -> (a, b, c)

3. 문자열 -> ("Hello World")

4. 논리값 -> True, False

 

-명시적 타입(Explicit): 변수의 타입을 명시적으로 정의함

ex) int i = 0;

 

-묵시적 타입(Implicit): 변수의 타입이 값을 바탕으로 추론됨

ex) i = 0;

 

알고리즘의 동작 종류

순차 동작: 알고리즘을 위에서 아래로 순서에 따라 수행

- 산술 계산: 사칙연산과 같은 연산

- 입력: 컴퓨터 내부로 사용자가 자료를 넣는 것

- 출력: 컴퓨터 내부에서 외부로 자료를 보내는 것

 

조건 동작: 조건에 따라 선택하여 실행

- if / then / else와 같은 조건 문장을 사용

 

반복 동작: 조건에 따라 반복하여 실행

- 조건 계산 이루 결과에 따라 순환 몸체를 실행

- 미리검사 순환과 나중검사 순환이 있음

- 무한 순환에 주의해야 함!

 

권영우 교수님의 PPT 자료의 일부

 

권영우 교수님의 PPT 자료의 일부

 

권영우 교수님의 PPT 자료의 일부
권영우 교수님의 PPT 자료의 일부

'KNU Freshman > 컴퓨터학개론' 카테고리의 다른 글

(6)-1 컴퓨터 구조와 운영체제  (0) 2024.04.15
(5) 프로그램의 번역  (0) 2024.04.11
(4) 프로그램 구조  (0) 2024.04.11
(3) 프로그래밍 언어의 역사  (0) 2024.04.11
(1) 컴퓨팅 사고  (0) 2024.04.10