컴퓨터 기본 사용법 보기 메뉴, 도구 상자, 아이콘, 펼침 단추, 스프라이트, 작업창, 무대창, 실행창 등 선택 마우스 포인터 위치 시킴 클릭, 화살표 키, Tab 키 등 실행 Enter, 클릭, 더블클릭, 드래그, 우클릭 취소 : 여백 클릭, ESC 키, Ctrl+Z 등
프로그래밍이란? 프로그램을 작성할 때 사용하는 언어 : 프로그래밍 언어 컴퓨터가 이해하는 언어 : 기계어(이진수), 어셈블리어 일상 언어와 기호를 사용하는 프로그래밍 언어 : 고급 프로그래밍 언어. 소스(원시) 프로그램 고급 프로그래밍 언어를 저급 프로그래밍 언어로 바꾸기 : 컴파일러-> 어셈블러 -> 기계어. 인터프리터. 컴파일러와 인터프리터? 컴파일러를 이용하는 프로그래밍 언어 : C, C++, 자바 등 인터프리터를 이용하는 프로그래밍 언어: 파이썬, 비주얼베이직, 자바스크립트. 스크립트 언어 스크래치는? 스크립트 언어. 스크립트 : 연극 대본.
코딩이란? 프로그래밍 할 때 실행 순서를 프로그래밍 언어의 명령어(코드)로 작성하는 일 프로그래밍은 더 큰 개념으로 코드 작성, 분석 및 구현, 기계 레벨 출력 생성, 디버깅, 컴파일, 테스트 및 구현 등 원하는 출력을 만들기 위한 모든 중요한 모든 영역을 포함. 스크래치란? 문자로 된 코드 대신에 블록(Block)이라고 불리는 상자 모양의 명령을 마우스로 드래그해 조립, 프로그램을 구성해나가는 것 미국 MIT 미디어랩의 라이프롱 킨더가르텐 그룹에서 개발. 스크래치를 어떻게 실행하나요? 크롬 웹브라우저 프로그램으로https://scratch.mit.edu 에 접속하여 상단 메뉴에 있는 ‘만들기’ 클릭. 지구본 아이콘 클릭 후, ‘한국어’ 선택. 스크래치 가입 : 계정 갖기. 로그인 하면 저장하고 관리할 때 편하고 함께 공유할 수 있습니다.
스크래치 가입을 어떻게 하나요? https://scratch.mit.edu 에 접속하여 상단 메뉴에 있는 ‘스크래치 가입’ 클릭 사용자 이름 : 영어, 숫자, -, _ 비밀번호 : 비밀 번호 표시 체크해제 후 국가 : Korea, Republic of 이메일주소 : email1234@gmail.com 위에 적은 이메일 사이트에 로그인 후 Confirm your Scratch account이란 제목의 메일 클릭 후 ‘계정 인증’ 단추 클릭. 같은 이메일에 다른 계정 추가 인증은 안 됩니다.
스프라이트(sprite)란? (장난 좋아하는)요정, 도깨비 게임 캐릭터 코카콜라 브랜드의 소다 제품명. 레몬 라임 드링크. 등장 인물
무대 크기는? 가로 480 픽셀, 세로 360 픽셀 스프라이트가 있는 위치는 가로 +-240, 세로 +-180.
블록이란? 동작, 형태, 소리, 이벤트, 제어, 감지, 연산, 변수, 나만의 블록 등 문장, 자료/변수(타원), 조건(6각형), 제어, 이벤트 블록 등 블록 조작 : 드래그 블록 조립과 분리 : 드래그 할 때 회색의 블록 음영 참조. 블록 복사 : 우클릭. ‘ 복사하기’ 후 블록 조립(원하는 곳에서 클릭) 다른 스프라이트에 복사 : 원하는 블록을 다른 스프라이트로 드래그(그 스프라이트가 좌우로 움직임) 첫 번째 코딩 준비 작업 : 무대와 배우 [스프라이트/무대 관리 창]에서 [배경 고르기] 클릭 Beach Malibu 클릭 [스프라이트/무대 관리 창]에서 [스프라이트 고르기]를 클릭 Mouse1 클릭 스프라이트 이름 변경 : [스프라이트/무대 관리 창]상단에서 ‘고양이’, ‘쥐’ 등으로 변경 고양이와 쥐의 위치 변경 : 드래그
스크립트 작성 고양이 스프라이트 선택 후 이벤트 블록에서 녹색 깃발 ‘클릭했을 때’를 가져다 스크립트 창에 놓음 동작 블록에서 ‘마우스 포인터 쪽 보기’를 가져다 ‘쥐 쪽 보기’로 바꾸기 ’10만큼 움직이기’ 동작 블록 ‘1초 기다리기’ 제어 블록 ‘무한 반복하기’ 제어 블록으로 모든 블록을 감쌈.
스크립트 실행 [프로그램 실행 창]에서 ‘전체화면’ 단추 클릭 ‘시작하기’ 단추 클릭 ‘멈추기’ 단추 클릭 다시 ‘전체화면’ 단추 클릭
스프라이트 디버깅 고양이 : ‘회전 방식을 왼쪽 – 오른쪽으로 정하기’ 동작블록과 ‘90도 방향 보기’ 동작블록, 그리고 ‘x:-185 y:-119로 이동하기’ 동작블록, ‘맨 앞쪽으로 순서 바꾸기’ 형태블록을 무한 반복하기 블록 위쪽에 ‘드래그 모드를 드래그 할 수 있는 상태로 정하기’ 감지 블록을 무한 반복하기 블록 위쪽에 쥐에도 ‘드래그 모드를 드래그 할 수 있는 상태로 정하기’ 감지 블록을 넣음 늘 고양이가 쥐 위에 보에게 하려면? ‘맨 앞쪽으로 순서 바꾸기’ 형태블록을 무한 반복 안에
저장하고 불러오려면? 상단 [메인 메뉴 바] 중앙에 있는 프로젝트 이름 창에 ‘고양이와 쥐’라고 입력하고 [파일 – 저장하기]. ‘내 작업실’에 저장됨 확장자 : sb3 ‘공유’ 단추 : 다른 사용자가 볼 수 있고 댓글과 평가를 받을 수 있다 ‘프로젝트 페이지 보기’ 단추 : 작성한 프로그램 사용 방법 또는 참고사항 등 작성 ‘스크립트 보기’ 단추 : 프로그래밍(코딩) 불러오기 : [파일 – 컴퓨터에서 가져오기(Lord from your computer)]
변수란? 프로그램 내의 값(숫자나 문자), 입력 결과, 계산 결과 등을 넣어 두는 상자 변수는 값을 넣고 뺄 수 있습니다. 새로운 값을 넣으면 이전 값은 사라져요. 처리에 따라 내용이 변하여 변수. 변수 만들기 : 도구 상자에서 ‘변수’ 클릭. ‘변수 만들기’ 단추 클릭 새로운 변수 이름: 원하는 단어로 이름을 정합니다. 보통 넣을 값을 이해하기 쉬운 말, 예를 들면 ‘득점’이라고 변수명을 정하면 그 값이 득점한 점수라고 이해하기 쉬워요.
모든 스프라이트에서 사용 : 보통 코딩 용어로 전역 변수라 합니다. 어느 스프라이트에서나 사용할 수 있습니다. 이 스프라이트에서만 사용 : 지역변수 스크래치에선 변수가 숫자든 문자든 알아서, 즉 변수 유형에 상관없이 잘 처리해줍니다. 예를 들어, ‘10만큼 움직이기’ 동작 블록의 변수 ‘10’ 대신에 문자로 ‘십’이라고 입력해도 코딩에 오류가 나지 않지만, 10만큼 움직이진 않습니다.
구조적 자료형이란? 여러 개의 자료를 하나의 단위로 효율적으로 처리할 수 있는 자료형 배열(array)? 자료들에 순서를 매겨 나열한 집합. 예) 1반(10명)의 국어 점수를 각각 할당. 보통 0부터 순서 매김. 자료의 순서를 활용함(연산함) 리스트? 일정한 순서에 따라 나열한 구조. 예) 요일, 무지개 색깔 등. 자료 추가, 삭제, 검색, 개수 구하기 등 연산 가능(활용도가 높음). 그래서 스크래치는 이것을 제공! 추상적 자료형. 컴퓨팅 사고력 : 추상화, 분해,패턴인식, 알고리즘.
리스트는 어떻게 만드나요? 변수 만들기와 마찬가지입니다 도구 상자에서 ‘변수’ 클릭. ‘리스트 만들기’ 단추 클릭. 새로운 리스트 이름 : 음식 사용자가 입력하는 자료를 활용하려면 어떻게 해야 하나요? ‘감지’ 블록 중 ‘너 이름이 뭐니? 라고 묻고 기다리기’ 블록, ‘대답’ 블록 묻고 기다리기 블록에서 입력 받은 자료가 대답 블록에 변수로 저장됩니다
음식 리스트 코딩1 – 자료 입력
저장해 놓은 가장 좋아하는 음식을 목록에서 다시 불러오려면 어떻게 해야 하나요? 음식 리스트의 제일 끝에서 3번째 항목을 불러오면 됩니다 리스트 음식의 길이만큼 항목이 있습니다. 예를 들면 음식 리스트에 3개 항목이 있으면 음식 리스트의 길이가 3이 됩니다. 첫번째 항목을 불러오려면 음식의 길이에서 2를 빼야 합니다. 3-2=1. 첫번째로 좋아하는 음식을 불러올 수 있습니다.
제일 좋아하는 음식 불러와 3초 동안 말하기
음식 리스트 코딩2 – 자료 출력
음식 리스트 코딩2 – 자료 출력 다른 방법
음식 리스트 코딩 – 반복 블록 사용
음식 리스트를 처음부터 순서대로 하나씩 불러오려면 어떻게 해야 하나요? 변수를 하나 만들고(이름 : 인덱스), 이 변수를 ‘1’로 초기화 하고 반복문을 통해 숫자를 하나씩 증가시키며 음식 리스트의 항목들을 1번째 항목부터 말하도록 합니다. 몇 번 반복해야 할까요? 음식의 길이만큼 어떻게 1씩 증가시키나요? 인덱스 변수를 1만큼 바꾸기
음식 리스트 코딩3 – 자료 모두 출력
천자문을 조건에 맞추어 공부하는 코딩을 하려면 어떻게 하나요? 오늘 날짜를 말하게 하고 시작일 변수를 만들고 시작일을 ‘2000년 이후 현재까지 날짜 수’로 정합니다 ‘날짜’ 리스트를 만들고, 변수 시작일을 여기에 추가합니다 ‘한자’ 리스트를 만들고, 여기에 천자문 텍스트 문서를 불러옵니다 매일 4개 항목씩(16글자) 공부하고, 어제 학습한 한자를 복습하고, 1주일 전에 익힌 한자를 복습합니다.
천자문 공부하는 코딩 개요 처음에 초기화 하려면 영문자 a키를 누르세요. 매일 천자문을 16자씩 새로 공부하고, 어제 공부한 천자문을 복습하고, 또 1주일 전에 공부한 천자문을 익힙니다. 1주에 5번만 공부합니다. 하루 한 번 1분 30초, 3개월이면 다 공부합니다. 이 파일을 컴퓨터에 저장한 것으로 자신만의 진도를 나가면 됩니다. 스페이스바를 누르면 천자문을 다 외웁니다. 약 30분 걸립니다.
한자 리스트에 천자문을 쉽게 입력하는 방법은 없나요? 인터넷 검색으로 천자문을 찾아 텍스트 파일로 만듭니다 한 줄에 4글자씩 입력합니다 한자 리스트에서 가져옵니다 실습 자료 : 77story.tistory.com
오늘의 천자문을 공부하려면 어떻게 해야 하나요? 한자 리스트에서 첫번째 항목부터 불러오려면? 날짜 리스트 길이, 순서를 나타내는 숫자, 인덱스 변수를 활용해야 합니다 오늘 공부하는 날짜는 기본적으로 리스트에 하나 추가하므로 그 길이가 무조건 1이고, 오늘 4개를 공부하므로, 한자 리스트에서 첫번째 항목을 가져오려면? 날짜의 길이가 이미 1이므로 첫번째 항목을 가져오려면 0을 더해야 합니다 두번째 항목은? 날짜의 길이인 1에 1을 더해 2가 되어야
인덱스 변수는 왜 필요한가요? 어제 공부한 내용을 복습할 때 필요합니다 인덱스 변수를 매일 3씩 증가시켜 주어야 합니다 왜요? 매일 그 날의 날짜 리스트가 하나씩 늘어나므로 기본적으로 날짜 리스트의 길이가 하나 추가되어, 둘쨋날의 날짜 길이는 2가 됩니다. 매일 4개 항목씩 공부하는데 기본적으로 날짜 길이가 하나씩 늘어나므로 인덱스 변수는 3을 증가시켜 주어야 합이 4가 됩니다. 어제 내용, 그리고 1주전 내용을 불러오려면 인덱스 변수를 기준 삼아 필요한 한자 리스트 항목을 뽑아내야 합니다
한자 리스트의 첫 번째 항목 말하려면?
어제 공부한 천자문을 복습하려면 어떻게 해야 하나요? 어제 공부한 내용이 있으려면, 최소한 날짜의 길이가 2가 되어야 합니다. 그리고 오늘 공부했기에 인덱스는 6이 되어 있습니다(어제 3 + 오늘 3). 어제 공부한 항목은 오늘 공부한 항목보다 일곱 항목을 앞으로 거슬러 올라가야 합니다. 즉 어제 첫번째로 공부한 항목이 한자 리스트의 1번 항목입니다. 그러니까 답이 1이 나와야 하는데, 지금 날짜의 길이 2, 인덱스 숫자 6이므로 7을 빼야 답이 1이 됩니다.
어제 공부한 항목으로 가기
1주일 전에 공부한 내용을 복습하려면 어떻게 해야 하나요? 1주일에 5일만 공부한다고 했을 경우, 1주일 전에 공부한 내용을 복습하려면 최소한 6일째가 되어야 합니다. 논리식으론 날짜의 길이가 5보다 커야 합니다. 날짜의 길이 6 + 인덱스 숫자 18(3*6)는 24가 됩니다. 6일째의 1주일 전은 1일째이므로 복습할 항목은 1이 되어야 하므로, 23을 빼주어야 합니다.