4. 알고리즘을 알아봐요

【언플러그드 활동】


1. 자연어 알고리즘 만들기

2. 친구와 함께 자연어 알고리즘 활동하기

3. 자연어 알고리즘을 활용하여 그림 그리기

1알고리즘이란 무엇일까?

알고리즘이란 컴퓨터가 따라 할 수 있도록 문제를 해결하는 절차나 방법을 자세히 설명하는 과정이다. 이를 자세히 설명하면 컴퓨터를 활용한 문제 해결 과정에서 주어진 문제를 해결하는 일련의 방법 또는 절차이며, 문제해결 방법을 순서대로, 절차대로 나열한 것이라고 볼 수 있다.


우리가 배우고 있는 SW 교육의 언플러그드 활동에서 말하는 알고리즘은 컴퓨터가 과제를 해결하기 위한 명령어들의 집합이다. 컴퓨터 명령어의 집합으로 나타나는 알고리즘은 컴퓨터과학의 핵심으로, 컴퓨터가 문제를 어떻게 해결하는지를 나타내는 방법이다. 즉 정보를 어떻게 입력하고 처리하며 데이터를 표시하는지를 나타내는 순서도이다.

2알고리즘은 어떻게 표현할까?

가. 자연어 알고리즘(자연어 표현법, 일상 언어 표현법)

자연어 알고리즘을 쉽게 표현하면 자연어 표현법, 일상 언어 표현법이라고도 한다. 이 방법은 일상적으로 사용하는 말로써 문제를 해결하는 과정을 순서대로 나열하는 것이다. 자연어는 일상적인 언어를 사용하기 때문에 매우 쉽게 표현할 수 있지만 모호하게 표현될 수 있다는 단점이 있다.

1) 자연어 알고리즘의 예
⦁ 양치질하는 알고리즘 ① 칫솔에 치약을 바른다. ② 입속에 칫솔을 넣는다. ③ 양치질을 한다. ④ 입을 헹군다.

나. 순서도로 표현

순서도는 약속된 기호를 사용하여 알고리즘을 표현하는 방법이다. 순서도 표현 방식에서는 일련의 수행과정을 공용의 약속 기호로 표시하고, 화살표로 수행 과정을 순서대로 연결하여 알고리즘을 표현한다. 순서도 방식은 수행 과정을 전체적으로 쉽게 살펴볼 수 있다는 장점이 있지만 복잡한 알고리즘이나 블록형 언어를 표현하기 어렵다는 단점을 가지고 있다.

기호 이름 역할
이미지. 단말 순서도 기호. 가로 길이가 긴 타원 모양으로 되어있다. 단말 순서도의 시작과 끝
이미지. 흐름선 순서도 기호. 화살표 모양으로 되어있다. 흐름선 작업 흐름을 명시
이미지. 준비 순서도 기호. 가로 길이가 긴 육각형 모양으로 되어있다. 준비 작업 단계 시작 전 준비
(변수 및 초기치 선언 등)
이미지. 처리 순서도 기호. 가로 길이가 긴 직사각형 모양으로 되어있다. 처리 처리해야 할 작업을 명시
(변수에 계산값 입력 등)
이미지. 입출력 순서도 기호. 가로 길이가 긴 평행사변형 모양으로 되어있다. 입출력 일반적인 데이터의 입력 또는 결과의 출력
기호 이름 역할
이미지. 판단 순서도 기호. 가로 길이가 긴 마름모 모양으로 되어있다. 판단 조건에 따라 흐름선을 선택
(일반적으로 참, 거짓 구분)
이미지. 수동입력 순서도 기호. 가로 길이가 긴 직사각형과 그 위에 오른쪽이 직각인 직각 삼각형을 합친 모양으로 되어있다. 수동입력 키보드를 통한 입력
이미지. 서브루틴 순서도 기호. 가로 길이가 긴 직사각형 모양에 세로변 안쪽에 또 다른 세로변이 있는 모양으로 되어있다. 서브루틴 미리 정의해 둔 부프로그램 호출
이미지. 프린트 순서도 기호. 가로 길이가 긴 직사각형 모양에 하단에는 태극 무늬 모양으로 되어있다. 프린트 프린터를 이용한 출력
(서류 등의 지면에 출력)
이미지. 화면표시 순서도 기호. 왼쪽에는 가로 길이가 긴 육각형 모양의 절반과 오른쪽에는 가로 길이가 긴 타원 모양의 절반이 합쳐진 모양으로 되어있다. 화면표시 처리결과 또는 메시지를 모니터를 이용하여 출력
[그림 01] 순서도 기호

3알고리즘은 컴퓨터에서만 사용할까?

알고리즘은 컴퓨터에서만 사용하고 우리 생활과 큰 관련이 없는 것으로 생각할 수 있다. 하지만 우리가 생활하는 모든 행동은 알고리즘과 관련이 있다고 할 수 있다. 아침에 일어나서 학교에 가기 위해 행동하는 모든 과정, 라면을 끓이는 과정, 버스를 타고 이동하는 모든 과정들 속에 알고리즘이 활용되고 있다. 하지만 너무 빠르게 일어나는 과정 속에서 익숙하고 자연스럽게 여겨지기 때문에 특별한 알고리즘의 절차가 이루어진다고 생각하지 못하는 것이다. 따라서 생활 속에서 알고리즘을 찾아보고 그 절차를 인식함으로써 생활과 알고리즘의 관계를 이해하는 것이 중요하다.

<실생활 속의 알고리즘의 예>
이미지. 자판기 사진. 두대의 음료수 자판기가 있는 사진.
① 자판기에 지폐나 동전을 넣는다.② 선택할 수 있는 음료가 자판기에 표시된다.③ 원하는 음료를 선택한다.④ 선택한 음료가 나오고 거스름돈이 나온다.

4알고리즘 활동을 해 보자

활동
1
자연어 알고리즘 만들기

[활동목표]
나와 관련된 자연어 알고리즘을 만들 수 있다.
[활동안내]
일상생활 속에서 알고리즘을 찾아보고 그 절차를 인식해보면서 일상생활과 알고리즘의 관계를 이해하는 활동이다.
[활동]
인터넷에서 물건을 구매하는 알고리즘을 만들어 보자.
이미지. 인터넷에서 물건을 구매하는 그림.
예) ① 물건을 판매하는 사이트에 접속한다.② 자신이 원하는 물건을 검색한다.③ 원하는 물건의 수량과 세부사항을 검색한다.④ 물건을 받을 배송지를 입력한다.⑤ 결제 수단을 선택한다.⑥ 결제한다.
[준비물]
활동지(4-1), 필기구
[활동팁]

1.학생의 학년 수준이나 학생의 지적 능력에 따라 알고리즘 단계를 3개~7개 미만으로 한정해서 실시한다.
2.전맹 학생의 경우 전맹 학생과 관련된 활동을 알고리즘 활동으로 만들어서 실시할 수 있다.
3.글씨를 쓰기 어려운 학생은 그림을 활용해서 포스트잇을 활용하여 붙이는 활동으로 대체하여 자연어 알고리즘 활동을 할 수 있다.

4-1
자연어 알고리즘 만들기

보기를 일상생활 속에서 알고리즘을 찾아보고 그 절차를 인식해보면서 일상생활과 알고리즘의 관계를 알아보자.

<보기>
인터넷에서 물건을 구매하는 알고리즘을 만들어 보자.
이미지. 인터넷에서 물건을 구매하는 그림
① 물건을 판매하는 사이트에 접속한다.② 자신이 원하는 물건을 검색한다.③ 원하는 물건의 수량과 세부사항을 검색한다.④ 물건을 받을 배송지를 입력한다.⑤ 결제 수단을 선택한다.⑥ 결제한다.
※ 집에서 학교까지 오는 과정을 알고리즘을 만들어 보자.
이미지. 집에서 학교로 등교하는 모습의 그림

활동
2
친구와 함께 자연어 알고리즘 활동하기

[활동목표]
친구와 함께 자연어 알고리즘 활동을 할 수 있다.
[활동안내]
친구와 함께 학교생활 속에서 알고리즘을 찾아보고 그 절차를 인식해보면서 학교생활과 알고리즘의 관계를 이해하는 활동이다.
[활동]
친구의 학교생활과 관련된 주제를 찾아보고 친구가 주제를 적으면 그 주제에 맞게 알고리즘을 만들어보자.
(친구가 주제를 적는 곳)
예) 주제 : 우유 마시기
예) ① 우유를 잡고 우유의 한쪽부분을 연다.② 우유를 들고 끝까지 마신다.③ 마신 다음 우유의 모서리를 닫는다.④ 우유갑을 네모모양으로 접는다.⑤ 우유 상자로 가져가서 버린다.
[준비물]
활동지(4-2), 필기구
[활동팁]

1.글씨를 쓰기 어려운 학생은 실제로 활동을 해보면서 말로 표현하면서 자연어 알고리즘 만들기 활동할 수 있다.
2.주제에 맞게 바로 적기 어려운 학생은 실제로 활동을 해보면서 자연어 알고리즘 만들기 활동할 수 있다.
3.일부로 장난 섞인 주제나 어려운 주제를 적지 않도록 사전에 주의를 준다.
4.짝을 지어서 활동할 수도 있고 조별 활동으로도 활용할 수 있다.

4-2
친구와 함께 자연어 알고리즘 만들기

앞의 활동을 참고하여 친구의 학교생활과 관련된 주제를 생각해보고 그 주제에 맞게 알고리즘을 만들어 보자.

주제 :

주제 :

활동
3
자연어 알고리즘을 활용하여 칠교놀이하기

[활동목표]
칠교놀이를 통해 자연어 알고리즘을 만들 수 있다.
[활동안내]
칠교 조각으로 다양한 모양을 만들 수 있는 자연어 알고리즘 활동을 통해 알고리즘을 이해하는 활동이다.
[활동]
이미지. 3개의 칠교 조각으로 집 모양을 만든 그림.
예) ① 칠교 조각 중 가장 큰 직각삼각형 1개와 작은 직각삼각형 2개를 고른다.② 가장 큰 직각삼각형의 직각 부분이 맨 위에 오도록 삼각형을 놓는다.③ 작은 직각삼각형 2개를 붙여서 정사각형을 만든다.④ 가장 큰 직각삼각형의 밑변 가운데에 작은 직각삼각형으로 만든 정사각형을 놓는다.⑤ 3개의 삼각형이 삼각형 지붕이 있는 집 모양이 되었는지 확인한다.
[준비물]
활동지(4-3), 필기구
[활동팁]

1.전맹 학생의 경우 칠교에 있는 7가지 도형을 충분히 만져보고 알아보는 활동을 통해서 칠교에 있는 각 도형의 특징을 알 수 있도록 한다.
2.2번 활동과 연계하여 짝을 지어 한 명은 칠교로 유의미한 모양을 만들고, 모양을 만들 수 있는 알고리즘을 써보는 활동을 할 수 있다.
3.일부로 장난 섞인 모양이나 너무 어려운 모양을 활동에 활용하지 않도록 사전에 주의를 준다. (학생의 수준에 따라서 활용할 수 있는 칠교놀이의 개수를 정해준다.)

4-3
자연어 알고리즘을 활용하여 칠교 놀이하기

앞에서 했던 활동을 바탕으로 칠교조각을 활용하여 다양한 모양을 만들 수 있도록 친구와 함께 알고리즘을 만들어보자.

<보기>
다음 그림을 보고 칠교를 활용해서 그림과 같은 모양을 만들 수 있도록 알고리즘을 써 보자.
이미지. 3개의 칠교 조각으로 만든 집 모양 그림.
예) ① 칠교 조각 중 가장 큰 직각삼각형 1개와 작은 직각삼각형 2개를 고른다.② 가장 큰 직각삼각형의 직각 부분이 맨 위에 오도록 삼각형을 놓는다.③ 작은 직각삼각형 2개를 붙여서 정사각형을 만든다.④ 가장 큰 직각삼각형의 밑면에 가운데에 작은 직각삼각형으로 만든 정사각형을 놓는다.⑤ 3개의 삼각형이 삼각형 지붕이 있는 집 모양이 되었는지 확인한다.
다음 그림을 보고 칠교를 활용해서 그림과 같은 모양을 만들 수 있도록 알고리즘을 써 보자.
이미지. 3개의 칠교 조각으로 만든 직각 삼각형 모양 그림.

다음 그림을 보고 칠교를 활용해서 그림과 같은 모양을 만들 수 있도록 알고리즘을 써 보자.
이미지. 4개의 칠교 조각으로 만든 집 모양 그림.

다음 그림을 보고 칠교를 활용해서 그림과 같은 모양을 만들 수 있도록 알고리즘을 써 보자.
이미지. 5개의 칠교 조각으로 만든 다이아몬드 모양 그림.

친구가 그린 그림을 보고 알고리즘을 적어보자.

짝과 함께 칠교놀이를 해 보자. 한 명은 칠교로 유의미한 모양을 만든 후 만든 모양을 설명하고 짝은 그 설명을 듣고 칠교로 모양을 만들어 보자.