이진수

컴퓨터에서는 모든 자료를 이진수로 저장합니다.

우리가 사용하는 숫자는 십진수는 숫자가 10이 되었을 때 한 자리를 올리게 되지만, 이진수는 숫자가 2가 되었을 때 한 자리를 올리게 됩니다.

예를 들면, 십진수 3은 이진수로 11이 되죠.

컴퓨터에서는 숫자, 문자, 그림, 사진, 음악 등 모든 자료가 이진수로 저장되기 때문에 이진수의 원리를 이해해야 합니다.

이진수 카드

이진수의 원리를 쉽게 이해하기 쉽도록 구성된 카드 놀이입니다.

각 카드에는 점이 1개, 2개, 4개, 8개, 16개가 표시된 5개의 카드가 있습니다.

이 카드를 배치할 카드 슬롯입니다.

각 카드를 색이 맞는 슬롯에 배치하고, 카드가 뒤집혀 있는 상태라면 0, 카드를 뒤집어서 점이 보이도록 했다면 1이 됩니다.


이진수 01001

이진수 01001은 이렇게 카드가 배치됩니다.

점이 모두 9개가 보이네요. 

이진수 01001은 십진수로 9라는 것을 알 수 있습니다.

계산을 해보면 0+8+0+0+1 = 9라는 것도 알 수 있습니다.


이진수 11011

이진수 11011입니다.

십진수로 표현하면 얼마일까요?

16+8+0+2+1 = 27입니다.


자료 다운받기

더 많은 자료는 무른모교육연구소 홈페이지 http://www.swedulab.com 에서 다운받을 수 있습니다. ^^

'SW교육 > 알고리즘' 카테고리의 다른 글

이진수 카드 놀이  (1) 2015.03.29
최소한의 시도로 가짜 동전 찾기  (4) 2015.03.29
  1. 2018.04.10 14:55

    비밀댓글입니다

조건

동전 8개가 있습니다.

동전 8개 중에 진짜 동전은 7개가 있고, 진짜 동전의 무게는 각각 10g입니다.

가짜 동전은 1개가 있고, 무게는 8g입니다.




문제 : 저울을 최소한으로 사용해서 가짜 동전을 찾으세요.

1단계 : 첫 번째 저울 사용

Step 1. 동전을 4개씩 2개의 그룹으로 나눈다. 

Step 2. 둘 중 1개 그룹을 저울을 이용하여 무게를 측정한다. 

Step 3. 만약 1번 그룹(1, 2, 3, 4번 동전)의 무게가 38g이라면, 이 중에 1개 동전은 가짜다. 만약 1번 그룹(1, 2, 3, 4번 동전)의 무게가 40g이라면, 이 중에는 가짜 동전이 없고, 2번 그룹(5, 6, 7, 8번 동전)에 가짜 동전이 있다.



2단계 : 두 번째 저울 사용

Step 1. 전 단계에서 가짜 동전이 있는 것으로 판명된 그룹의 동전을 다시 2개 그룹으로 나눈다. 

Step 2. 1개 그룹 동전을 저울을 이용하여 무게를 잰다. 

Step 3. 1번 그룹(1, 2번)의 무게가 18g이라면, 1, 2번 동전 중 하나는 가짜 동전이다. 1번 그룹(1, 2번)의 무게가 20g이라면, 3, 4번 동전 중 하나는 가짜 동전이다.



3단계 : 세 번째 저울 사용

Step 1. 전 단계에서 가짜 동전이 있는 것으로 판명된 그룹의 동전을 저울을 이용하여 무게를 잰다. 

Step 2. 1번 동전의 무게가 8g이라면, 1번 동전이 가짜 동전이다. 1번 동전의 무게가 10g이라면, 2번 동전이 가짜 동전이다.




자료 다운받기

무른모교육연구소 홈페이지 http://www.swedulab.com 에서 더 많은 자료를 보실 수 있습니다. ^^

'SW교육 > 알고리즘' 카테고리의 다른 글

이진수 카드 놀이  (1) 2015.03.29
최소한의 시도로 가짜 동전 찾기  (4) 2015.03.29
  1. ㅁㅁ 2015.07.10 11:31 신고

    근데 이거 양팔저울로 찾는거 아닌가요? 이렇게 하는건 당연한건데..

    • k2man 2015.07.10 15:22 신고

      문제에 조건이 있습니다.
      저울을 가장 적게 사용해서 찾는거에요..^^

  2. 하하... 2015.08.17 21:19 신고

    양팔저울이면 2번이면 될텐데 그냥저울이군요...

    • k2man 2015.08.19 16:59 신고

      오... 양팔저울이면 2번에 가능한가요?
      저는 아무리 생각해도 양팔저울도 3번밖에 안나오는데요. 저좀 알려주세요.^^

최근 코딩교육, 소프트웨어교육 등이 컴퓨터교육의 방향으로 제시되고, 누구나 갖춰야할 기본적인 역량으로 평가받기 시작하면서 우리가 이제까지 생각해왔던 컴퓨터, 컴퓨터교육과 무엇이 다른지 고민이 되게 합니다.

관련 이슈들을 정리해보려고 여러 자료들을 보아 왔지만 가장 쉽게 이해할 수 있도록 해주었던 문구를 제목으로 정해봤습니다.

이제까지 우리가 컴퓨터교육이라고 경험했던 많은 것들(워드프로세서, 윈도우, 인터넷활용, 엑셀 등)은 컴퓨터활용교육이라고 할 수 있습니다.

이미 개발되어 있는 많은 소프트웨어를 활용하여 삶의 질과 업무능력을 향상시킬 수 있는 방법을 익히는 것이 컴퓨터활용교육이라고 볼 수 있죠. 이런 컴퓨터활용교육은 디지털문해(Digital Litaracy)교육의 측면이 강했습니다. 즉, 우리가 사회에서 살아가기 위해서는 최소한 한글과 언어, 수리능력 등을 익혀야 하는 것처럼, 컴퓨터교육도 그런 측면에서 접근했던 것입니다. 

이런 컴퓨터활용교육에 대해서 비판도 있지만 이 자체만으로도 매우 의미있고 당연히 우리가 알아야할 부분이였습니다. 이미 컴퓨터는 문자와 같이 사회를 살아가기 위해서 몰라서는 안될 부분이 되어 있기 때문이죠.

하지만, 놓치고 있는 부분들이 있습니다.

제목에서 이야기한 컴퓨터과학(Computer Science)라는 부분입니다.

네덜란드의 컴퓨터과학자였던 에츠허르 데이크스트라(Edsger Wybe Dijkstra)는 "컴퓨터과학에서 컴퓨터란, 천문학에서 망원경 이상의 것이 아니다."라는 이야기를 남겼습니다.

이 이야기에서 유추할 수 있는 것은 우리가 이제까지 배워왔던 컴퓨터활용교육은 천문학을 배우는 것이 아니라 망원경 사용법만을 배워왔다는 것이죠.

망원경을 들여다 보면서 달, 태양계, 은하계와 우주가 어떻게 만들어졌고 어떻게 움직이고 있으며 우리에게는 어떠한 영향을 미치고 있는지 등의 현상과 원리를 공부해야 하지만, 우리가 배워 왔던 것은 망원경을 어떻게 조작하면 어떤 천체가 보이는지만을 공부하고 있었던 것입니다.

컴퓨터과학은 상당히 많은 분야에서 성과를 만들어 놓고 있습니다.

학문의 역사를 따지자면 천문학에 비해 짧겠지만, 천문학에서 망원경 조작법이 매우 일부분이면서 핵심이 아닌 부분인 것처럼, 컴퓨터과학에서도 컴퓨터활용은 매우 작은 부분에 불과합니다.

우리가 최근에 관심을 두고 있는 프로그래밍언어, 알고리즘 뿐만 아니라 자료를 어떻게 저장하고 꺼내올 것인가에 대한 고민이 담긴 자료구조, 이러한 자료 중에서 어떻게 원하는 자료를 빠르게 찾아 낼 것인가에 대한 검색 알고리즘, 정보의 처리와 통신에 대한 정보이론, 프로그램이나 알고리즘이 얼마나 빠르게 또는 얼마나 효율적으로 실행될 수 있는가에 대한 복잡도 이론, 여러 개의 명령을 어떻게 동시에 처리할 것인가에 대한 병행처리, 명령을 여러 컴퓨터에서 나눠서 처리하는 방법에 대한 분산처리, 컴퓨터 시스템을 어떻게 설계하고 구성해야 하는지에 대한 컴퓨터구조, 그 외에도 데이터베이스, 인공지능, 기계학습, 컴퓨터 그래픽스, 영상처리, 언어처리 등 끝없이 많은 논리적인 사고가 정리되고 있는 학문이 컴퓨터과학이라고 할 수 있습니다.

이제부터라도 정상적인 컴퓨터과학 교육이 되야 합니다.

수학 포기자가 생기는 것처럼 컴퓨터 포기자가 생기지 안되도록 새롭게 시작하는 컴퓨터과학 교육을 좀더 다듬어서 즐겁게 논리적이고 창의적인 사고를 할 수 있는 교육이 되었으면 합니다.

+ Recent posts