6. 오류 검출 게임하기

1오류 검출 알아보기

컴퓨터는 정보를 저장하거나 전송할 때 정해진 프로그램에 따라 움직이는데 이 과정에서 오류가 생기면 오류로 인하여 문제가 발생한다.

예를 들면 컴퓨터에서 인터넷뱅킹을 활용해서 동생에게 10만 원을 입금하라는 명령을 내렸는데 오류가 발생해서 이 10만 원이 다른 사람에게 입금이 될 수도 있다. 또 친구에게 메일을 보냈는데 오류로 메일이 안 보내지거나, 메일 안에 있던 내용이 전달이 안 될 수도 있다.

그래서 프로그램을 작성할 때는 반드시 오류를 검출하는 과정을 거치게 된다. 컴퓨터가 처리한 정보나 데이터가 올바른지 검사를 하거나, 틀린 곳이 있는지 없는지 검출하는 것이다. 이 과정을 오류 검출이라고 한다.

아래의 그림은 데이터는 1은 파란색으로 0은 노란색으로 데이터를 표시하였다. 아래와 같은 데이터가 전송 중 데이터가 바뀌면 오류가 발생한다.


이미지. 데이터 1은 파란색, 0은 노란색으로 표시한 5x5 크기의 표에서 데이터가 전송 중 바뀐 것을 전송 기준 전, 후로 그린 이미지

이렇게 오류가 생긴 데이터에서 오류를 찾아서 원래의 정상적인 데이터로 바꿔주기 위해 오류 검출을 한다.

이미지. 데이터 1은 파란색, 0은 노란색으로 표시한 5x5 크기의 표에서 데이터 전송 중 오류가 생긴 것을 검출 및 수정한 과정을 그린 이미지

2오류 검출 게임하기

[활동목표]
오류를 찾아서 원래의 데이터로 만들 수 있다.
[활동안내]
이미지. 오류 검출 게임을 하는 동영상의 스크린샷
[활동]
이미지. 데이터 1은 파란색, 0은 노란색으로 표시한 5x5 크기의 표에서 오류를 만들고 직접 오류 검출 및 수정을 하여 원래의 데이터로 만드는 과정의 이미지
[준비물]
포스트잇(노란색, 파란색)
[활동팁]
1.게임활동을 즐겁게 할 수 있도록 게임 방법이나 과정을 알 수 있도록 한다.
2.처음할 때 어려움이 있는 친구들은 선생님이 사전에 시범을 보여주고, 선생님과 함께 활동할 수 있도록 한다.
3.활동이 익숙해지면 5X5에서 7X7 9X9로 점차 확대해가면서 오류 찾기 게임을 즐기면서 할 수 있도록 한다.
4.포스트 잇 대신 색종이 등 다양한 도구를 활용할 수 있다.

3보조활동

[활동목표]
오류를 검출하기 위해 추가되는 데이터를 넣어서 파란색의 개수를 홀수개가 되도록 만들 수 있다.
[보조활동]
이미지. 데이터 1은 파란색, 0은 노란색으로 표시한 5x5 크기의 표에서 가로, 세로 4번째 줄까지 색칠되어 있고 가로, 세로 5번째 줄에는 색칠되어 있지 않은 이미지
1.오류가 없는 데이터는 가로, 세로 모든 줄의 파란색이 홀수개이다.
2.데이터를 보고 오류가 없도록 빈칸에 알맞은 색을 색칠해 보자.
[준비물]
활동지, 파란색, 노란색 싸인펜 또는 색연필
[활동팁]
학생의 수준에 따라 색칠을 하거나, 색종이를 놓거나, 붙이는 활동으로 수정해서 활동할 수 있다.

6-1
오류없는 데이터 색칠하기

오류가 없는 올바른 데이터가 되도록 색칠해 보자.

<보기>
이미지. 데이터 1은 파란색, 0은 노란색으로 표시한 5x5 크기의 표에서 가로, 세로 네번째 줄까지 색칠되어 있고 가로, 세로 다섯번째 줄에는 색칠되어 있지 않은 표에서 올바른 데이터가 되도록 가로, 세로 다섯번째 줄을 색칠한 이미지

이미지. 데이터 1은 파란색, 0은 노란색으로 표시한 5x5 크기의 표에서 가로, 세로 네번째 줄까지 색칠되어 있고 가로, 세로 다섯번째 줄에는 색칠되어 있지 않은 표를 올바른 데이터가 되도록 가로, 세로 다섯번재 줄을 색칠하여 보자

이미지. 데이터 1은 파란색, 0은 노란색으로 표시한 5x5 크기의 표에서 가로, 세로 네번째 줄까지 색칠되어 있고 가로, 세로 다섯번째 줄에는 색칠되어 있지 않은 표를 올바른 데이터가 되도록 가로, 세로 다섯번재 줄을 색칠하여 보자

6-2
오류없는 데이터 이진수 넣기

오류가 없는 올바른 데이터가 되도록 이진수를 넣어보자.

<보기>
이미지. 이진수 0, 1로 표시한 5x5 크기의 표에서 가로, 세로 네번째 줄까지 작성되어 있고 가로, 세로 다섯번째 줄에는 작성되어 있지 않은 표에서 올바른 데이터가 되도록 가로, 세로 다섯번째 줄을 이진수로 작성한 이미지

이미지. 이진수 0, 1로 표시한 5x5 크기의 표에서 가로, 세로 네번째 줄까지 작성되어 있고 가로, 세로 다섯번째 줄에는 작성되어 있지 않은 표를 올바른 데이터가 되도록 가로, 세로 다섯번재 줄을 이진수로 작성하여 보자

이미지. 이진수 0, 1로 표시한 5x5 크기의 표에서 가로, 세로 네번째 줄까지 작성되어 있고 가로, 세로 다섯번째 줄에는 작성되어 있지 않은 표를 올바른 데이터가 되도록 가로, 세로 다섯번재 줄을 이진수로 작성하여 보자

더 알아보기

1오류 검출이란 무엇일까?

컴퓨터는 정해진 프로그램에 따라 움직이는데 이 과정에서 오류가 생기면 그로 인하여 다양한 문제가 나타난다. 인터넷 뱅킹을 통해서 친구에게 10만 원을 보냈는데 오류로 인하여 100만 원이 보내진다거나, 아니면 10원이 보내질 수도 있다. 또 친구에게 메일을 보냈는데 오류로 인해 메일이 안 보내진다거나, 메일에 넣었던 첨부파일이 전달이 안 되는 경우도 생길 수 있다.

그래서 프로그램을 작성할 때에는 반드시 오류 검출 과정을 거치게 된다. 컴퓨터가 처리한 데이터가 올바른지 검사를 하거나 하드웨어나 소프트웨어상의 틀린 곳을 검출하는 것이다. 이 과정을 오류 검출이라고 한다. 컴퓨터의 오류는 프로그램을 작성할 때 이외에도 예를 들면 바이러스의 침투나 누군가의 해킹으로 데이터가 바뀌거나 변함으로 인해 데이터에 오류가 나타나기도 한다.

2오류를 검출할 때 사용하는 패리티(Parity)비트에 대해서 알아보자.

1바이트(8비트) 구조에서 패리티(Parity) 비트는 7비트 크기의 ASCII 코드를 제외한 나머지 1비트다. 패리티 비트는 전송 과정에서 1비트 오류를 검출하기 위한 것으로, 패리티비트를 포함해 1의 개수가 짝수(짝수 패리티비트)나 홀수(홀수 패리티비트)개가 되도록 한다.

이미지. 짝수 패리티와 홀수 패리티의 비교. 1바이트에 1, 1, 0, 1, 0, 0, 1, 공백이 있고, 각각 1바이트에 1, 1, 0, 1, 0, 0, 1, 0(패리티)인 짝수 패리티와 1, 1, 0, 1, 0, 0, 1, 1(패리티)인 홀수 패리티가 있다.

데이터 전송 과정에서 1비트 오류가 발생하면 1의 개수가 홀수개로 바뀐다. 예를 들어, 위의 그림에서 데이터 전송 과정 중 세 번째 비트가 0에서 1로 바뀌면 수신 호스트는 11110010을 받는다. 수신 호스트는 패리티 검사를 하여 1의 개수가 홀수로 변경된 사실을 알게 되어 데이터 전송 과정에서 1비트 오류가 발생했음을 확인할 수 있다.

홀수 패리티(Odd Parity) 방식은 짝수 패리티와 반대로, 1의 개수를 홀수로 만드는 것이다. 송신 호스트와 수신 호스트는 짝수 패리티나 홀수 패리티 중 동일한 한 가지 방식을 사용해야 한다.


출처 - 네이버 지식백과 오류 검출 (데이터 통신과 컴퓨터 네트워크, 2013. 9. 10., 한빛아카데미(주))

3오류 검출은 컴퓨터에서만 사용될까?

가. 우리가 사용하는 주민등록번호도 패리티 방식으로 오류 검출을 통해서 올바른 주민등록번호인지 위조된 주민등록번호인지 알 수 있다.

이미지. 주민등록 번호 식별 방법에 대한 설명. 주민등록 번호는 생년월일, 성별 및 태어난 연도, 출생신고, 접수 순번, 위변조 방지 검증번호로 식별 된다.

나. 우리가 사는 물건에 있는 바코드 역시 패리티 방식으로 오류 검출을 통해서 올바른 바코드인지 그렇지 않은지 알 수 있다.

이미지. 바코드 식별 방법에 대한 설명. 바코드 밑의 열두자리 숫자로 국가코드, 제조회사 코드, 상품코드, 검증코드로 구별 하며 검증코드 계산법으로 12자리 코드의 좌측에서부터 (짝수번째 자리 숫자의 합) 곱하기 3 더하기 (홀수번째 자리 숫자의 합)을 계산한 값의 1의 자리 숫자를 10에서 뺀 수이다.