Download presentation
Presentation is loading. Please wait.
Published by영배 목 Modified 5년 전
1
컴퓨팅 사고력을 키우는 SW 교육 : 스크래치 [강의교안 이용 안내] 본 강의교안의 저작권은 저자인 고광일과 한빛아카데미㈜에 있습니다. 이 자료는 강의 보조자료로 제공되는 것으로 무단으로 전제하거나 배포하는 것을 금합니다.
2
5주차 : 전역변수와 지역변수, 배열, 리스트 전역변수, 지역변수, 배열, 리스트
3
([이 스프라이트에서만 사용] 메뉴로 생성됨)
변수의 유효범위 변수의 유효범위의 이해 변수의 유효범위 변수가 사용될 수 있는 범위를 의미 변수는 자신의 유효범위로 정해진 영역 내에서만 사용 가능 유효범위 밖에서는 그 변수의 값을 읽는다거나 수정하는 작업이 차단됨 기본적으로 변수의 유효범위는 변수가 생성된 장소로 한정됨 스크래치를 예로 들면, [이 스프라이트에서만 사용] 메뉴로 생성된 변수는 자신이 생성된 스프라이트로 유효범위가 한정됨 다른 스프라이트나 무대에서는 그 변수의 값을 읽거나 변경할 수 없음 고양이 스프라이트의 변수 [나이]와 [이름]은 유효범위가 고양이 스프라이트에 한정되어 다른 스프라이트나 무대가 접근하여 보거나 수정할 수 없습니다. 고양이 스프라이트의 변수 [나이], [이름] ([이 스프라이트에서만 사용] 메뉴로 생성됨)
4
변수의 유효범위 지역변수의 개념 지역변수 지역변수 이름 사용의 유의점
특정 장소에 유효범위가 한정되어 그 장소에서만 사용할 수 있는 변수 어느 장소의 지역변수는 타 장소에서 읽거나 수정할 수 없음 지역변수 이름 사용의 유의점 같은 유효범위를 갖는 지역변수는 서로 간 구별을 위해서 서로 다른 변수 이름 사용 유효범위가 다른 지역변수들은 사용되는 장소가 다르기 때문에 같은 이름을 가져도 구별이 가능함. 따라서 같은 이름 사용 가능
5
변수의 유효범위 지역변수의 개념
6
변수의 유효범위 전역변수의 개념 전역변수 전역변수의 생성 장소 지역변수 이름 사용의 유의점
프로그램의 모든 장소에서 사용할 수 있는 변수 전역변수는 프로그램의 모든 장소에서 읽거나 수정할 수 있음 전역변수의 생성 장소 전역변수 생성을 위한 공용 장소가 별도로 제공되는 경우가 많음 예를 들어, 스크래치의 경우는 무대가 바로 전역변수가 생성되는 공용 장소 지역변수 이름 사용의 유의점 모든 전역변수는 프로그램 전체라는 동일한 유효범위를 갖기 때문에 서로 간 이름이 달라야 함
7
변수의 유효범위 전역변수의 개념
8
변수의 유효범위 스크래치의 지역변수와 전역변수 지역변수 전역변수 [이 스프라이트에서만 사용] 메뉴로 생성된 스프라이트의 변수
유효범위는 자신이 생성된 스프라이트에 한정 다른 스프라이트나 무대에서 사용 불가 한 스프라이트의 지역변수들을 서로 다른 이름을 가져야 함 서로 다른 스프라이트는 같은 이름의 지역변수를 가질 수 있음 전역변수 [모든 스프라이트에서 사용] 메뉴로 생성된 스프라이트의 변수 무대에서 생성된 변수 유효범위는 프로그램에 존재하는 모든 스프라이트와 무대 모든 스프라이트와 무대에서 사용 가능 전역변수는 다른 전역변수와 지역변수들과 서로 다른 이름을 가져야 함
9
변수의 유효범위 스크래치 변수의 유효범위 실습하기 사과 스프라이트 추가 고양이 스프라이트의 지역변수 [고양이 이름] 생성
p090_지역 변수와 전역 변수 생성하기.sb2 변수의 유효범위 스크래치 변수의 유효범위 실습하기 사과 스프라이트 추가 [스프라이트 저장소]의 “Apple” 추가 고양이 스프라이트의 지역변수 [고양이 이름] 생성
10
변수의 유효범위 스크래치 변수의 유효범위 실습하기 - 계속 사과 스프라이트를 활용하여 전역변수 [사과 색깔] 생성
p090_지역 변수와 전역 변수 생성하기.sb2 변수의 유효범위 스크래치 변수의 유효범위 실습하기 - 계속 사과 스프라이트를 활용하여 전역변수 [사과 색깔] 생성
11
변수의 유효범위 스크래치 변수의 유효범위 실습하기 - 계속 변수의 유효범위 확인
[스프라이트/무대 관리 창]에서 고양이 스프라이트, 사과 스프라이트, 그리고 무대를 선택하면서 각각의 경우 [스크립트] 탭의 [데이터] 메뉴에 보이는 자료 블록 확인 [스크립트] 탭의 [데이터] 메뉴에 보이는 자료 블록들이 사용 가능한 변수 스프라이트/무대 활용가능 변수 설명 고양이의 지역 변수 [고양이 이름]과 사과의 전역 변수 [사과 색깔]이 존재함 • 사과의 전역 변수 [사과 색깔]만 존재함 • 변수 [고양이 이름]은 고양이의 지역 변수이기 때문에 사과는 접근할 수 없음 • 변수 [고양이 이름]은 고양이의 지역 변수이기 때문에 무대는 접근할 수 없음
12
변수의 유효범위 스크래치 변수의 유효범위 실습하기 - 계속 무대를 활용하여 전역변수 [무대 배경] 생성
고양이 스프라이트와 사과 스프라이트가 사용할 수 있는 변수 확인 스프라이트/무대 활용가능 변수 설명 고양이의 지역 변수 [고양이 이름]과 사과의 전역 변수 [사과 색깔] 그리고 무대의 전역 변수 [무대 배경]이 존재함 사과의 전역 변수 [사과 색깔]과 무대의 전역 변수 [무대 배경]이 존재함
13
구조적 자료형의 이해 …. 기본 자료형과 구조적 자료형의 개념 기본 자료형 기본 자료형만 사용할 때 문제점 1 1.9 ‘A’
정수형, 실수형, 문자형, 불린 형, 문자열 형 등의 자료형들은 변수형으로 사용될 때 그 변수가 오직 하나의 값만 할당 받을 수 있음 기본 자료형: 변수형으로 사용될 때 변수가 하나의 자료만 할당 받는 자료형 기본 자료형만 사용할 때 문제점 프로그래밍 작업에 기본 자료형만 사용할 수 있다면, 한 반의 학생들의 국어점수를 관리할 때 그 반의 학생 수 만큼의 변수를 생성해야 함 기본 자료형은 하나의 자료만 할당됨 30명 학생들의 국어점수 처리를 위한 변수들 1 1.9 ‘A’ 학생1 점수 학생2 점수 학생3 점수 …. 정수형 변수 실수형 변수 문자형 변수 이걸 언제 다 만들어.. True “Scratch” 불린 형 변수 문자열 형 변수 학생28 점수 학생29 점수 학생30 점수
14
구조적 자료형의 이해 기본 자료형과 구조적 자료형의 개념 구조적 자료형 1 25 19 1 ‘A’ 0.5
여러 개의 자료들을 하나의 단위로 효율적으로 처리할 수 있는 자료형 기본 자료형과 달리 구조적 자료형을 변수형으로 갖는 변수는 여러 개의 자료들을 할당할 수 있음 구조적 자료형은 여러 개의 자료가 할당됨 30명 학생들의 국어점수 처리를 위한 구조적 자료형 변수 (여러 개의 정수형 자료가 할당될 수 있는 구조적 자료형 변수) 1 25 19 여러 개의 정수형 자료가 할당될 수 있는 구조적 자료형 변수 99 99 99 99 99 99 99 99 99 90 99 88 99 99 99 89 87 93 80 1 ‘A’ 0.5 1반 국어점수 다양한 자료형의 자료가 할당될 수 있는 구조적 자료형 변수
15
구조적 자료형의 이해 배열 배열의 개념 가장 기본적인 구조적 자료형으로서 동일한 자료형의 원소들이 순서가 매겨져 나열된 집합
예) 정수형 배열은 여러 개의 정수형 자료를 순서를 매겨 할당 정수형 배열 자료형 정수형 자료가 들어갈 공간 1번째 2번째 3번째 n번째
16
구조적 자료형의 이해 배열 배열의 대표적 연산 배열을 변수형으로 갖는 변수에서 특정 위치의 원소를 나타내는 연산
i번째 있는 원소를 나타내는 방법은 변수 이름 뒤에 [ i ]라고 붙여서 표현
17
구조적 자료형의 이해 리스트 리스트의 개념 리스트의 대표적 연산 여러 개의 자료들을 어떤 순서에 따라 나열한 구조
예) 한 주의 요일 (월, 화, 수, 목, 금, 토, 일), 무지개 색깔 (빨강, 주황, 노랑, 초록, 파랑, 보라) 등 리스트의 대표적 연산 리스트 끝에 원소 추가하기 특정 위치에 원소 삽입하기 특정 위치의 원소 삭제하기 특정 위치의 원소를 다른 원소로 바꾸기 특정 위치의 원소 값 알아보기 현재 리스트가 담고 있는 원소 개수 알아보기 리스트에 어떤 원소가 포함되어 있는지 알아보기 등
18
… 구조적 자료형의 이해 리스트 리스트의 활용 모습 3 3 7 3 5 7 3 7 리스트 원소 추가하기(3) 리스트의 상태 변화
배열 끝에 3을 추가합니다. 내부 원소들의 리스트 내부 원소들의 리스트 3 원소 추가하기(7) 배열 끝에 3을 추가합니다. 리스트의 연산 내부 원소들의 리스트 원소 개수 알아보기 리스트에 포함된 원소 개수를 알려줌 3 7 원소 삽입하기(5, 2) 원소 추가하기(자료 x) 자료 x를 리스트 끝에 추가 배열 2번째에 5를 추가합니다. 내부 원소들의 리스트 원소 삽입하기(자료 x, 위치 i) 자료 x를 리스트 i번째 위치에 삽입 3 5 7 원소 삭제하기(2) 원소 알아보기(위치 i) 리스트 i번째 위치에 존재하는 원소 값을 알려줌 배열 2번째 원소를 삭제합니다. 내부 원소들의 리스트 3 7 원소 삭제하기(위치 i) 리스트 i번째 위치에 존재하는 원소를 삭제 원소 개수 알아보기 … 원소가 2개라고 알려줍니다.
19
구조적 자료형의 이해 스크래치의 리스트 리스트 자료형의 변수 생성
[스크립트] 탭의 [데이터] 메뉴의 기능을 활용하여 리스트 자료형의 변수 생성 고양이 스프라이트의 리스트 변수 [고양이 먹이들]의 생성 모습
20
구조적 자료형의 이해 스크래치의 리스트 리스트 변수를 생성할 때 자동 생성되는 블록들 리스트 연산 관련 블록들 설명
블록설명thing을 [고양이 먹이들] 리스트의 마지막 원소로 추가함 [고양이 먹이들] 리스트에서 원하는 위치의 원소를 삭제함 [고양이 먹이들] 리스트에서 원하는 위치에 thing을 삽입함 [고양이 먹이들] 리스트에서 원하는 위치의 원소를 thing으로 바꿈 [고양이 먹이들] 리스트에서 원하는 위치의 원소 값 [고양이 먹이들] 리스트에 포함된 원소들의 개수 [고양이 먹이들] 리스트에 thing이 있으면 참, 없으면 거짓 실행 화면에 [고양이 먹이들] 리스트를 보여줌 실행 화면에서 [고양이 먹이들] 리스트를 숨김
21
구조적 자료형의 이해 스크래치 리스트 실습하기 고양이 스프라이트의 리스트 변수 [고양이 먹이들] 생성
p096_리스트 생성하고 활용하기.sb2 구조적 자료형의 이해 스크래치 리스트 실습하기 고양이 스프라이트의 리스트 변수 [고양이 먹이들] 생성 [이 스프라이트에서만 사용] 메뉴를 선택하여 지역변수로 생성 아래와 같이 고양이 스프라이트의 행동 프로그래밍
22
구조적 자료형의 이해 스크래치 리스트 실습하기 – 계속 프로그램의 실행
고양이 스프라이트 요구에 “쥐”, “밥”, “강아지”, “생선”, “쥐” 순으로 입력 “쥐” 입력 “밥” 입력 “강아지” 입력 “생선” 입력
23
구조적 자료형의 이해 스크래치의 리스트 실습하기 – 계속 프로그램의 실행
다시 실행하여, 고양이 스프라이트의 요구에 “쥐”, “밥”, “강아지”, “생선”, “닭” 순으로 입력 (앞의 실행 모습에서 끝에 “쥐” 대신에 “닭”으로 변경함). “닭” 입력
Similar presentations