블록형 언어(EPL) 수업/블록리게임

[블록리게임] 미로 10번 문제 (조건문 연습)

climacus 2023. 10. 14. 11:21

1. blockly game: 컴퓨팅사고력을 기를 수 있는 교육용 사이트 입니다. 

https://blockly.games/

 

Blockly Games

 

blockly.games

2. 퍼즐, 미로, 새, 거북이 등 여러가지 단계로 순차, 반복, 조건을 훈련할 수 있습니다. 

3. 블록을 배치해서 미로를 빠져나가는 문제인데요, 10번이 많이 어렵습니다. 많이. 

1~9번까지는 해볼만 한데, 10번만 갑자기 어렵습니다. 

((스포주의))
직접 풀어보실 분들은 <뒤로 가기>를 눌러, 직접 풀어보시기 바랍니다. 

아래에는 10번문제를 해결하는 방법이 적혀 있습니다. 

 

.

.

.

.

.

.

.

시행착오1) 갈림길 문제

돌기만 넣었을 때는, 갈림길로 들어서지 못했다. 

해결) 

오른쪽으로 돌기 + 앞으로 가기, 

왼쪽으로 돌기 + 앞으로 가기 가 결합되어야만 갈림길로 들어설 수 있었다.

 

시행착오2) 막다른길 문제

막다른 길에 들어서서, 왼쪽/오른쪽/앞으로도 갈 수 없을 때 <뒤로가기>가 없기 때문에 나올 수가 없다. 

 

해결???) 

아무 것도 할 수 없을 때는 <오른쪽으로 돌기>를 추가해서 돌아 나오도록 했으나, 

이렇게 하게 되면 원하는 길로 접어들 수 없어 여기저기를 헤매게 된다. 최종 해결책은 아니었다. 

 

 

시행착오3) 우선순위 문제

조건의 순서에 따라, 같은 곳에서 맴도는 상황이 벌어졌다. 

- 오른쪽으로 갈 수 있다면

- 왼쪽으로 갈 수 있다면

- 앞으로 갈 수 있다면

 

오른쪽을 우선 하면, 오른쪽 위 코너에

왼쪽을 우선 하면, 왼쪽 위 P자 코스에

앞으로를 우선 하면, 오른쪽 아래에 갇혀버렸다. 

해결???)

뭔가 다른 생각이 필요했다. 

앞으로 갈 수 있다면, 그렇지 않으면 블럭을 넣어 이중 조건문을 하나씩 테스트 했다. 

그런데 막연한 시도로는 계속 시간만 낭비될 뿐이었고,

시간이 좀 오래 걸리더라도 확실한 해결책이 필요했다. 

 

 

 

오늘의 C.T)

MECE와 문제분해

MECE(Mutually Exclusive Collectively Exhaustive의 약자, 상호배제와 전체포괄)는 항목들이 상호 배타적이면서 모였을 때는 완전히 전체를 이루는 것을 의미한다. 이를테면 '겹치지 않으면서 빠짐없이 나눈 것'이라 할 수 있다.

1. 중복이 없이

2. 누락이 없이 (전체를 포괄)

 

해결) 조건 상황을 모두 체크해서 어떻게 가야하는지 모든 상황을 나열해 보기로 하였습니다. 

1. 외길에서는 앞으로 가야한다. 

2. 앞-왼 상황에서는 왼쪽+앞으로 가기를 해야 한다. 

3. 앞-왼-오른 상황에서는 오른쪽+앞으로 가기를 해야 한다. 

4. 앞-왼 상황에서는 왼쪽+앞으로 가기를 해야 한다. 

5. 왼-오른 상황에서는 왼쪽+앞으로 가기를 해야 한다.

6. 오른 상황에서는 오른쪽+앞으로 가기를 해야 한다. 

 

이 중 2번과 4번은 같은 조건이므로 생략을 해보고, 표로 정리해보면..

상황 왼쪽 오른쪽 가야하는 곳
사거리 O O O 오른쪽
앞-왼 O O X 왼쪽
외길 O X X
왼-오 X O O 왼쪽
X X O 오른쪽

 

1,2,3,4번은 [앞으로 갈 수 있을 때]에 적용되어야 하고, 

5,6번은 [앞으로 갈 수 없을 때]에 적용된다는 것을 알 수 있었습니다. 

 

이것을 조건문으로 구현해 보면, 

 

사용할 수 있는 블록의 갯수가 부족합니다!

어떻게 블록의 갯수를 줄일 수 있을까요? 

 

YES일 때도, 앞으로 가기 

NO일 때도, 앞으로 가기

라면, 어느 상황이든 [앞으로 가기] 이므로,

이렇게 [앞으로가기]를 한 번만 써서 해결할 수 있습니다. 

 

.

.

.

.

.

.

아래는 최종 정답

.

.

.

.

.

.

.

.

 

 

 

 

앞으로 가기를 여러번 사용하게 되면, 블록갯수가 부족해 집니다. 

중복된 블록을 꼭 필요한 갯수만 한 번만 사용하도록 짜야 성공할 수 있습니다. 

 

여러분도 도전해보세요!

----------------------------------------------------------------------------------------------------------------------
수업시간에 다른 방식으로 해결한 학생들이 있었습니다. 

"어? 왜 됨?" 아이들도 자기가 해놓고 신기해 하던 해결 답안 3가지를 추가로 공유합니다.

 

어떤 답안이 가장 마음에 드시나요? 
더 좋은 답안이 있다면 그 이유는 뭘까요?

반응형