학교/컴퓨터학개론

sequential search(순차적 탐색) 순차적 탐색은 각 항목을 차례로 확인하여 우리가 탐색 중인 항목과 비교한다. 찾고자 하는 항목을 찾았거나, 모든 항목을 확인했는데 찾지 못했을 때에 멈춘다 Sorted Arrays [정렬된 배열] ascending order : 오름 차순 11 정렬된 배열에는 각 원소들이 순서대로 되어 있다. Binary search(이진 탐색) 정렬된 배열 이어야 한다. 탐색은 중간부터 시작하여 항목을 발견하거나 확인하지 않은 항목들 중 절반을 제거-> 다시 중간부터 시작-> 반복 배열의 원소의 개수가 20개 이하 일 때는 sequential search가 binary search보다 빠르다. [비교 횟수와 시간의 개념은 다르다] 비교 횟수는 항상 binary search..
Variable [변수] 값을 저장해두는 장소 memory의 특정 장소 simple variable, atomic variable [단순 변수] single value를 저장할 경우 분할 불가 composite variable [복합변수] 한 변수안에 여러개가 들어감. Composite Data types [복합자료형] Records [구조체] 여러항목들의 조합으로 이루어짐. 고용인 구조체 [ 이름, 나이, 월급] Arrays [ 배열] 같은 종류들로 이루어진 조합. index를 가짐. 집합과 유사함. Control Structures [제어 구조] 프로그램 내의 다른 명령들이 실행되는 순서를 결정하는 명령어 의사코드의 기능성에서 정의한 명령어들은? if, while 계수 제어 루프 이벤트 제어 루프
문제 해결 전략 1. ASK questions 문제에 대해 이미 알고 있는 것은? 해답을 찾기 위해 처리해야 할 정보는 무엇인가? 해답은 어떻게 보이는가? 어떤 종류의 특별한 경우가 존재하는가? 해법을 찾아냈다는 것을 어떻게 알게 될 것인가? 2. Look for familiar things [익숙한 것을 찾아보자] 절대로 바퀴를 다시 발명하지 않도록! 유사한 문제들이 다른 형태로 반복 등장할 것이다. 좋은 프로그래머는 이전에 풀었던 작업이나 작업의 일부를 알아보고 해결방법을 알아낸다. 3. divide and Conquer [분할 정복] 큰 문제를 작은 문제들로 나누어 해결한다. 추상화 개념을 적용한다. 분할 정복 방식은 각 서브 태스크가 처리될 수 있을 때까지 계속하여 적용될 수 있다. 문제를 해결하..
문제에 대한 컴퓨터 해결책을 개발하기 위해 사용되는 두 가지 방법론 Tod down desing(하향식 설계) Object oriented design(객체지향 설계) 하지만 pseudocode가 시조 문법이 없다. 하지만 일관되고 모호하지 않게 작성해야 한다. Variables [변수] 값을 저장할 공간의 이름 Assignment 식 값을 변수에 저장 Output [출력] printing a value on an output device Write, Print Input [입력] 외부 단어로부터 값을 얻는 것 그리고 그 값을 저장하는 것 get, Read\ Translating Pseudocode Assembly language 매우 정교하고 시간이 오래 걸림 High-level language [고급..
Assembly Language Assembly Language 기계어 명령어를 숫자가 아니라 , 영어 단어로 표현 Assembler 사람이 이해하기 쉽게 만든 영어 단어-> 컴퓨터가 이해하기 쉬운 기계어 명령으로 변환해줌. 사람은 기계어가 어려움. -> 어셈블리 언어를 통해서 영어로 표현함. 하지만 영어는 컴퓨터가 불편함. -> 따라서 그 영어를 2진수로 바꿔주는 역할(Assembler)이 필요하다. Pep/8 Assembly Language i : immediate addressing mode d : direct addressing mode A new Program 3개의 수를 일겅서 그 합을 출력하는 프로그램을 작성 X+Y+Z load 0 -> sum 초기화 add X add Y add Z stor..
Computer Operations Computer 프로그래밍이 가능하고 정보를 저장, 검색, 처리하는 전기장치 정보와 그 정보를 처리하는 명령어 모두 기계 내에 함께 저장된다. (폰 노이만 아키텍처) Machine Language Machie Language 기계어, 기계 언어 2진수의 실행 명령어들로 이루어진 특정 컴퓨터에 내장된 언어로서 컴퓨터가 직접 사용할 수 있는 언어 사람이 쓰기에는 매우 불편함. Characteristics of machine language 모든 프로세서는 종류에 따라 고유의 실행 명령어들이 있다. 각 프로세서와 그들이 수행할 수 있는 명령들은 통합돼 있다. 각 기계 언어의 명령어는 매우 단순한 작업만 수행한다. CPU가 나올 때마다 기계어는 발전함. Pep/8 Virtua..
Stored Program 폰 노이만 아키텍처 명령어와 데이터 모두 메모리에 저장하자. 폰 노이만이 구상한 저장 프로그램의 구조이다. 현재의 CPU 구조와 매우 흡사하다. CPU, input, output, memory는 버스를 통해서 서로 자료를 주고받는다. input device keyboard mouse mircrophones scanners digital cameras output device monitor printer speaker memory 각각 고유한 실제 주소를 가진 셀 모음 대부분의 컴퓨터는 byte-addressable이다. 해당 주소를 가지고 있고, 주소에 value가 있다. 8bit를 저장할 수 있는 방이 여러 개 방마다 address를 붙임. 2진수 형태이다. 메모리는 주소만 ..
Jargon 전문용어, 특수용어 ex) military, legal, computer jargons Examples of Computer jargons program virus wifi plug & play hard disk Size in Persepctive 정확하게 2^10이 1000은 아니지만 근삿값을 사용 light speed 광속 : 3 * 10^8 m/sec Admiral Grace Murray Hoppers의 사례 CPU : 3 Ghz CPu-> (3 * 10 ^ 9 cycles /sec) 1 cycle -> 1/3 * 10^-9 sec -> 0.1m 이동 3 GHz보다 높은 속도의 CPu는 현재 기술로 커버 불가능 Intel Processor speed 2.66 Ghz SDRAM size ..
Circuits Combinational circuit [조합 회로] 인풋 값이 바로 출력 값을 결정한다. output = f(inputs) Sequential circuit [순차 회로] 출력은 입력 값과 회로의 기존 상태의 함수입니다. output=f(inputs, state [current]) state [next]= g(inputs, state [current]) 회로 작동에서 사용하는 개념 Boolean expressions Logic diagrams Truth tables Combinational Circuits [조합회로] 게이트들을 조합하는 방식은 한 게이트의 출력을 다른 한 게이트의 입력으로 사용하는 것이다. AB + AC =X A(B+C) 위의 논리회로랑 같지만 gate의 수가 적어서 ..
재한
'학교/컴퓨터학개론' 카테고리의 글 목록