컴퓨터의 특징
- 기계가 스스로 정보를 읽어서 저장할 수 있는 메모리가 있어야 함
-명령어를 자동으로 수행하는 프로그래밍을 할 수 있어야 함
*파스칼의 계산기 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와 같은 조건 문장을 사용
반복 동작: 조건에 따라 반복하여 실행
- 조건 계산 이루 결과에 따라 순환 몸체를 실행
- 미리검사 순환과 나중검사 순환이 있음
- 무한 순환에 주의해야 함!
'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 |