Skip to content

アクティビティ

奇数と偶数

中級 | MakeCode, Python | LED表示, ボタン | アルゴリズム, 割り算, 抽出, 数値を入力

ステップ1: 作る

説明

BBC micro:bitで数学ゲームをプレイしよう! 1 から 100 までのランダムな数字を選択するようにプログラムします。 数字が奇数か偶数かを決めて、micro:bitを使って正しいかどうかをテストできます。

以下の2つのビデオで、何を作り、どのようにプログラミングするかご案内します。

学ぶこと

簡単な数学アルゴリズムをコードに変換する方法、コンピュータ プログラムで選択を使用する方法、数値を割ってその余りを使用する方法を学びます。

コーディングではなく数学のスキルに重点を置いた学習をしたい場合は、すぐにダウンロードできる既製のコードをご利用いただけます。 「MakeCodeで開く」をクリックするか、下のhexファイルをダウンロードしてください。

動作の仕組み

  • このプログラムは、数が奇数か偶数かを判断するアルゴリズムに基づいています。 アルゴリズムは、数を 2 で割って余りが 0 であれば、その数は偶数です。 それ以外の場合は、その数は奇数です。
  • Aボタンを押すと、プログラムは1から100の間のランダムな数字を選び、micro:bitのLEDディスプレイに表示します。 (プログラムは毎回同じ番号ではなくランダムな番号を選び、ゲームを複数回プレイするのを楽しくします。
  • ボタンBを押すと、プログラムは数字を2で割り、その余りを計算します。 
  • プログラムは ‘if… else’ 文を使用します。 残りが0の場合、micro:bitのLEDディスプレイに「even」という単語が表示されます。 それ以外の場合は、「odd」という単語を表示します。
  • このようなコンピュータプログラムでは、さまざまな条件に基づいてさまざまなことが起こる場合、それは選択と呼ばれます。 選択などの重要な用語は、語彙ポスター用語集で説明されています。

必要なもの

  • micro:bit(またはMakeCodeシミュレーター)
  • MakeCodeまたはPythonエディター
  • バッテリーパック(オプション)

ステップ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 の因数であるかどうかなど、数値の他の要素を調べます。