[2차시 4/9] 강의 및 과제(1)

 다음과 같은 성벽은 어떻게 만들 수 있을까?

영상을 보면서 아래 설명을 잘 읽어보자.

 

1. 규칙성 발견하기

조금 쉬운 과제를 보자. 다음 그림에서 어떠한 규칙을 발견할 수 있을까?

잘 이해가 안된다면 다음 그림을 보자.

 

즉, 입체는 다음 과 같이 반복되는 코드를 가진다.

 

 2. 치환- 반복을 표현하는 마법!

우리는 레고 조각으로 작품을 만들 때, 적절한 크기의 조각을 이용한다.

만약 레고조각처럼 반복되는 부분을 사용할 수 있다면 코딩이 쉬워질 것이다.

발견한 규칙을 하나의 기호로 표현하는 것을 우리는 치환이라고 부른다.

이때, 우리는 다양한 치환문자(예_ X, Y, Z)로 반복된 부분을 치환할  수 있다.

치환 코드는 다음과 같다.

즉, 치환을 이용해 그림의 코드를 다음과 같이 간단히 할 수 있다.

 

 

 

doit (3s 2u 2l 3s 2u 2l 3s 2u 2l 3s 2u 2l)

활동1. 위 코드를 치환을 이용한 코드로 바꾸어 코딩해 보시오.

A = '2s [3u] l' doit (4A)

활동2. 위 코드는 치환을 이용한 코드이다. 치환을 사용하지 않는 방식으로 코딩해 보자.

 활동3. 다음 그림은 4층, 5층의 큐브가 5번 반복되어 만들어진 성벽이다. 최대한 짧게 코딩해 보시오.

  

활동4. 다음 그림은 가로10, 세로10인 정사각형을 만든 것이다. 최대한 짧게 코딩해 보시오.

 

 

 3. 회전

지금까지 우리는 거북이가 한쪽 뱡항(x방향)으로만 이동하도록 하였다. 만약 거북이가 바라보는 방향을 바꿀 수 있다면 어떻게 될까?

다음 예제를 살펴보자.

성벽을 만들었다. 그런데 더 짧게 줄일 수는 없을까? 코드를 보면, 거북이가 앞으로 가고, 왼쪽으로 가고, 뒤로 가고, 오른쪽으로 간다.

이것은 ‘앞으로가고 왼쪽으로 도는 것’을 4번 반복한 것이다.

 

다음 코드는 거북이의 방향을 바꾸는 것이다.

 

즉, 위의 성벽을 만드는 코드는 다음과 같이 간단히 바꿀 수 있다.

 

활동5. 다음은 X = ‘2s [3u]’를 이용해 만든 구조물이다. 최대한 짧게 코딩해 보시오.

 거북 SXYZ 캐슬!

다시 우리의 목적으로 돌아오자. 우리는 지금 코딩으로 건축을 하고 있다. 적절한 치환문자를 사용하면 큰 규모의 작품도 얼마든지 만들 수 있다. 아직 익숙하지 않을지 모르지만, 전적으로 우리를 믿어야 한다.

 

터틀크래프트에는 이미 내장된 치환문자가 몇 가지가 있다. 다음은 이를 불러오는 방법이다.

치환문자를 불러와서 성을 만드는 놀라운 체험을 해보도록 하자.

 

 

각 치환문자의 의미와 코드는 다음과 같다.

 

 

 

doitsxyz doit(10S X 10S X 10S X 10S X )

 위 코드와 실행결과를 살펴보자.

S를 10번 사용하여 한 줄의 성곽을 만들고 X를 이용해 왼쪽으로 돈다.

이를 4번 반복하면, 성곽이 만들어 진다.

Y와 Z를 적절히 사용하면 오른쪽과 같이 더 화려한 성곽도 만들 수 있다.

 

 

심화 활동: doitsxyz를 이용하여 나만의 성벽을 코딩하시오.

(지금까지 배운 코드를 활용해서 꾸며도 좋습니다.)

 

첨부
중등반/김민준 중급 2022-04-09 12:03:21