5. Yes or No!

【언플러그드 활동】


1. Yes or No 게임하기

2. 순서도 만들기

1알고리즘에 대해 알아볼까요?

가. 알고리즘

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

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


나. 알고리즘 표현 방법

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

양치질하는 알고리즘
1.칫솔에 치약을 바른다.
2.입속에 칫솔을 넣는다.
3.양치질을 한다.
4.입을 헹군다.

[그림] 자연어 알고리즘 예시

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



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


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

이미지. 자판기 사진
1 자판기에 지폐나 동전을 넣는다.
2 선택할 수 있는 음료가 자판기에 표시된다.
3 원하는 음료를 선택한다.
4 선택한 음료가 나오고 거스름돈이 나온다
[그림]실생활 속의 알고리즘의 예

다. 알고리즘 익히기

아래 <보기>를 통해 일상생활 속에서 알고리즘이 어떻게 활용되는지 생각해보고 집에서 학교까지 오는 과정을 자연어 알고리즘으로 만들어 보자.

[보기]
인터넷에서 물건을 구매하는 알고리즘을 만들어 보자.
이미지. 인터넷에서 물건을 구매하고있는 아이의 그림
1 물건을 판매하는 사이트에 접속한다.
2 자신이 원하는 물건을 검색한다.
3 원하는 물건의 수량과 세부사항을 검색한다.
4 물건을 받을 배송지를 입력한다.
5 결제 수단을 선택한다.
6 결제한다.

집에서 학교까지 오는 과정을 알고리즘을 만들어 보자.
이미지. 집에서 나오는 학생의 모습 그림, 학교에 등교하고 있는 학생의 모습그림
1
2
3
4
5
6

2Yes or No 알고리즘 게임 활동을 체험해 보자

활동
1
Yes or No 게임하기

[활동목표]
Yes or No 게임 활동을 통해 알고리즘의 개념을 이해할 수 있다.
[활동안내]
Yes or No 게임을 하고, 만들어봄으로써 알고리즘의 개념을 이해하는 활동이다.
[활동]
1.알고리즘에 대해 알고, 알고리즘을 표현하는 방법을 알아보자.
2.자연어 알고리즘 표현 방법을 익힌다.
3.Yes or No 동물 게임 순서도를 보고, 빈칸에 들어갈 알맞은 동물을 찾아 적는다.
4. Yes or No 순서도를 보고, 빈칸에 들어갈 알맞은 말을 적고, 이와 유사한 순서도를 만들어보자.
5.친구가 만든 순서도와 내가 만든 순서도를 비교해보고, 논리적으로 잘못된 부분은 없는지 찾는다. 잘못된 부분이 있다면 수정한다.
[준비물]
Yes or No 활동지
[활동팁]

1.알고리즘을 알고, 알고리즘을 표현하는 방법에 익숙해질 수 있도록 지도한다. 이때 처음부터 순서도를 작성하기에는 어려움이 있으므로 Yes or No 게임 형태의 순서도를 먼저 익혀 익숙해지게 한 뒤 순서도를 직접 만들어보는 경험을 할 수 있도록 안내한다.
2.학생들이 주어진 도식에 맞춰서 알고리즘을 작성하는 데 어려움을 느낀다면 도식은 논리적 순서에 따라 얼마든지 바꿔서 활용할 수 있게 지도한다. 단, 변형된 도식에 오류가 있지는 않은지 반드시 확인하도록 한다.
3. 같은 주제여도 다양한 형태의 순서가 나올 수 있음을 놀이를 하는 과정에서 자연스럽게 알 수 있도록 한다. 이 과정에서 보다 명확하고 간단한 순서도가 무엇인지 찾아보게 함으로써 효율적으로 순서도를 작성하는 방법을 익힐 수 있다.

5-1
Yes or No 게임 1

다음 Yes or No 게임 순서도에 따라 움직여보고 빈칸에 들어갈 수 있는 동물을 생각해 적어보자.

 이미지. yes or no 게임 그림, 꼬리를 가지고 있나요? NO면 빈박스, YES면 짖나요? YES면 빈 박스, NO면 날개를 가지고 있나요? YES면 빈박스, NO면 빈박스의 순서도를 가지고 있는 그림

동물 예시



뱀, 개, 독수리, 말, 고양이, 쥐, 토끼, 개미, 거미, 고등어, 나비, 벌, 도마뱀, 코끼리

5-2
Yes or No 게임 2

다음 Yes or No 게임 순서도에 따라 움직여보고 빈칸에 들어갈 수 있는 동물을 생각해 적어보자.

이미지. START, 지하철이 파업했나? NO면 빈 박스. 맞으면 버스가 파업했나? YES면 빈 박스, NO면 빈박스, 모든 빈 박스가 학교에 간다로 모이며 STOP으로 끝나는 순서도 그림

이미지. 맨 위의 START와 맨 아래의 STOP만 적혀져있는 yes or no 게임의 순서도 그림

활동
2
순서도 만들기

[활동목표]
순서도 만들기 활동을 통해 알고리즘의 개념을 이해할 수 있다.
[활동안내]
문제 상황을 읽고, 문제를 해결하기 위한 알고리즘을 만들어봄으로써 알고리즘의 개념을 이해하는 활동이다.
[활동]
1.문제 상황을 읽고, 해당 문제를 해결하기 위한 순서도가 어떻게 표현되었는지 이야기해 보자.
2.새로운 문제 상황을 읽는다.
3. Yes or No 동물 게임 순서도를 보고, 빈칸에 들어갈 알맞은 동물을 찾아 적는다.
4.Yes or No 순서도를 보고, 빈칸에 들어갈 알맞은 말을 적고, 이와 유사한 순서도를 만들어보자.
5.친구가 만든 순서도와 내가 만든 순서도를 비교해보고, 논리적으로 잘못된 부분은 없는지 찾는다. 잘못된 부분이 있다면 수정한다.
[준비물]
순서도 활동지
[활동팁]

1.알고리즘을 알고, 알고리즘을 표현하는 방법에 익숙해질 수 있도록 지도한다. 이때 처음부터 순서도를 작성하기에는 어려움이 있으므로 Yes or No 게임 형태의 순서도를 먼저 익혀 익숙해지게 한 뒤 순서도를 직접 만들어보는 경험을 할 수 있도록 안내한다.
2.학생들이 주어진 도식에 맞춰서 알고리즘을 작성하는 데 어려움을 느낀다면 도식은 논리적 순서에 따라 얼마든지 바꿔서 활용할 수 있게 지도한다. 단, 변형된 도식에 오류가 있지는 않은지 반드시 확인하도록 한다.
3. 같은 주제여도 다양한 형태의 순서가 나올 수 있음을 놀이를 하는 과정에서 자연스럽게 알 수 있도록 한다. 이 과정에서 보다 명확하고 간단한 순서도가 무엇인지 찾아보게 함으로써 효율적으로 순서도를 작성하는 방법을 익힐 수 있다.

5-3
순서도 만들기 1

다음 예시를 참고하여 문제 상황을 어떻게 순서도로 표현했는지 이야기 나눠 보자.

문제 상황

길을 따라 걷고 있다. 횡단보도가 나올 때까지 직진하다가 횡단보도가 나오면 신호등의 색을 확인한다. 신호등의 색이 초록색일 때는 건너고, 초록색이 아닐 때는 기다린다.

이미지. 시작, 횡단보도가 나올 때까지 직진한다. 신호등의 색이 초록색인가? NO 면 기다린다, 다시 신호등의 색이 초록색인가? YES면 건너간다, 끝으로 되어있는 순서도 그림.
문제 상황

자판기에서 음료수를 사서 먹어야 한다. 원하는 음료수가 있는지 확인 후 있으면 동전을 넣고, 없으면 다른 자판기로 간다. 음료수를 뽑을 수 있을 만큼 동전을 넣고, 원하는 음료수를 선택하여 꺼낸다. 거스름돈이 있는 경우 거스름돈을 꺼낸다.

이미지. 시작, 원하는 음료수가 있는가? 아니면 달느 자판기로 간다, 원하는 음료수가 있는가? 예 라면 동전을 넣는다. 투입된 동전은 충분한가? 아니라면 다시 동전을 넣는다. 투입된 동전은 충분한가? 예라면 버튼을 누른다, 음료수가 나온다, 음료수를 꺼낸다, 거스름돈이 있는가? 아니면 끝, 거스름돈이 있따면 거스름돈이 나온다. 거스름돈을 꺼낸다. 끝 으로 되어있는 순서도 그림

5-4
순서도 만들기 2

다음 문제 상황을 순서도로 표현해 보자. 그리고 해결하고 싶은 문제 상황을 직접 작성하고 순서도로도 표현해 보자.

문제 상황

라면을 끓여야 한다. 냄비에 물을 붓고 물을 끓인다. 물이 끓는다면 냄비에 면과 스프를 넣는다. 3분 동안 물을 더 끓인 후불을 끈다.

문제 상황