1 of 28

정보사회와소프트웨어

Information Society & Software

Aaron Snowberger

전주교육대학교 • 070137 • 정보사회와소프트웨어

4주차: 자료형과 연산, 변수 익히기

Scratch!

pp. 80-107

2 of 28

4주차

자료형과 연산, 변수 익히기

04

04-01 자료형, 연산, 변수 �04-02 지역 변수와 전역 변수�04-03 구조적 자료형: 배열과 리스트

3 of 28

04-01 자료형, 연산, 변수

자료의 개념

​

자료 data 는 컴퓨터 프로그램이

  1. 읽고,
  2. 수정하고,
  3. 출력하는

모든 재료를 의미합니다.

​

컴퓨터 프로그램은 이런 다양한 자료에 대해

  1. 입력,
  2. 연산,
  3. 저장,
  4. 출력

등의 작업을 수행합니다.

​

​

​

​

4 of 28

04-01 자료형, 연산, 변수

자료형의 개념과 종류

​

자료를 종류별로 구분하기 위해 자료형 data type 이라는 개념을 사용합니다.

​

  • - 1, 0, 1, 100과 같은 정수형 integer
  • —1.5, —0.7, 0.5, 2.0과 같은 실수형 real-number
  • ‘가’, ‘A', ‘1’, ‘$'와 같은 문자형 character
  • "Apple", "banana", "stop!", “고양이’’와 같은 문자열 형 string
  • 참 또는 거짓 값을 구분하는 불린 형 boolean

​

자료형은 자료의 종류뿐 아니라 자료에 수행할 수 있는 연산operation도 포함하는 개념입니다.

​

​

​

5 of 28

04-01 자료형, 연산, 변수

스크래치의 자료형 구분하기

​

스크래치는 최대한 자료형을 신경 쓰지 않게 도와줍니다. 스크래치 블록들 중 자료 입력 창을 포함하는 것들이 있습니다. 이런 블록들의 자료 입력 창은 타원형(oval) 또는 마름 모형(rhombus)으로 구분됩니다.

​

따라서 스크래치 사용자는 특별히 자료형에 대한 고민 없이 이 규칙대로 자료를 사용하면 됩니다.

​

스크래치에서 자료 입력 창을 사용할 때 주의할 점은 숫자만 입력해야 할 창에 문자열의 자료/변수 블록을 조립할 수 있다는 것입니다.

​

​

​

​

6 of 28

04-01 자료형, 연산, 변수

연산의 종류

​

스크래치는

  • 사칙연산,
  • 관계연산,
  • 논리연산
  • 외에도

프로그래밍할 때 유용하게 사용할 수 있는 다양한 수학 연산들과 문자열 연산들을 제공합니다.

​

이와 같은 연산에 관련된 블록들은 [코드] 탭 ―[연산] 메뉴에 있습니다.

​

​

7 of 28

04-01 자료형, 연산, 변수

변수의 개념

​

변수는 자료에 의미를 부여하는 역할을 합니다.

​

프로그래밍의 대부분의 작업은 변수를 대상으로 논리적 관계를 따지거나 수학적 계산을 수행하는 것입니다. 예를 들어, "국어 점수와 수학 점수를 더하는 프로그램”을 만들 수 있습니다.

​

변수를 생성할 때는 다음 두 가지 사항에 유의합니다.

  • 자료의 의미를 잘 반영한 변수 이름 정하기
  • 변수에 할당될 자료의 자료형과 동일한 변수형 사용하기

​

​

​

8 of 28

04-01 자료형, 연산, 변수

변수의 종류

​

스크래치는 [코드] 탭의 각 메뉴에 해당 메뉴의 기능과 관련된 변수를 제공합니다.

​

​

9 of 28

04-01 자료형, 연산, 변수

변수 생성하고 활용하기

​

스크래치가 제공하는 변수 외에 프로그램에 필요한 변수들은 프로그래머가 직접 생성할 수 있습니다.

​

스크래치의 모든 변수는 스프라이트나 무대에 소속되어야 합니다. 따라서 변수를 생성할 때 스프라이트나 무대를 먼저 선택하고 그에 속하는 변수를 생성합니다.

​

​

​

10 of 28

04-01 자료형, 연산, 변수

변수 생성하고 활용하기

​

변수 생성 과정에서 이 변수를 자신이 속한 스프라이트에서만 사용할지 아니면 모든 스프라이트가 공용으로 시용할지를 결정합니다.

​

스크래치는 변수가 생성되면 그 변수를 조작할 다양한 기능의 문장 블록들도 함께 생성합니다.

​

​

11 of 28

04-01 자료형, 연산, 변수

주석의 개념

​

프로그램의 주석 comment은 프로그램을 이해하는 데 필요한 내용을 담은 메모로, 소스 프로그램 안에 들어 있습니다.

​

컴파일러나 인터프리터는 주석을 무시하기때문에 프로그램을 실행하는 데는 어떤 영향도 주지 않습니다.

​

자신이 작성한 프로그램도 오랜 시간이 지나 다시 보면 생소하게 느껴지는 경우가 많기 때문에, 주석은 다른 사람뿐 아니라 자신을 배려하는 수단이며 프로그래밍의 필수 작업으로 간주되고 있습니다.

​

​

12 of 28

04-01 자료형, 연산, 변수

주석 활용하기

​

스크래치에서는 모든 블록마다 여러 행의 주석을 달 수 있습니다. 그리고 주석을 접거나 펼칠 수 있고 삭제도 할 수 있습니다.

​

​

​

13 of 28

04-02 지역 변수와 전역 변수

지역 변수와 전역 변수의 개념

​

프로그래밍 언어는 변수의 유효 범위scope라는 개념을 사용해 변수를 사용할 수 있는 범위를 조정합니다.

​

변수는 자신의 유효 범위로 정해진 영역 내에서만 사용가능하며 유효 범위 밖에서는 해당 변수의 값을 읽는다거나 수정하는 작업이 차단됩니다.

​

변수의 유효 범위는 기본적으로 해당 변수가 생성된 장소로 한정됩니다. 이렇게 유효 범위가특정 장소로 한정된 변수를 지역 변수local variable 라고 합니다.

14 of 28

04-02 지역 변수와 전역 변수

지역 변수와 전역 변수의 개념

​

전역 변수global variable는 지역 변수와 달리 프로그램의 모든 장소에서 접근하여 그 값을 읽고 변경할 수 있습니다.

​

전역 변수가 생성될 수 있는 공용 장소를 별도로 제공하는 경우가 많은데, 스크래치의 경우 무대가 그런 공용 장소입니다.

15 of 28

04-02 지역 변수와 전역 변수

지역 변수와 전역 변수의 개념

​

스크래치에서는 스프라이트와 무대에서 변수를 생성할 수 있습니다.

​

  • 지역 변수 : 스프라이트의 지역 변수는 [이 스프라이트 에서만 사용] 메뉴로 생성합니다. ��이 지역 변수는 생성된 스프라이트 내부에서만 활용되고 다른 스프라이트와 무대에서는 활용할 수 없습니다.�
  • 전역 변수 : 스크래치에서 전역 변수를생성하는방법은두가지입니다. 하나는 스프라이트의 변수를 생성할 때 [모든 스프라이트에서 사용] 메뉴로 생성하는 방법이고, 다른 하나는 무대의 변수로 생성하는 방법입니다. ��전역 변수는 유효 범위가 프로그램 전체이기 때문에 모든 스프라이트와 무대에서 활용할 수 있습니다.

​

16 of 28

04-02 지역 변수와 전역 변수 (Do it!)

지역 변수와 전역 변수 생성하기

​

스크래치에서 지역 변수와 전역 변수를 생성해보겠습니다. 사과를 추가하고, 고양이에 속한 지역 변수 [고양이 이름]을 생성합니다. 이어서 사과로 전역 변수인 [사과 색깔]을 생성합니다.

​

​

​

​

17 of 28

04-02 지역 변수와 전역 변수 (Do it!)

지역 변수와 전역 변수 생성하기

​

앞의 작업을 완료한 후 [스프라이트/무대 관리 창]에서 고양이, 사과, 무대를 각각 선택하여 활용 가능한 변수를 살펴봅니다.

​

​

​

​

18 of 28

04-02 지역 변수와 전역 변수 (Do it!)

지역 변수와 전역 변수 생성하기

​

이제 [무대 배경]이란 이름의 무대 변수를 생성한 후, 고양이와 사과에서 활용 가능한 변수를 다시 확인합니다.

​

​

​

​

​

19 of 28

04-02 지역 변수와 전역 변수 (Do it!)

지역 변수와 전역 변수 생성하기

​

이제 [무대 배경]이란 이름의 무대 변수를 생성한 후, 고양이와 사과에서 활용 가능한 변수를 다시 확인합니다.

​

​

​

​

​

20 of 28

04-03 구조적 자료형: 배열과 리스트

구조적 자료형의 개념

​

지금까지 살펴본 자료형은 변수명으로 사용될 때 변수가 그 자료형에 속하는 하나의 값만 할당받을 수 있었습니다.

​

이렇게 변수형으로 사용될 때 변수가 하나의 자료만 할당받을 수 있는 자료형을 기본 자료형 simple data type 이라 합니다.

​

​

​

​

​

​

보통 프로그래밍 언어는 여러개의 자료를 하나의 단위로 효율적으로 처리할 수 있는 구조적 자료형 structured data type을 제공하고 있습니다. 구조적 자료형은 기본 자료형과 달리 하나의 변수에 여러 개의 자료를 할당할 수 있습니다.

21 of 28

04-03 구조적 자료형: 배열과 리스트

배열의 개념

​

배열 array은 동일한 자료형의 원소(자료)들에 순서를 매겨 나열한 집합으로 가장 기본적인 구조적 자료형입니다.

​

배열에는 원소의 위치를 구별하는 연산이 필요한데, 일반적으로 배열 변수 이름 다음에 []를 붙여 원소의 위치를 표시합니다.

​

여기서 주의할 점은, 일반적으로 배열의 위치를 0부터 세기합니다.

22 of 28

04-03 구조적 자료형: 배열과 리스트

리스트의 개념

​

리스트는 여러 개의 자료를 일정한 순서에 따라 나열한 구조입니다.

​

리스트는 배열과 마찬가지로 동일한 자료형의 자료들을 담을 수 있으며 일반적으로:

​

  • 리스트 끝에 원소 추가하기,
  • 특정 위치에 원소 삽입/삭제하기,
  • 특정 위치의 원소의 값 검색하기,
  • 리스트의 원소 개수 구하기,
  • 특정 원소가 리스트에 존재하는지 검색하기

​

둥의 연산을제공합니다.

23 of 28

04-03 구조적 자료형: 배열과 리스트

리스트 생성하고 활용하기

​

스크래치는 구조적 자료형으로 리스트를 제공하는데 앞의 소개한 연산 외에 몇 가지 유용한 연산들을 추가로 제공합니다.

24 of 28

04-03 구조적 자료형: 배열과 리스트

리스트 생성하고 활용하기

​

프로그램을 실행하면 입력한 답변에 따라 [고양이 먹이들] 리스트의 원소가 달라지는 모습을 확인할 수 있습니다.

25 of 28

04-03 구조적 자료형: 배열과 리스트

리스트 생성하고 활용하기

​

프로그램을 실행하면 입력한 답변에 따라 [고양이 먹이들] 리스트의 원소가 달라지는 모습을 확인할 수 있습니다.

26 of 28

27 of 28

28 of 28

Thanks!

Do you have any questions?

​

https://2023-aaronkr.github.io/jnue-iss

https://scratch.mit.edu/ (코딩 해보세요~~)

Please keep this slide for attribution

CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, infographics & images by Freepik