들어가기 전에

스크래치를 이용하여 보다 복잡한 알고리즘을 구현할 수 있다.

#스크래치 #블록

변수와 루프

변수를 사용하면 정보를 저장하고 다시 재사용할 수 있다. 'counter'라는 변수를 사용하여 양이 숫자를 셀 수 있도록 해보자

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bc3249d6-90ac-4beb-996d-7fe520e7645b/count.png

초록색 깃발이 클릭되었을 때, counter 변수를 1로 설정한다. 그리고 영원히 루프를 돌면서 counter 변수에 저장된 값을 1초동안 말하도록 한다. 그 후 1초를 기다리고, counter의 값을 1 증가시킨다.

변수와 조건문

우리는 이제 우리의 프로그램을 조금 더 상호작용적이고 정보를 기억하도록 만들 수 있다.

조건문을 활용하면 더 복잡한 프로그램도 가능하다. 여기서는 '참' 또는 '거짓' 값을 가지는 불리언 변수를 사용한다.

초록색 깃발이 클릭되면 muted 변수를 '거짓'으로 설정한다.

그리고 루프를 돌면서, 감지 블록을 통해 스페이스 키가 눌렸는지 체크한다.

그렇다면 muted가 '참'인지 확인한다. 만약 그렇다면, muted를 거짓으로 설정한다.

만약 muted가 '참'이 아니라면, muted를 '참'으로 설정한다.

그리고 1초를 기다린다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/7165e0b9-5a81-40ec-bd18-caf2e17bb25e/bark.png

속도와 효율성

또한 나만의 새로운 조각을 만들 수도 있다. 만약 내가 기침을 하는 행동을 담은 코드를 cough 조각에 담아 실제 동작하는 코드에 넣는다면 실제 동작하는 코드는 기침 기능을 어떻게 구현했는지보다 기침을 할 수 있는지만 신경 쓸 수 있다.

이것이 추상화의 개념이다. 우리는 이러한 재활용 방식을 통해 우리의 코드를 훨씬 덜 복잡하고 더 짧게 줄일 수 있으며 실수도 줄일 수 있는 것이다.