컴퓨팅 사고력을 키우는 SW 교육 : 스크래치 [강의교안 이용 안내] 본 강의교안의 저작권은 저자인 고광일과 한빛아카데미㈜에 있습니다. 이 자료는 강의 보조자료로 제공되는 것으로 무단으로 전제하거나 배포하는 것을 금합니다.

Slides:



Advertisements
Similar presentations
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
Advertisements

1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
연결리스트(linked list).
제 9 장 구조체와 공용체.
컴퓨터 프로그래밍 기초 [Final] 기말고사
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
10장 함수.
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Javascript Basic Sample Programs
23장. 구조체와 사용자 정의 자료형 2.
2주차: 변수, 수식, Control Flow.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
프로그래밍 랩 – 7주 리스트.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
C#.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
인터넷응용프로그래밍 JavaScript(Intro).
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
8장. spss statistics 20의 데이터 변환
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
리스트(List)를 이용한 자료 관리 이점숙 /
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
제 6 장 함수(functions).
데이터 동적 할당 Collection class.
에어 PHP 입문.
소리 편집 안 재 형.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
Chapter 10 데이터 검색1.
함수, 모듈.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
Numerical Analysis Programming using NRs
Chapter 11 구조체.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
이산수학(Discrete Mathematics)  술어와 한정기호 (Predicates and Quantifiers)
제 4 장 Record.
9장. spss statistics 20의 데이터 변수계산
어서와 C언어는 처음이지 제21장.
13. 포인터와 배열! 함께 이해하기.
7 생성자 함수.
6 객체.
Presentation transcript:

컴퓨팅 사고력을 키우는 SW 교육 : 스크래치 [강의교안 이용 안내] 본 강의교안의 저작권은 저자인 고광일과 한빛아카데미㈜에 있습니다. 이 자료는 강의 보조자료로 제공되는 것으로 무단으로 전제하거나 배포하는 것을 금합니다.

5주차 : 전역변수와 지역변수, 배열, 리스트 전역변수, 지역변수, 배열, 리스트

([이 스프라이트에서만 사용] 메뉴로 생성됨) 변수의 유효범위 변수의 유효범위의 이해 변수의 유효범위 변수가 사용될 수 있는 범위를 의미 변수는 자신의 유효범위로 정해진 영역 내에서만 사용 가능 유효범위 밖에서는 그 변수의 값을 읽는다거나 수정하는 작업이 차단됨 기본적으로 변수의 유효범위는 변수가 생성된 장소로 한정됨 스크래치를 예로 들면, [이 스프라이트에서만 사용] 메뉴로 생성된 변수는 자신이 생성된 스프라이트로 유효범위가 한정됨  다른 스프라이트나 무대에서는 그 변수의 값을 읽거나 변경할 수 없음 고양이 스프라이트의 변수 [나이]와 [이름]은 유효범위가 고양이 스프라이트에 한정되어 다른 스프라이트나 무대가 접근하여 보거나 수정할 수 없습니다. 고양이 스프라이트의 변수 [나이], [이름] ([이 스프라이트에서만 사용] 메뉴로 생성됨)

변수의 유효범위 지역변수의 개념 지역변수 지역변수 이름 사용의 유의점 특정 장소에 유효범위가 한정되어 그 장소에서만 사용할 수 있는 변수 어느 장소의 지역변수는 타 장소에서 읽거나 수정할 수 없음 지역변수 이름 사용의 유의점 같은 유효범위를 갖는 지역변수는 서로 간 구별을 위해서 서로 다른 변수 이름 사용 유효범위가 다른 지역변수들은 사용되는 장소가 다르기 때문에 같은 이름을 가져도 구별이 가능함. 따라서 같은 이름 사용 가능

변수의 유효범위 지역변수의 개념

변수의 유효범위 전역변수의 개념 전역변수 전역변수의 생성 장소 지역변수 이름 사용의 유의점 프로그램의 모든 장소에서 사용할 수 있는 변수 전역변수는 프로그램의 모든 장소에서 읽거나 수정할 수 있음 전역변수의 생성 장소 전역변수 생성을 위한 공용 장소가 별도로 제공되는 경우가 많음 예를 들어, 스크래치의 경우는 무대가 바로 전역변수가 생성되는 공용 장소 지역변수 이름 사용의 유의점 모든 전역변수는 프로그램 전체라는 동일한 유효범위를 갖기 때문에 서로 간 이름이 달라야 함

변수의 유효범위 전역변수의 개념

변수의 유효범위 스크래치의 지역변수와 전역변수 지역변수 전역변수 [이 스프라이트에서만 사용] 메뉴로 생성된 스프라이트의 변수 유효범위는 자신이 생성된 스프라이트에 한정 다른 스프라이트나 무대에서 사용 불가 한 스프라이트의 지역변수들을 서로 다른 이름을 가져야 함 서로 다른 스프라이트는 같은 이름의 지역변수를 가질 수 있음 전역변수 [모든 스프라이트에서 사용] 메뉴로 생성된 스프라이트의 변수 무대에서 생성된 변수 유효범위는 프로그램에 존재하는 모든 스프라이트와 무대 모든 스프라이트와 무대에서 사용 가능 전역변수는 다른 전역변수와 지역변수들과 서로 다른 이름을 가져야 함

변수의 유효범위 스크래치 변수의 유효범위 실습하기 사과 스프라이트 추가 고양이 스프라이트의 지역변수 [고양이 이름] 생성 p090_지역 변수와 전역 변수 생성하기.sb2 변수의 유효범위 스크래치 변수의 유효범위 실습하기 사과 스프라이트 추가 [스프라이트 저장소]의 “Apple” 추가 고양이 스프라이트의 지역변수 [고양이 이름] 생성

변수의 유효범위 스크래치 변수의 유효범위 실습하기 - 계속 사과 스프라이트를 활용하여 전역변수 [사과 색깔] 생성 p090_지역 변수와 전역 변수 생성하기.sb2 변수의 유효범위 스크래치 변수의 유효범위 실습하기 - 계속 사과 스프라이트를 활용하여 전역변수 [사과 색깔] 생성

변수의 유효범위 스크래치 변수의 유효범위 실습하기 - 계속 변수의 유효범위 확인 [스프라이트/무대 관리 창]에서 고양이 스프라이트, 사과 스프라이트, 그리고 무대를 선택하면서 각각의 경우 [스크립트] 탭의 [데이터] 메뉴에 보이는 자료 블록 확인 [스크립트] 탭의 [데이터] 메뉴에 보이는 자료 블록들이 사용 가능한 변수 스프라이트/무대 활용가능 변수 설명 고양이의 지역 변수 [고양이 이름]과 사과의 전역 변수 [사과 색깔]이 존재함 • 사과의 전역 변수 [사과 색깔]만 존재함 • 변수 [고양이 이름]은 고양이의 지역 변수이기 때문에 사과는 접근할 수 없음 • 변수 [고양이 이름]은 고양이의 지역 변수이기 때문에 무대는 접근할 수 없음

변수의 유효범위 스크래치 변수의 유효범위 실습하기 - 계속 무대를 활용하여 전역변수 [무대 배경] 생성 고양이 스프라이트와 사과 스프라이트가 사용할 수 있는 변수 확인 스프라이트/무대 활용가능 변수 설명 고양이의 지역 변수 [고양이 이름]과 사과의 전역 변수 [사과 색깔] 그리고 무대의 전역 변수 [무대 배경]이 존재함 사과의 전역 변수 [사과 색깔]과 무대의 전역 변수 [무대 배경]이 존재함

구조적 자료형의 이해 …. 기본 자료형과 구조적 자료형의 개념 기본 자료형 기본 자료형만 사용할 때 문제점 1 1.9 ‘A’ 정수형, 실수형, 문자형, 불린 형, 문자열 형 등의 자료형들은 변수형으로 사용될 때 그 변수가 오직 하나의 값만 할당 받을 수 있음 기본 자료형: 변수형으로 사용될 때 변수가 하나의 자료만 할당 받는 자료형 기본 자료형만 사용할 때 문제점 프로그래밍 작업에 기본 자료형만 사용할 수 있다면, 한 반의 학생들의 국어점수를 관리할 때 그 반의 학생 수 만큼의 변수를 생성해야 함 기본 자료형은 하나의 자료만 할당됨 30명 학생들의 국어점수 처리를 위한 변수들 1 1.9 ‘A’ 학생1 점수 학생2 점수 학생3 점수 …. 정수형 변수 실수형 변수 문자형 변수 이걸 언제 다 만들어.. True “Scratch” 불린 형 변수 문자열 형 변수 학생28 점수 학생29 점수 학생30 점수

구조적 자료형의 이해 기본 자료형과 구조적 자료형의 개념 구조적 자료형 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반 국어점수 다양한 자료형의 자료가 할당될 수 있는 구조적 자료형 변수

구조적 자료형의 이해 배열 배열의 개념 가장 기본적인 구조적 자료형으로서 동일한 자료형의 원소들이 순서가 매겨져 나열된 집합 예) 정수형 배열은 여러 개의 정수형 자료를 순서를 매겨 할당 정수형 배열 자료형 정수형 자료가 들어갈 공간 1번째 2번째 3번째 n번째

구조적 자료형의 이해 배열 배열의 대표적 연산 배열을 변수형으로 갖는 변수에서 특정 위치의 원소를 나타내는 연산 i번째 있는 원소를 나타내는 방법은 변수 이름 뒤에 [ i ]라고 붙여서 표현

구조적 자료형의 이해 리스트 리스트의 개념 리스트의 대표적 연산 여러 개의 자료들을 어떤 순서에 따라 나열한 구조 예) 한 주의 요일 (월, 화, 수, 목, 금, 토, 일), 무지개 색깔 (빨강, 주황, 노랑, 초록, 파랑, 보라) 등 리스트의 대표적 연산 리스트 끝에 원소 추가하기 특정 위치에 원소 삽입하기 특정 위치의 원소 삭제하기 특정 위치의 원소를 다른 원소로 바꾸기 특정 위치의 원소 값 알아보기 현재 리스트가 담고 있는 원소 개수 알아보기 리스트에 어떤 원소가 포함되어 있는지 알아보기 등

… 구조적 자료형의 이해 리스트 리스트의 활용 모습 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개라고 알려줍니다.

구조적 자료형의 이해 스크래치의 리스트 리스트 자료형의 변수 생성 [스크립트] 탭의 [데이터] 메뉴의 기능을 활용하여 리스트 자료형의 변수 생성 고양이 스프라이트의 리스트 변수 [고양이 먹이들]의 생성 모습

구조적 자료형의 이해 스크래치의 리스트 리스트 변수를 생성할 때 자동 생성되는 블록들 리스트 연산 관련 블록들 설명 블록설명thing을 [고양이 먹이들] 리스트의 마지막 원소로 추가함 [고양이 먹이들] 리스트에서 원하는 위치의 원소를 삭제함 [고양이 먹이들] 리스트에서 원하는 위치에 thing을 삽입함 [고양이 먹이들] 리스트에서 원하는 위치의 원소를 thing으로 바꿈 [고양이 먹이들] 리스트에서 원하는 위치의 원소 값 [고양이 먹이들] 리스트에 포함된 원소들의 개수 [고양이 먹이들] 리스트에 thing이 있으면 참, 없으면 거짓 실행 화면에 [고양이 먹이들] 리스트를 보여줌 실행 화면에서 [고양이 먹이들] 리스트를 숨김

구조적 자료형의 이해 스크래치 리스트 실습하기 고양이 스프라이트의 리스트 변수 [고양이 먹이들] 생성 p096_리스트 생성하고 활용하기.sb2 구조적 자료형의 이해 스크래치 리스트 실습하기 고양이 스프라이트의 리스트 변수 [고양이 먹이들] 생성 [이 스프라이트에서만 사용] 메뉴를 선택하여 지역변수로 생성 아래와 같이 고양이 스프라이트의 행동 프로그래밍

구조적 자료형의 이해 스크래치 리스트 실습하기 – 계속 프로그램의 실행 고양이 스프라이트 요구에 “쥐”, “밥”, “강아지”, “생선”, “쥐” 순으로 입력 “쥐” 입력 “밥” 입력 “강아지” 입력 “생선” 입력

구조적 자료형의 이해 스크래치의 리스트 실습하기 – 계속 프로그램의 실행 다시 실행하여, 고양이 스프라이트의 요구에 “쥐”, “밥”, “강아지”, “생선”, “닭” 순으로 입력 (앞의 실행 모습에서 끝에 “쥐” 대신에 “닭”으로 변경함). “닭” 입력