매일공부

[CS50 2019] 컴퓨팅 사고 Computational Thinking 본문

IT/기초 다지기

[CS50 2019] 컴퓨팅 사고 Computational Thinking

aram 2022. 7. 22. 17:41

1) 컴퓨터 과학: 문제 해결에 대한 학문

input > 컴퓨터 과학 > output

☞ 입력과 출력을 표현하기 위한 약속(표준) = 2진법, 비트

 

2) 2진법: 0과 1만 사용

3 = 2¹ × 1 + 1×1 = 011

4 = 2² × 1 + 2¹ × 0 + 1×0 = 100

5 = 2² × 1 + 2¹ × 0 + 1×1 = 101

8 = 2³ × 1 + 2² × 0 + 2¹ × 0 + 1×0 = 1000

 

3) 비트 bit

- 정보를 저장하고 연산을 수행하기 위한 측정 단위

- 0과 1, 두가지 값만 가질 수 있는 측정 단위

- 바이트 byte : 8개의 bit가 모여 만들어진 것

<출처> 모두를 위한 컴퓨터 과학 (CS50 2019) &times; edwith

 

4) 문자의 표현

- ASCII(아스키코드/American Standard Code for Information Interchange)

: 미국정보교환표준부호

: 2^7 - 총 128개의 부호

: 소문자는 같은 대문자 글자보다 항상 2^5만큼 큼

<출처> 모두를 위한 컴퓨터 과학 (CS50 2019) &times; edwith

: CS50 = 1000011 1010011 110010 (2)

- Unicode 유니코드

: 100만 개이상의 문자들을 나타낼 수 있는 문자 인코딩 표준

: ASCII 표현이 불가능한 것을 표현가능하게 해줌

: RGB(Red, Green, Blue)로 그림, 영상, 음악 표현

 

5) 알고리즘: 규칙들의 순서적 나열(지시의 모임)

- 알고리즘을 평가할 때 정확성 + 효율성이 중요

- 의사 코드 (Pseudo code) : 컴퓨터가 수행할 작업을 프로그램 언어가 아니라 사람이 사용하는 언어로 알고리즘의 논리적 절차를 작성한 코드

Q) 친구와 1부터 100까지 숫자 중 1가지 숫자를 맞추는 스무고개 게임을 하려고 합니다. 이 때 사용할 알고리즘을 의사코드로 표현하면 어떻게 될까요?

1. 친구가 1부터 100까지 숫자 중 1가지 숫자를 정한다

2. 내가 해당 범위의 중간값을 말한다

3. 만약 내가 말한 숫자와 친구가 정한 숫자가 동일하다면,   #조건 #불리언

4.    친구가 '정답'을 말하고 게임을 종료한다

5. 만약 내가 말한 숫자와 친구가 정한 숫자가 크다면,   #조건 #불리언

6.     친구가 '크다'를 말하고

7.     2번으로 돌아간다

8. 만약 내가 말한 숫자와 친구가 정한 숫자가 작다면,   #조건 #불리언

9.     친구가 '작다'를 말하고

10.     2번으로 돌아간다

 

6) 스크래치: 블록을 옮겨 붙여서 알고리즘을 만들 수 있음

 

Scratch - Imagine, Program, Share

Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.

scratch.mit.edu

 

 

 

Comments