計算けいさん

メモ


四則演算しそくえんざん・べき乗じょう

メモ

  • 四則演算しそくえんざんとべき乗じょう
    • 足たし算ざん・加算かさん、結果けっかは和わ
    • 引ひき算ざん・減算げんざん、結果けっかは差さ
    • 掛かけ算ざん・乗算じょうざん、結果けっかは積せき
    • 割わり算ざん・除算じょざん、結果けっかは商しょう
    • べき乗じょう (xy:x を y 回かい 掛かけ算ざんした結果けっかの値あたい)
  • 参照さんしょう

構文こうぶん

ブロック
math-add.png
math-sub.png
math-mul.png
math-div.png
math-power.png
JavaScript
x+y

 (number)xとyを足たし算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
x-y

 (number)xからyを引ひき算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
x*y

 (number)xからyを掛かけ算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
x/y

 (number)xをyで割わり算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
x**y

 (number)xをy回かい 掛かけ算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
MakeCode Python
x+y

 (number)xとyを足たし算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
x-y

 (number)xからyを引ひき算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
x*y

 (number)xからyを掛かけ算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
x/y

 (number)xをyで割わり算ざんした結果けっかの値あたい
x (number)数値すうち
y (number)数値すうち
x**y

 (number)xのy乗じょうの値あたい
x (number)数値すうち
y (number)数値すうち

例れい

ブロック
math-arithmetic-ex.png
JavaScript
input.onButtonPressed(Button.B, function () {
    basic.showNumber(1 + 2)
    basic.showNumber(5 - 3)
    basic.showNumber(2 * 4)
    basic.showNumber(9 / 3)
    basic.showNumber(2 ** 3)
})
MakeCode Python
def on_button_pressed_b():
    basic.show_number(1 + 2)
    basic.show_number(5 - 3)
    basic.show_number(2 * 4)
    basic.show_number(9 / 3)
    basic.show_number(2 ** 3)
input.on_button_pressed(Button.B, on_button_pressed_b)
実行結果じっこうけっか
ボタンBを押おすと、
(1 + 2)
num-3.png
(5 - 3)
num-2.png
(2 * 4)
num-8.png
(9 / 3)
num-3.png
(23)
num-8.png

10進数しんすう

メモ

  • 通常つうじょう、数値すうちは10進数しんすうで記述きじゅつ
  • 数値すうちは各種かくしゅ進数しんすうで記述きじゅつ可能かのう (ブロックでは10進数しんすうに自動じどう変換へんかん)
    • 10進数しんすう:(例れい) 10 / 12.34
    • 2進数しんすう:(例れい) 0b10 / 0B10 ⇒ 2
    • 8進数しんすう:(例れい) 0o10 / 0O10 ⇒ 8
    • 16進数しんすう:(例れい) 0x10 / 0X10 ⇒ 16
  • 数値すうちは指数しすうで記述きじゅつ可能かのう (ブロックでは10進数しんすうに自動じどう変換へんかん)
    • 指数しすう:(例れい) 1e2 / 1E2 ⇒ 100 (102)

構文こうぶん

ブロック
math-123.png
JavaScript
123
MakeCode Python
123

例れい

ブロック
math-10-ex.png
JavaScript
let x = 0
input.onButtonPressed(Button.B, function () {
    // 10進数:x = 10
    x = 10
    basic.showNumber(x)
    // 10進数:x = 12.34
    x = 12.34
    basic.showNumber(x)
    // 2進数:x = 0b10 / x = 0B10
    x = 2
    basic.showNumber(x)
    // 8進数:x = 0o10 / x = 0O10
    x = 8
    basic.showNumber(x)
    // 16進数:x = 0x10 / x = 0X10
    x = 16
    basic.showNumber(x)
    // 指数:x = 1e2 / x = 1E2
    x = 100
    basic.showNumber(x)
})
MakeCode Python
x = 0

def on_button_pressed_b():
    global x
    # 10進数:x = 10
    x = 10
    basic.show_number(x)
    # 10進数:x = 12.34
    x = 12.34
    basic.show_number(x)
    # 2進数:x = 0b10 / x = 0B10
    x = 2
    basic.show_number(x)
    # 8進数:x = 0o10 / x = 0O10
    x = 8
    basic.show_number(x)
    # 16進数:x = 0x10 / x = 0X10
    x = 16
    basic.show_number(x)
    # 指数:x = 1e2 / x = 1E2
    x = 100
    basic.show_number(x)
input.on_button_pressed(Button.B, on_button_pressed_b)
実行結果じっこうけっか
ボタンBを押おすと、
(10)
num-1.png
num-0.png

(12.34)
num-1.png
num-2.png
num-point.png
num-3.png
num-4.png

(2 / 0b10 / 0B10)
num-2.png

(8 / 0o10 / 0O10)
num-8.png

(16 / 0x10 / 0X10)
num-1.png
num-6.png

(100 / 1e2 / 1E2)
num-1.png
num-0.png
num-0.png

余あまり

メモ

  • 余あまり
    • 2で割わると奇数きすうと偶数ぐうすうの区別くべつが可能かのう
    • グループ分わけが可能かのう
  • 参照さんしょう

構文こうぶん

ブロック
math-remainder.png
JavaScript
x % y

xをyで割わったときの余あまり
x数値すうち
y数値すうち
MakeCode Python
x % y

xをyで割わったときの余あまり
x数値すうち
y数値すうち

例れい

ブロック
math-remainder-init-ex.png

math-remainder-a-ex.png

math-remainder-b-ex.png
JavaScript
let list_num: number[] = []
list_num = [
6,
4,
3,
2,
9,
8
]
input.onButtonPressed(Button.A, function () {
    for (let a = 0; a <= 9; a++) {
        if (a % 2 == 1) {
            basic.showNumber(a)
        }
    }
})
input.onButtonPressed(Button.B, function () {
    for (let b of list_num) {
        if (b % 3 == 0) {
            basic.showNumber(b)
        }
    }
})
MakeCode Python
list_num: List[number] = []
list_num = [6, 4, 3, 2, 9, 8]
def on_button_pressed_a():
    for a in range(10):
        if a % 2 == 1:
            basic.show_number(a)
input.on_button_pressed(Button.A, on_button_pressed_a)
def on_button_pressed_b():
    for b in list_num:
        if b % 3 == 0:
            basic.show_number(b)
input.on_button_pressed(Button.B, on_button_pressed_b)
実行結果じっこうけっか
ボタンAを押おすと、0 ~ 9 のうちの奇数きすうを表示ひょうじ

num-1.png
num-3.png
num-5.png
num-7.png
num-9.png
ボタンBを押おすと、配列内はいれつないの3の倍数ばいすうを表示ひょうじ

num-6.png
num-3.png
num-9.png

小ちいさい方ほう・大おおきい方ほう

メモ

構文こうぶん

ブロック
math-minimum.png
math-maximum.png
JavaScript
Math.min(a, b)

 (number)aとbのうちの小ちいさい方ほう
a (number)数値すうちA
b (number)数値すうちB
Math.max(a, b)

 (number)aとbのうちの大おおきい方ほう
a (number)数値すうちA
b (number)数値すうちB
MakeCode Python
min(a, b)

aとbのうちの小ちいさい方ほう
a (number)数値すうちA
b (number)数値すうちB
max(a, b)

 (number)aとbのうちの大おおきい方ほう
a (number)数値すうちA
b (number)数値すうちB

例れい

ブロック
math-min-max-ex.png
JavaScript
let x = 0
let y = 0
input.onButtonPressed(Button.A, function () {
    basic.showIcon(IconNames.Yes)
})
input.onButtonPressed(Button.B, function () {
    x = randint(0, 9)
    basic.showNumber(x)
    y = randint(0, 9)
    basic.showNumber(y)
    basic.showIcon(IconNames.Yes)
    basic.showNumber(Math.min(x, y))
    basic.showNumber(Math.max(x, y))
})
MakeCode Python
x = 0
y = 0

def on_button_pressed_b():
    global x, y
    x = randint(0, 9)
    basic.show_number(x)
    y = randint(0, 9)
    basic.show_number(y)
    basic.show_icon(IconNames.YES)
    basic.show_number(min(x, y))
    basic.show_number(max(x, y))
input.on_button_pressed(Button.B, on_button_pressed_b)
実行結果じっこうけっか
ボタンBを押おすと、2つの乱数らんすうを表示ひょうじ
(例れい) 乱数らんすうx 表示ひょうじ
num-6.png
(例れい) 乱数らんすうy 表示ひょうじ
num-3.png
区切くぎりのアイコン表示ひょうじ
icon-yes.png
(例れい) 2つの乱数らんすうのうち小ちいさい方ほうを表示ひょうじ
num-3.png
(例れい) 2つの乱数らんすうのうち大おおきい方ほうを表示ひょうじ
num-6.png

絶対値ぜったいち

メモ

構文こうぶん

ブロック
math-abs.png
JavaScript
Math.abs(x)

 (number)絶対値ぜったいち
x (number)数値すうち
MakeCode Python
abs(x)

 (number)絶対値ぜったいち
x (number)数値すうち

例れい

ブロック
math-abs-init-ex.png

math-abs-ex.png
JavaScript
input.onButtonPressed(Button.B, function () {
    for (let x of list_num) {
        basic.showNumber(Math.abs(x))
    }
})
let list_num: number[] = []
list_num = [
-5,
1,
-4,
2,
-3
]
MakeCode Python
def on_button_pressed_b():
    for x in list_num:
        basic.show_number(abs(x))
input.on_button_pressed(Button.B, on_button_pressed_b)

list_num: List[number] = []
list_num = [-5, 1, -4, 2, -3]
実行結果じっこうけっか
ボタンBを押おすと、配列内はいれつないの数値すうちの絶対値ぜったいちを表示ひょうじ
num-5.png
num-1.png
num-4.png
num-2.png
num-3.png

平方根へいほうこん・三角関数さんかくかんすう・逆ぎゃく三角関数さんかくかんすう・32ビット整数せいすう演算えんざん

メモ

  • 平方根へいほうこん (√・ルート)
  • 三角関数さんかくかんすう・逆ぎゃく三角関数さんかくかんすう
    • 三角関数さんかくかんすう (sin・cos・tan)
    • 逆ぎゃく三角関数さんかくかんすう (asin・acos・atan2)
    • 角度かくどはラジアン単位たんい
      • 0 ~ π ~ 2π (0° ~ 180°~ 360° に対応たいおう):π (パイ:円周率えんしゅうりつ) は JavaScript・Python の Math.PI 定数ていすう (3.14...) を使用しよう可能かのう
  • 32ビット整数せいすう演算えんざん (割わり算ざん・掛かけ算ざん)
    • 32ビット (0x80000000 ~ 0xFFFFFFFF ~ 0x00 ~ 0x7FFFFFFF:-2,147,483,648 ~ -1 ~ 0 ~ 2,147,483,647)
    • 整数せいすうどうしの計算けいさんは高速こうそく
    • 整数せいすう以外いがいは整数せいすうに変換へんかんしてから演算えんざん
  • 参照さんしょう

構文こうぶん

ブロック
math-root.png
math-sin.png
math-cos.png
math-tan.png
math-asin.png
math-acos.png
math-atan2.png
math-idiv.png
math-imul.png
JavaScript
Math.sqrt(x)

xの平方根へいほうこん
x数値すうち
Math.sin(x)

正弦せいげん【サイン】
x角度かくど (ラジアン単位たんい)
Math.cos(x)

余弦よげん【コサイン】
x角度かくど (ラジアン単位たんい)
Math.tan(x)

正接せいせつ【タンジェント】
x角度かくど (ラジアン単位たんい)
Math.asin(x)

逆正弦ぎゃくせいげん【アークサイン】(ラジアン単位たんい)
x数値すうち (-1 ~ 1)
Math.acos(x)

逆余弦ぎゃくよげん【アークコサイン】(ラジアン単位たんい)
x数値すうち (-1 ~ 1)
Math.atan2(y, x)

逆正接ぎゃくせいせつ【アークタンジェント】(ラジアン単位たんい)
yy座標ざひょう
xx座標ざひょう
Math.idiv(x, y)

xとyの整数せいすう割わり算ざん
          (xとyは整数せいすうに変換後へんかんごに演算えんざん)
x数値すうち
y数値すうち
Math.imul(x, y)

xとyの整数せいすう掛かけ算ざん 
          (xとyは整数せいすうに変換後へんかんごに演算えんざん)
x数値すうち
y数値すうち
MakeCode Python
Math.sqrt(x)

xの平方根へいほうこん
x数値すうち
Math.sin(x)

正弦せいげん【サイン】
x角度かくど (ラジアン単位たんい)
Math.cos(x)

余弦よげん【コサイン】
x角度かくど (ラジアン単位たんい)
Math.tan(x)

正接せいせつ【タンジェント】
x角度かくど (ラジアン単位たんい)
Math.asin(x)

逆正弦ぎゃくせいげん【アークサイン】(ラジアン単位たんい)
x数値すうち (-1 ~ 1)
Math.acos(x)

逆余弦ぎゃくよげん【アークコサイン】(ラジアン単位たんい)
x数値すうち (-1 ~ 1)
Math.atan2(y, x)

逆正接ぎゃくせいせつ【アークタンジェント】(ラジアン単位たんい)
yy座標ざひょう
xx座標ざひょう
Math.idiv(x, y)

xとyの整数せいすう割わり算ざん
          (xとyは整数せいすうに変換後へんかんごに演算えんざん)
x数値すうち
y数値すうち
Math.imul(x, y)

xとyの整数せいすう掛かけ算ざん
          (xとyは整数せいすうに変換後へんかんごに演算えんざん)
x数値すうち
y数値すうち

例れい

ブロック
math-root-a-ex.png

math-root-b-ex.png

math-root-ab-ex.png
JavaScript
input.onButtonPressed(Button.A, function () {
    basic.showNumber(Math.sqrt(9))
    basic.showNumber(10 / 2.5)
    basic.showNumber(Math.idiv(10, 2.5))
    basic.showNumber(2 * 3.5)
    basic.showNumber(Math.imul(2, 3.5))
    // Math.imul(0xFFFFFFFF, 1) → Math.imul(-1, 1) → (-1)
    basic.showNumber(Math.imul(4294967295, 1))
})
input.onButtonPressed(Button.B, function () {
    basic.showNumber(Math.PI)
    basic.showString("S")
    basic.showNumber(Math.sin(0))
    basic.showNumber(Math.sin(Math.PI / 2))
    basic.showString("C")
    basic.showNumber(Math.cos(0))
    basic.showNumber(Math.cos(Math.PI))
    basic.showString("T")
    basic.showNumber(Math.tan(0))
})
input.onButtonPressed(Button.AB, function () {
    basic.showString("S")
    basic.showNumber(Math.asin(-1))
    basic.showNumber(Math.asin(0))
    basic.showNumber(Math.asin(1))
    basic.showString("C")
    basic.showNumber(Math.acos(-1))
    basic.showNumber(Math.acos(0))
    basic.showNumber(Math.acos(1))
    basic.showString("T")
    basic.showNumber(Math.atan2(0, 1))
    basic.showNumber(Math.atan2(1, 0))
})
MakeCode Python
def on_button_pressed_a():
    basic.show_number(Math.sqrt(9))
    basic.show_number(10 / 2.5)
    basic.show_number(Math.idiv(10, 2.5))
    basic.show_number(2 * 3.5)
    basic.show_number(Math.imul(2, 3.5))
    # Math.imul(0xFFFFFFFF, 1) → Math.imul(-1, 1) → (-1)
    basic.show_number(Math.imul(4294967295, 1))
input.on_button_pressed(Button.A, on_button_pressed_a)
def on_button_pressed_b():
    basic.show_number(Math.PI)
    basic.show_string("S")
    basic.show_number(Math.sin(0))
    basic.show_number(Math.sin(Math.PI / 2))
    basic.show_string("C")
    basic.show_number(Math.cos(0))
    basic.show_number(Math.cos(Math.PI))
    basic.show_string("T")
    basic.show_number(Math.tan(0))
input.on_button_pressed(Button.B, on_button_pressed_b)
def on_button_pressed_ab():
    basic.show_string("S")
    basic.show_number(Math.asin(-1))
    basic.show_number(Math.asin(0))
    basic.show_number(Math.asin(1))
    basic.show_string("C")
    basic.show_number(Math.acos(-1))
    basic.show_number(Math.acos(0))
    basic.show_number(Math.acos(1))
    basic.show_string("T")
    basic.show_number(Math.atan2(0, 1))
    basic.show_number(Math.atan2(1, 0))
input.on_button_pressed(Button.AB, on_button_pressed_ab)
実行結果じっこうけっか
ボタンAを押おすと、
平方根へいほうこん 9 = 3
num-3.png

10 / 2.5 = 4
num-4.png

10 integer / 2.5 = 10 / 2 = 5
num-5.png

2 X 3.5 = 7
num-7.png

2 整数せいすうのX 3.5 = 2 X 3 = 6
num-6.png

4294967295 (0xFFFFFFFF) 整数せいすうのX 1 = (-1) X 1 = -1
num-minus.png
num-1.png
ボタンBを押おすと、

Math.PI = 3.14
num-3.png
num-point.png
num-1.png
num-4.png


upper-s.png
sin(0) = 0
num-0.png

sin(Math.PI / 2) = 1
num-1.png


upper-c.png
cos(0) = 1
num-1.png

cos(Math.PI) = -1
num-minus.png
num-1.png

upper-t.png
tan(0) = 0
num-0.png
ボタンA+Bを押おすと、

upper-s.png
asin(-1) = -1.57 (-3.14 / 2)
num-minus.png
num-1.png
num-point.png
num-5.png
num-7.png

asin(0) = 0
num-0.png

asin(1) = 1.57 (3.14 / 2)
num-1.png
num-point.png
num-5.png
num-7.png

upper-c.png
acos(-1) = 3.14
num-3.png
num-point.png
num-1.png
num-4.png

acos(0) = 1.57 (3.14 / 2)
num-1.png
num-point.png
num-5.png
num-7.png

acos(1) = 0
num-0.png


upper-t.png
atan2(0, 1) = 0
num-0.png

atan2(1, 0) = 1.57 (3.14 / 2)
num-1.png
num-point.png
num-5.png
num-7.png

小数点しょうすうてん以下いかの処理しょり

メモ

  • 小数点しょうすうてん以下いかの処理しょり
    • 四捨五入ししゃごにゅう (負数ふすう:0.5を足たして、負ふの無限大むげんだいに丸まるめ)
    • 切きり上あげ (ceiling:シーリング・天井てんじょう)
    • 切きり下さげ (floor:フロア・床ゆか)
    • 切きり捨すて (truncate:トランケート・切きり詰つめる)
  • 参照さんしょう

構文こうぶん

ブロック
math-round.png
math-ceiling.png
math-floor.png
math-truncate.png
JavaScript
Math.round(x)

 (number)小数点以下しょうすうてんいかを四捨五入ししゃごにゅうした整数値せいすうち
x (number)数値すうち
Math.ceil(x)

 (number)小数点以下しょうすうてんいかを切きり上あげた整数値せいすうち
x (number)数値すうち
Math.floor(x)

 (number)小数点以下しょうすうてんいかを切きり下さげた整数値せいすうち
x (number)数値すうち
Math.trunc(x)

 (number)小数点以下しょうすうてんいかを切きり捨すてた整数値せいすうち
x (number)数値すうち
MakeCode Python
Math.round(x)

 (number)小数点以下しょうすうてんいかを四捨五入ししゃごにゅうした整数値せいすうち
x (number)数値すうち
Math.ceil(x)

 (number)小数点以下しょうすうてんいかを切きり上あげた整数値せいすうち
x (number)数値すうち
Math.floor(x)

 (number)小数点以下しょうすうてんいかを切きり下さげた整数値せいすうち
x (number)数値すうち
int(x)

 (number)小数点以下しょうすうてんいかを切きり捨すてた整数値せいすうち
x (number)数値すうち

例れい

ブロック
math-round-init-ex.png

math-round-b-ex.png
JavaScript
input.onButtonPressed(Button.B, function () {
    for (let x of list_num) {
        basic.showNumber(x)
        basic.showString("R")
        basic.showNumber(Math.round(x))
        basic.showString("C")
        basic.showNumber(Math.ceil(x))
        basic.showString("F")
        basic.showNumber(Math.floor(x))
        basic.showString("T")
        basic.showNumber(Math.trunc(x))
    }
})
let list_num: number[] = []
list_num = [
0.4,
0.5,
-0.5,
-0.6
]
MakeCode Python
def on_button_pressed_b():
    for x in list_num:
        basic.show_number(x)
        basic.show_string("R")
        basic.show_number(Math.round(x))
        basic.show_string("C")
        basic.show_number(Math.ceil(x))
        basic.show_string("F")
        basic.show_number(Math.floor(x))
        basic.show_string("T")
        basic.show_number(int(x))
input.on_button_pressed(Button.B, on_button_pressed_b)

list_num: List[number] = []
list_num = [0.4, 0.5, -0.5, -0.6]
実行結果じっこうけっか
ボタンBを押おすと、配列内の数値すうちに対して以下の表示ひょうじ
数値すうち表示ひょうじ
upper-r.png
四捨五入ししゃごにゅうした数値すうち表示ひょうじ
upper-c.png
切きり上あげた数値すうち表示ひょうじ
upper-f.png
切きり下さげた数値すうち表示ひょうじ
upper-t.png
切きり捨すてた数値すうち表示ひょうじ

結果けっか一覧いちらん
x 0.4 0.5-0.5-0.6
小数点以下しょうすうてんいか四捨五入ししゃごにゅう 010-1
小数点以下しょうすうてんいか切きり上あげ 1100
小数点以下しょうすうてんいか切きり下さげ 00-1-1
小数点以下しょうすうてんいか切きり捨すて 0000

乱数らんすう

メモ

  • 指定してい範囲はんいの乱数らんすう
    • 最小値さいしょうちと最大値さいだいちを指定してい
  • 参照さんしょう

構文こうぶん

ブロック
math-randint.png
JavaScript
randint(min, max)

乱数らんすう
min (number)乱数らんすうの最小値さいしょうち
max (number)乱数らんすうの最大値さいだいち

Math.randomRange(min, max)旧
MakeCode Python
randint(min, max)

乱数らんすう
min (number)乱数らんすうの最小値さいしょうち
max (number)乱数らんすうの最大値さいだいち

Math.random_range(min, max)旧

例れい

ブロック
math-randint-ex.png
JavaScript
input.onButtonPressed(Button.B, function () {
    basic.showNumber(randint(1, 6))
})
MakeCode Python
def on_button_pressed_b():
    basic.show_number(randint(1, 6))
input.on_button_pressed(Button.B, on_button_pressed_b)
実行結果じっこうけっか
Bボタンを押おすと、サイコロのように1~6のどれかを表示ひょうじする

num-1.png
    ~
num-6.png

範囲はんい制限せいげん

メモ

構文こうぶん

ブロック
math-constrain.png
JavaScript
Math.constrain(value, low, high)

 (number)指定していされた範囲はんいに制限せいげんされた数値すうち
value (number)数値すうち
low (number)範囲はんいの下限値かげんち
high (number)範囲はんいの上限値じょうげんち
MakeCode Python
Math.constrain(value, low, high)

 (number)指定していされた範囲はんいに制限せいげんされた数値すうち
value (number)数値すうち
low (number)範囲はんいの下限値かげんち
high (number)範囲はんいの上限値じょうげんち

例れい

ブロック
math-constrain-ex.png
JavaScript
let x = 0
basic.forever(function () {
    x = randint(0, 9)
    x = Math.constrain(x, 0, 4)
    led.toggle(x, x)
    basic.pause(1000)
})
MakeCode Python
x = 0

def on_forever():
    global x
    x = randint(0, 9)
    x = Math.constrain(x, 0, 4)
    led.toggle(x, x)
    basic.pause(1000)
basic.forever(on_forever)
実行結果じっこうけっか
半分はんぶんの確率かくりつでLEDの右下みぎしたが反転はんてんし、 半分はんぶんの確率かくりつで右下みぎした以外いがいの対角線たいかくせん上じょうのLEDが反転はんてん
表示ひょうじ例れい
math-constrain-run.png

数値すうちマップ

メモ

  • 数値すうちをマップする
    • ある数値すうち範囲はんいの値あたいを、別べつの数値すうち範囲はんいの値あたいに変換へんかん
  • 例れい
    • 点数てんすう(0 ~ 100)をLED座標ざひょう(0 ~ 4)に変換へんかん
  • 参照さんしょう

構文こうぶん

ブロック
math-map.png
JavaScript
Math.map(value, fromLow, fromHigh, toLow, toHigh)

 (number)結果けっかの数値すうち
value (number)元もとの数値すうち
fromLow (number)元もとの下限かげん
fromHigh (number)元もとの上限じょうげん
toLow (number)結果けっかの下限かげん
toHigh (number)結果けっかの上限じょうげん
MakeCode Python
Math.map(value, fromLow, fromHigh, toLow, toHigh): 

 (number)結果けっかの数値すうち
value (number)元もとの数値すうち
fromLow (number)元もとの下限かげん
fromHigh (number)元もとの上限じょうげん
toLow (number)結果けっかの下限かげん
toHigh (number)結果けっかの上限じょうげん

例れい

ブロック
math-map-ex.png
JavaScript
let point = 0
input.onButtonPressed(Button.B, function () {
    for (let x = 0; x <= 4; x++) {
        point = randint(0, 100)
        point = Math.map(point, 0, 100, 0, 4)
        for (let y = 0; y <= 4; y++) {
            if (y < point) {
                led.plot(x, 4 - y)
            } else {
                led.unplot(x, 4 - y)
            }
        }
    }
})
MakeCode Python
point = 0

def on_button_pressed_b():
    global point
    for x in range(5):
        point = randint(0, 100)
        point = Math.map(point, 0, 100, 0, 4)
        for y in range(5):
            if y < point:
                led.plot(x, 4 - y)
            else:
                led.unplot(x, 4 - y)
input.on_button_pressed(Button.B, on_button_pressed_b)
実行結果じっこうけっか
Bボタンを押おすと、 0 ~ 100 の乱数らんすうを LED 座標ざひょうの 0 ~ 4 に変換へんかんしグラフ表示ひょうじ
例れい1
math-map-1-run.png
例れい2
math-map-2-run.png
例れい3
math-map-3-run.png

真偽しんぎランダム生成せいせい

メモ

  • ランダムに真しんか偽ぎに決きめる
    • 二者択一にしゃたくいつで使用しよう (オン・オフなど)
  • 参照さんしょう

構文こうぶん

ブロック
math-rand-bool.png
JavaScript
Math.randomBoolean()

 (boolean)true / false
MakeCode Python
Math.random_boolean()

 (bool)True / False

例れい

ブロック
math-random-boolean-ex.png
JavaScript
input.onButtonPressed(Button.B, function () {
    if (Math.randomBoolean()) {
        basic.showIcon(IconNames.Happy)
    } else {
        basic.showIcon(IconNames.Sad)
    }
    basic.clearScreen()
})
MakeCode Python
def on_button_pressed_b():
    if Math.random_boolean():
        basic.show_icon(IconNames.HAPPY)
    else:
        basic.show_icon(IconNames.SAD)
    basic.clear_screen()
input.on_button_pressed(Button.B, on_button_pressed_b)
実行結果じっこうけっか
タンBを押おすと、以下いかのどちらかを表示ひょうじ

icon-happy.png
icon-sad.png