소프트웨어코딩
소프트웨어코딩 02 연산 변수 리스트
오미자컴
2022. 2. 24. 12:43
자료형(data type)이란?
컴퓨터 프로그램이 읽고, 수정하고, 출력하는 모든 재료인 데이터의 유형
정수형(-3, -2, 0, 1, 3)
실수형(-10.5, 0.14, 45.9)
문자형(a, b, c, 가, 나, 다), 문자열 형(‘홍길동’)
불린 형(참, 거짓)
연산이란?
계산
연산자 :
산술연산자 :
+, -, *, /, 나누기의 나머지
비교연산자 :
>(크다), <(작다), =(같다)
계산 우선순위 :
블록 조합 방법에 따라
변수란?
프로그램 내의 값(숫자나 문자), 입력 결과, 계산 결과 등을 넣어 두는 상자
변수는 값을 넣고 뺄 수 있습니다. 새로운 값을 넣으면 이전 값은 사라져요. 처리에 따라 내용이 변하여 변수.
변수 만들기 :
도구 상자에서 ‘변수’ 클릭. ‘변수 만들기’ 단추 클릭
새로운 변수 이름:
원하는 단어로 이름을 정합니다. 보통 넣을 값을 이해하기 쉬운 말, 예를 들면 ‘득점’이라고 변수명을 정하면 그 값이 득점한 점수라고 이해하기 쉬워요.
모든 스프라이트에서 사용 :
보통 코딩 용어로 전역 변수라 합니다. 어느 스프라이트에서나 사용할 수 있습니다.
이 스프라이트에서만 사용 :
지역변수
스크래치에선 변수가 숫자든 문자든 알아서, 즉 변수 유형에 상관없이 잘 처리해줍니다. 예를 들어, ‘10만큼 움직이기’ 동작 블록의 변수 ‘10’ 대신에 문자로 ‘십’이라고 입력해도 코딩에 오류가 나지 않지만, 10만큼 움직이진 않습니다.
클릭으로 점수내기 – 고양이 1
클릭으로 점수내기 – 고양이 2
클릭으로 점수내기 – Abby
변수를 왜 사용하나요?
자료(data)를 반복하여 사용할 때 편리하기 때문입니다.
고양이가 10걸음 움직이고 1초를 기다리길 3차례 반복하는 코딩을 짰을 경우
고양이가 50걸음씩 움직이고 2초를 기다리는 것으로 바꾸려면 다시 6번 수정해야 합니다.
변수를 이용하여 코딩하면 2번 수정하면 끝.
변수 사용하지 않은 코딩
변수 사용한 코딩
구조적 자료형이란?
여러 개의 자료를 하나의 단위로 효율적으로 처리할 수 있는 자료형
배열(array)?
자료들에 순서를 매겨 나열한 집합. 예) 1반(10명)의 국어 점수를 각각 할당. 보통 0부터 순서 매김. 자료의 순서를 활용함(연산함)
리스트?
일정한 순서에 따라 나열한 구조. 예) 요일, 무지개 색깔 등. 자료 추가, 삭제, 검색, 개수 구하기 등 연산 가능(활용도가 높음). 그래서 스크래치는 이것을 제공! 추상적 자료형. 컴퓨팅 사고력 : 추상화, 분해,패턴인식, 알고리즘.
리스트는 어떻게 만드나요?
변수 만들기와 마찬가지입니다
도구 상자에서 ‘변수’ 클릭. ‘리스트 만들기’ 단추 클릭.
새로운 리스트 이름 : 음식
사용자가 입력하는 자료를 활용하려면 어떻게 해야 하나요?
‘감지’ 블록 중 ‘너 이름이 뭐니? 라고 묻고 기다리기’ 블록, ‘대답’ 블록
묻고 기다리기 블록에서 입력 받은 자료가 대답 블록에 변수로 저장됩니다
음식 리스트 코딩1 – 자료 입력
저장해 놓은 가장 좋아하는 음식을 목록에서 다시 불러오려면 어떻게 해야 하나요?
음식 리스트의 제일 끝에서 3번째 항목을 불러오면 됩니다
리스트 음식의 길이만큼 항목이 있습니다. 예를 들면 음식 리스트에 3개 항목이 있으면 음식 리스트의 길이가 3이 됩니다. 첫번째 항목을 불러오려면 음식의 길이에서 2를 빼야 합니다. 3-2=1. 첫번째로 좋아하는 음식을 불러올 수 있습니다.
제일 좋아하는 음식 불러와 3초 동안 말하기
음식 리스트 코딩2 – 자료 출력
음식 리스트 코딩2 – 자료 출력 다른 방법
음식 리스트를 처음부터 순서대로 하나씩 불러오려면 어떻게 해야 하나요?
변수를 하나 만들고(이름 : 인덱스), 이 변수를 ‘1’로 초기화 하고 반복문을 통해 숫자를 하나씩 증가시키며 음식 리스트의 항목들을 1번째 항목부터 말하도록 합니다.
몇 번 반복해야 할까요?
음식의 길이만큼
어떻게 1씩 증가시키나요?
인덱스 변수를 1만큼 바꾸기
음식 리스트 코딩3 – 자료 모두 출력
반복의 방법에 대하여
몇 번 반복해야 할까요?
음식의 길이만큼
언제까지 반복해야 할까요?
인덱스 변수가 음식의 길이보다 커질 때까지
영어 단어를 말하면, 그 뜻을 알려주도록 코딩하려면 어떻게 해야 하나요?
영어는 영어 리스트에, 그 뜻은 한국어 리스트에 입력합니다.
먼저 영어 리스트에서 말하게 하고, 그 다음에 한국에 리스트에서 말하도록 합니다.
영단어 먼저 말하고 그 뜻 말하기 코딩 1
영단어 먼저 말하고 그 뜻 말하기 코딩 2
찾고 싶은 단어를 영어나 한국어로 입력하면 그 뜻이나 단어를 말해주는 코딩을 하려면 어떻게 해야 하나요?
먼저 찾는 단어를 묻고 기다립니다.
만약 영어 리스트에 찾는 단어가 있다면, 영어 리스트에서 찾는 단어 항목의 위치를 한국어 리스트의 항목 위치로 말하게 합니다.
만약 한국어 리스트에 찾는 단어가 있다면, 한국어 리스트에서 찾는 단어 항목의 위치를 영어 리스트의 항목 위치로 말하게 합니다.
찾는 단어 코딩
한자 공부 코딩을 어떻게 할까요?
하루에 5개씩 1주일에 5일 입력합니다
매일 그날 공부한 것 복습하고, 하루 전날 것도 복습하며, 1주일 전에 공부한 것도 복습합니다
최후에 입력한 것이 리스트 한자의 길이이고, 한자의 길이에서 1을 뺀 것이 그 전 것이니 4까지 뺀 것이 그날 공부한 한자입니다.
어제 공부한 것은 5~9, 1주일 전에 공부한 것은 25~29.
실습 자료 :
한자 공부 코딩 1 – 자료 입력
한자 공부 코딩 2 – 오늘 공부 복습
한자 공부 코딩 3 – 어제 공부 복습
한자 공부 코딩 4 – 1주전 공부 복습
음식 리스트 코딩에서 사용한 스크립트를 한자 공부 코딩에 가져오려면 어떻게 해야요?
음식 리스트 코딩의 고양이 스프라이트를 ‘음식고양이’로 이름을 바꾸고, 작업창 하단에 있는 ‘개인 저장소’에 드래그 하여 보관합니다.
다시 한자 공부 파일 스크립트에 ‘스프라이트 관리창’에 ‘개인 저장소’에 있는 ‘음식고양이’를 드래그 하여 가져옵니다.
‘음식고양이’에서 ‘스페이스 키 눌렀을 때’ 이벤트 블록을 ‘한자고양이’(스프라이트1의 이름을 이렇게 바꿉니다)에 복사합니다. ‘음식고양이’는 삭제.
한자 공부 코딩 5 – 전부 복습