1주차.컴퓨팅사고

홍석범·2021년 12월 21일
0

⌨ 컴퓨터 과학??

문제 해결에 대한 학문.
입력(input) & 출력(output)의 중간과정에 있는것을 컴퓨터 과학이라 한다.
그렇다면 입력과 출력을 표현하기 위한 정보자체의 표현방법은 무엇일까?

*이진법

이진법은 두 개의 숫자(1과 0)만을 이용하는 수 체계이다. 관습적으로 0과 1의 기호를 쓰며 이들로 이루어진 수를 이진수라고 한다. 이진법은 라이프니츠가 음양사상의 영향을 받아 발명하였다.십진법의 1은 이진법에서는 1, 십진법의 2는 이진법에서는 10, 십진법의 3은 이진법에서는 11이다.
https://ko.wikipedia.org/wiki/%EC%9D%B4%EC%A7%84%EB%B2%95

간단히 말해 이진법은 0과1의 조합을 가진 패턴으로,
이는 우리가 사용하는 전자기기(스마트폰,노트북,컴퓨터...)와 연결되는 유일한 물리적 자원(전기)가 있음/없음을 표현하는데 최적화 되어있었고 이를 바탕으로 비트가 탄생되었다.

*비트

이진숫자 "binary digit"의 줄임말로 0과1의 조합으로 숫자,글자,사진,영상,소리등을 저장한다.
비트의 등장이후 더많은 정보들을 표현하기 위해서 8개의 비트를 갖고있는 "바이트"의 개념이 생겨났으며 이후 더많은 저장공간의 필요성에 따라 킬로바이트(KB),메가바이트(MB),기가바이트(GB)등이 생성되었다.

📄 정보의 표현

숫자들은 비트로 표현이 가능하다. 그렇다면 문자,그림,음악,영상등을 어떻게 표현되는걸까? 😕

*문자의 표현

문자를 비트형태로 표현하기 위한 규약이 등장했는데, 이것이 바로 ASCII(아스키코드)이다.
예를들어 A의 아스키코드는 65, B의 아스키코드는 66, C는 67,....이며 이를 비트형태로 바꾼다면 A는 01000001가 되게된다.
문자들은 이러한 정해진 규약에 의해 표현이 되어졌으며 ASCII는 미국중심적 코드였기 때문에 이를 해소하기위해 'Unicode(유니코드)'가 등장하였다. 유니코드는 32비트까지 사용되었기 때문에 문자뿐만아니라 이모티콘등 더욱 많은 문자들을 표현할수 있게되었다.

* 색상의 표현

사진,그림은 수많은 픽셀들로 이루어져있다. 하나의 픽셀들은 하나의 RGB값을 가지며 입력된 값들을 바탕으로 하나의 색이 표현되게된다. 영상또한 이러한 픽셀들로 이루어진 수많은 사진들이 빠른속도로 나타나는것이다.

🖥 알고리즘

이런식으로 입력받은 값을 출력(output)형태로 만드는 처리과정을 알고리즘이라 한다.
알고리즘은 문제를 해결하는 단계적방법이며 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열이다.
예시를 통해 알고리즘의 특징을 확인할수있다.

전화번호부에서 Mike Smith를 찾는 일을 한다고 하자.
-1번째 : Mike Smith가 나올때까지 한페이지씩 전화번호부를 넘긴다.
-2번째 : Mike Smith가 나올때까지 2페이지씩 전화번호부를 넘긴다.
-3번째 : 전화번호부의 가운데를 펼쳐 Mike Smith가 있는지 확인한다.없을경우 절반을 버리고 다시 가운데를 펼쳐 Mike Smith가 있는지 확인한다. 이런 작업을 한페이지가 남을때까지 반복한다.

위의 예시와 차트를 보았을때 2번째방법의 경우는 정확도가 떨어질수 있으며, 1번째 방법은 정확성이 높으나 해답을 찾는데 매우 많은 시간이 걸리는것을 확인할 수 있다. 3번째 방법의 경우 문제의 양이 늘어닌다하더라도 해결되는 시간이 일정한 값에 수렴을 하게되며 이는 곧 알고리즘의 효율성을 나타낸다.
, 알고리즘은 명령수행에 대한 규칙들의 순서적 나열이지만, '정확성'과 '효율성'을 함께 갖추고 있어야하는것이다.

스크래치 프로그램

알고리즘에 대한 이해를 높이기 위해 스크래치 프로그램을 통해 실습
[스크래치]https://scratch.mit.edu/projects/editor/?tutorial=getStarted

강의완료!💯


profile
코딩하는 주니어개발자

0개의 댓글