computer-science-computational-thinking-post4

boost course의 강의 내용으로 공부를 진행하였습니다.

스크래치 기초 & 심화

알고리즘을 만들기 위해 여러가지 프로그래밍 언어를 사용할 수 있습니다. 쉬운 방법중 하나는 스크래치와 같은 그래픽 프로그래밍 언어를 사용하는 것입니다. 블록을 옮기고 이어 붙여서 우리가 원하는 작업을 수행하도록 할 수 있습니다.

학습 목표

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

핵심 단어

  • 스크래치
  • 블록

스크래치

알고리즘을 구성하는 요소로는 함수, 조건, 불리언 표현, 루프 등이 있습니다. 스크래치라는 그래픽 프로그래밍 언어를 사용하면 블록을 옮겨 붙여서 알고리즘을 만들어 볼 수 있습니다.

400x200

화면 왼 쪽에는 함수나 변수 등을 나타내는 퍼즐 조각들이 있습니다. 이 블록들은 화면 중간으로 옮길 수 있습니다. 화면 오른쪽에는 알고리즘 결과나 보여지는 무대가 있습니다. 이 캐릭터의 요정이 “hello, world’ 라고 말 하거나 “이름이 뭐니?”라고 묻고, “David”이라고 답할 수 있도록 할 수 있습니다.

스크래치 블록

블록의 종류에 따라서 프로그램이 수행하는 일의 종류가 달라집니다. 입력이 주어졌을 때 블랙 박스를 거쳐 출력이 되는 컴퓨터의 작동 원리를 생각해보면, 하나의 블록이 블랙 박스의 역할을 하는 것입니다. 가령 “말해라” 라는 블록에 “hello, world”라는 입력을 주게되면 그 결과로 고양이가 “hello, world”라고 말하게 되는 것이죠. 이러한 입력과 출력을 이어 붙여서 여러 작업을 순차적으로 수행할 수도 있습니다.

변수와 루프

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

400x200

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

변수와 조건문

200x400

조건문을 활용하면 더 복잡한 프로그램도 가능합니다. 여기서는 ‘참’ 또는 ‘거짓’ 값을 가지는 불리언 변수를 사용합니다. 초록색 깃발이 클릭되면, muted 변수를 ‘거짓’으로 설정합니다. 그리고 루프를 돌면서, 감지 블록을 통해 스페이스 키가 눌렸는지 체크합니다. 그렇다면, muted가 ‘참’인지 확인합니다. 만약 그렇다면, muted를 거짓으로 설정합니다. 만약 muted가 ‘참’이 아니라면, muted를 ‘참’으로 설정합니다. 그리고 1초를 기다립니다.