제8장 Scratch와 프로그래밍

1. Scratch의 기초

Scratch는 아이들에게 그래픽 환경을 통해 컴퓨터 프로그래밍에 관한 경험을 쌓게 하기 위한 목적으로 설계된 프로그래밍 언어 및 환경이다. 스퀵(Squeak) 을 기반으로 스몰토크(Smalltalk) 라는 언어로 작성되었고, 현재 대한민국 국내에서도 교육용으로 많이 활용되고 있다. http://scratch.mit.edu 에서 사용할 수 있다.

Scratch의 기본기능

Scratch를 사용하여 대화형 스토리, 애니메이션, 게임, 음악을 만들 수 있다.

스크래치 프로젝트를 시작하려면,  를 누르면 된다. 자신의 프로젝트를 공개하려면, 스크래치 가입을 하고 로그인해야한다.

이동하기

스프라이트를 움직이려면 를 선택하여 스크립트 영역으로 드래그 한다.

옮겨놓은 블록을 클릭하면 스프라이트가 조금(10만큼) 이동한다.

2. 소리내기

연주하기 블록을 드래그하여 움직이기 블록에 연결한다.

블록을 클릭하면 스프라이트가 움직이며 드럼소리를 낸다.

소리를 바꾸려면 연주하기 블록의 왼쪽(1)을 누르고 악기를 선택한다.

3. 춤추기

움직이기 블록을 하나 더 옮기고 값을 –10으로 바꾼다.

클릭하여 실행해 보자.

다른 드럼소리를 붙여보자.

4. 반복하기

제어를 누르고 반복하기 블록을 다음과 같이 옮긴다.

반복횟수를 15로 바꿔보자.

5. 말하기

형태를 누르고 말하기 블록을 옮겨보자.

블록을 누르면 2초동안 Hello!가 나타난다. 그만해로 바꿔보자.

6. 녹색깃발

녹색깃발을 드래그하여 제일 위에 놓아보자.

이제 녹색 깃발을 누르면 스프라이트가 움직인다.

7. 색깔 바꾸기

형태의 바꾸기 블록을 옮겨보자.

눌러서 스프라이트가 어떻게 변하는 지 살펴보자.

8. 키 입력

이벤트에서 “키를 눌렀을 때”블록을 옮겨보자.

스페이스 바를 누를 때마다 색깔이 바뀐다. 다른 키도 선택할 수 있다.

9. 배경 추가

배경은 다음에서 를 눌러서 선택한다.

배경을 선택하고 확인을 누르자.

무대 배경이 나타난다.

10. 스프라이트 추가하기

중 하나를 선택하여 스프라이트를 추가할 수 있다.

저장소에서 스프라이트 선택

새 스프라이트 색칠

스프라이트 파일 업로드하기

카메라로부터 새 스프라이트 만들기

를 누르고 Cassy Dance를 선택해 보자.

캐릭터를 드래그하여 적당한 위치로 옮겨보자.

11. 탐험

이제 스프라이트에게 무엇을 할지 명령할 수 있게 되었다. 소리를 추가해 보자.

저장소에서 소리 선택

새로운 소리 기록하기

소리 파일 업로드하기

스크립트 탭에서 소리를 선택하고 소리내기블록을 옮겨 직접 만든 소리를 플레이해 보자.

스프라이트의 모양을 바꿔보자. 모양 탭에서 다른 모양을 선택해 보자.

모양들을 바꿔가며 애니메이션을 할 수 있다. 스크립트 탭에서 스프라이트의 모양을 계속 바꾸도록 블록들을 배열해 보자.

12. 기타

제목 정하기

다른 아이디어나 기능을 알고싶을 때

2. Scratch와 무늬 만들기

스프라이트가 움직일 때 남기는 흔적을 사용하여 기하학적 무늬를 만들 수 있다.

활동 1. 정다각형을 그려보자.

정삼각형		정사각형		정오각형

활동 2. 반복하기 블록을 사용하여 정다각형 그려보자

정삼각형		정사각형		정오각형

활동 3. 반복하는 방법이 비슷하므로 추가블록을 만들어 놓으면 편리하다. 추가블록에서 블록만들기를 누른 후 이름은 다각형이라고 쓰고 선택사항을 눌러 숫자 매개변수를 추가하자. 이어서 다음과 같이 만들어보자.

정삼각형		정사각형		정오각형

활동 4. 을 사용하여 정7각형을 그리면 와 같이 다각형이 화면을 벗어난다. 변의 길이를 조절할 수 있도록 추가블록을 다시 만들어보자.

정7각형을 그려보자.

활동 5. 다른 규칙으로 기하학적 모양을 그려보자. 주어진 방향으로 움직인 후 90도씩 회전하는 과정을 반복할 때, 움직인 거리를 회전할 때 마다 다르게 줄 수 있다. 움직이는 거리가 차례대로 30, 40, 50을 반복하도록 만들어보자.

데이터의 변수 만들기와 리스트 만들기를 사용하면 편리하다. 먼저 리스트(이름은 길이)를 만들고 30, 40, 50을 추가해 보자. 길이 추가는 다음과 같이 프로그램한다.

아래그림과 같이 첫 번째는 30, 두 번째는 40, 3번째는 50이 들어있다.

움직여보자.

반복블록을 사용하여 4번 반복해보자.

반복블록 안쪽의 프로그램도 반복블록을 다시 사용하여 만들 수 있다. 변수가 하나 더 필요하다.

위 프로그램을 추가블록으로 만들어 두자. 반복횟수를 바꿀 수 있도록 매개변수로 만들어 두자.

30, 40, 50, 70, 40을 실행해 보자. 실행하기 전에 리스트에 아무 것도 남아있지 않도록 를 여러 번 눌러두자.

연습) 30,10,20,40,20의 결과는?

연습) 10,20,30,30의 결과는?

연습) 10,20,30,30,10을 사용하고, 회전각을 45도로하면 결과는?

연습) 위 문제에서 각도를 75도로 바꾸면 결과는?

연습) 여러 가지 리스트에 대하여 실행해 보고, 리스트에 따라 결과가 어떻게 달라지는 지 조사해 보자.
(1) 스프라이트가 없어질 때도 있는가?
(2) 몇 번 반복하면 제자리로 돌아오는가?

3. Scratch와 프랙탈

활동 1. 코흐곡선

활동 2. 프랙탈 나무

연습) 황금나선을 그려보자.

연습) 시에르핀스키 삼각형을 그려보자.

연습) 피타고라스나무를 그려보자.