Skip to content

활동

홀수와 짝수

중급 | MakeCode, Python | LED, 버튼 | 나눗셈, 선택 실행, 수 & 위치 값, 알고리즘

1단계: 만들어 보세요.

프로젝트 소개

BBC micro:bit 로 수학 게임을 즐겨보세요! 1 에서 100 까지의 무작위 숫자를 선택하도록 프로그래밍하세요. 숫자가 홀수인지 짝수인지 판단한 다음, micro:bit 를 사용하여 맞는지 테스트해 보세요.

다음 동영상을 통해 만들고 프로그래밍하는 방법을 살펴보세요.:

학습 내용

간단한 수학 알고리즘을 코드로 변환하는 방법, 컴퓨터 프로그램에서 선택을 사용하는 방법, 숫자를 나누고 나머지를 사용하는 방법을 배웁니다.

코딩보다는 수학적 기술에 집중하여 학습하고 싶다면, 바로 사용할 수 있는 코드를 다운로드할 수 있습니다. 'MakeCode 에서 열기'를 클릭하거나 아래의 hex 파일을 다운로드하세요.

설명

  • 이 프로그램은 숫자가 홀수인지 짝수인지를 알아내는 알고리즘을 기반으로 합니다. 알고리즘은 다음과 같습니다. 숫자를 2로 나누고 나머지가 0 이면 그 숫자는 짝수입니다. 그렇지 않으면 숫자는 홀수입니다.
  • 버튼 A를 누르면 프로그램은 1 과 100 사이의 무작위 숫자를 골라 micro:bit's LED 디스플레이에 표시합니다. (이 프로그램은 매번 같은 숫자를 선택하는 것이 아니라 무작위로 숫자를 선택하여 게임을 여러 번 해도 재밌게 만듭니다.)
  • 버튼 B를 누르면 프로그램은 숫자를 2 로 나누고 나머지를 계산합니다. 
  • 그런 다음 프로그램은 'if… else' 문을 사용합니다. 나머지가 0 이면 micro:bit's LED 디스플레이에 '짝수'라는 단어가 나타납니다. 그렇지 않으면 'odd'라는 단어가 표시됩니다.
  • 이와 같이 컴퓨터 프로그램에서 서로 다른 조건에 따라 서로 다른 일이 발생할 수 있는 경우를 선택이라고 합니다. 선택과 같은 핵심 용어는 어휘 포스터용어집에서 설명되어 있습니다.

준비물

  • micro:bit (또는 MakeCode 시뮬레이터)
  • MakeCode 또는 Python 편집기
  • AAA 배터리 팩 (옵션)

2단계: 프로그래밍 해보세요.

1from microbit import *
2import random
3
4# An error could appear if you press button B without pressing button A first.
5# If the variable ‘number’ has not been assigned.
6# To work around this, the value of 101 is assigned to the variable 'number' 
7# at the start of the program. When you press button B the program tests 
8# first to see if the value of ‘number’ is 101 - if it is, it shows a helpful message.
9
10number = 101
11
12while True:
13    if button_a.was_pressed():
14        number = random.randint(1, 100)
15        display.scroll(number)   
16    if button_b.was_pressed():
17        if number == 101:
18            display.scroll('no number chosen yet') 
19        elif number%2 == 0:
20            display.scroll('even')   
21        else:
22            display.scroll('odd') 

3단계: 더 좋게 만들어 보세요.

  • 두 번 이상 선택된 난수를 표시하는 방법을 찾아보세요.
  • 버튼 A를 누르기 전에 버튼 B를 누르면 무작위 숫자가 선택되지 않고 LED 디스플레이에 '짝수'라는 단어가 표시됩니다. 이런 일이 일어나지 않도록 코드를 조정할 수 있나요? 해당 프로그램의 Python 버전을 살펴보면 어떤 원리인지 알 수 있습니다.
  • 예를 들어 3 이 100 의 인수인 경우와 같이 다른 숫자의 인수를 탐색하도록 프로그램을 조정합니다.