水素イオン指数pH (4回目 シュウ酸の滴定曲線)
2価の弱酸と1価の強塩基の滴定曲線
この記事はリニューアルしました
https://ulprojectmail.blogspot.com/2021/11/n88-basic-2.html
N88-BASICで滴定曲線 (2回目)
水素イオン指数pH (4回目 シュウ酸の滴定曲線)
2価の弱酸と1価の強塩基の滴定曲線
この記事はリニューアルしました
https://ulprojectmail.blogspot.com/2021/11/n88-basic-2.html
N88-BASICで滴定曲線 (2回目)
眠り姫問題 (パラドックス)
Sleeping Beauty problem
主人公は眠り姫
質問は、コインが表の確率
考えれば考えるほど確率が分からなくなる
パラドックス
この記事はリニューアルしました
https://ulprojectmail.blogspot.com/2021/12/n88-basicsleep.html
N88-BASICで眠り姫問題
掛け算と足し算の順序
掛け算の順序
a × 2は
aが2個という意味で
2 × aは
2がa個という意味と思いがちですが
2 × aは
aが2個と考えても構いませんので
a × 2個と2個 × aは同じです
3×2 = 3+3 = 2+2+2
2×3 = 3+3 = 2+2+2です
2xは
x + xの事だと思い浮かべます
x・2も
x + xの事だと思い浮かべます
つまり2・x = x・2です
(2xなど、数字・文字の時は・を省略
しても良いことになっています
x2はx2と間違えるので使いません)
結論
3×2個=2個×3
a×2個=2個×a (=2a)なので
3が2個を
3×2と書こうが2×3と書こうが自由です
足し算の順序
リンゴ3個とミカン2個合わせて何個?
3+2 = 5
2+3 = 5
どちらも正解です
リンゴ3個 + ミカン2個は正解だが
ミカン2個 + リンゴ3個は間違い
なんて事はありません
どちらを先に書こうが自由です
余談
1あたり × いくつ分 = 全体
いくつ分 × 1あたり = 全体
どちらか一方で練習するのは自由ですが
どちらで書いても正しいです
後者を×にする事は
2a を 2個分 × a (= a + a)と
考えてはいけない事になります
2a は 2がa個分(= 2 + 2 + ...)としか
考えてはいけませんという事になります
そんなことはありません
2a = a + aと考えても問題ありません
2人の会話
A「2χ+3χはなぜ5χ?」
B「χが2個とχが3個合わせてχが5個」
A「2χは2がχ個じゃないの?」
B「2χはχが2個と考えても良い」
A「2χは2がχ個と考えないとダメと思い込んでた」
B「思い込まなくて良いよ」
掛け算と割り算の順序
単位を書けば分かり易くなる
と思いますので、例を示します
単位の括弧は見やすいと思ったので
付けました
問題1
1箱にアメ玉が8個入っている。
この箱が2箱あればアメ玉は
全部で何個か
8(個/箱) × 2(箱) = 16(個) 〇
または
2(箱) × 8(個/箱) = 16(個) 〇
どちらも正解です
どちらも間違ってはいません
問題2
16個のアメ玉を2箱に同じ数
ずつ分けると1箱当たり何個か
16(個) ÷ 2(箱) = 8(個/箱) 〇
または
2(箱) ÷ 16(個) = 1/8(箱/個) ×
(1/8は8分の1と思ってください)
どちらも1箱 : 8個という
同じ比を表している(互いに逆数の関係)
が、この問いは(個/箱)を答えよと
言っているので
後者は間違いとして良いと思います
8(個/箱)はこの場合8個と答えても良いと
思います
問題3
4(km/h)の速さで3時間歩くと
歩いた距離は何kmか
(時間はhourのhと書くとします)
4(km/h) × 3(h) = 12(km)
または
3(h) × 4(km/h) = 12(km)
どちらも正解です
問題4
12kmの道のりを3時間で歩くと
速さは何km/hか
12(km) ÷ 3(h) = 4(km/h)
問題5
12kmの道のりを3時間で歩くと
1km当たり何時間かかったか
3(h) ÷ 12(km) = 1/4(h/km)
この場合、1/4時間
と答えても良いと思います
問題6
塩化ナトリウム0.010molに水を加え
100mLにした水溶液のモル濃度(mol/L)を
答えよ
(1000mL/Lは
1L当たり1000mLまたは
1000mL : 1Lという事です)
(次の/は分数のつもりです)
100mL / 1000mL/L = 100/1000 L
0.010mol / (100/1000)L
= 0.010 × 1000 / 100 mol/L
= 0.10 mol/L
単位を付けると
100mL × 1000mL/L = 100000 mL2/L ???
となって、間違いに気付きやすいかも
余談ですが
2+2+2 = 2×3個 = 3個×2 = 6
3+3 = 2個×3 = 3×2個 = 6
どちらも2×3とも3×2とも表せます
BASICのGOTO文について
BASICのGOTO文について
思う事があります
CPUは機械語を実行しますが
機械語に1対1に対応しているのが
アセンブラです
アセンブラの制御命令は
条件分岐と分岐などで行われます
je jpなどCPUによって
書き方は色々ありますが
これをBASICで書くと
IF A = 0 GOTO *LABEL (IF A = 0 THEN *LABEL)
GOTO *LABEL
になります
つまり、GOTO文が無ければCPUを制御
出来ないという事になります
しかし、BASICにはGOTO文に変わる命令も
用意されいてます
それがFORやWHILEなどです
これらの命令のおかげでアセンブラよりも
分かり易いプログラムが書けます
分かり易さを考えて、GOTO文よりFORやWHILE
などの高級言語特有の命令を使用するよう
推奨されました
この後、GOTO文が悪者にされるようになりましたが
アセンブラのjpなどは批判されていません
これは、GOTO文がアセンブラのようにも
プログラムが書けるよう存在していた事が
忘れ去られていった結果だと思います
アセンブラのCALLはBASICではGOSUBです
この様にBASICはアセンブラに出来ることは
出来、さらに高級言語特有の制御命令も
使える仕様になっていました
よって、GOTOを悪者にすることはアセンブラや
CPUを悪者にしているのと同じ事だと思います
昔は、分かり易いプログラムを書きましょうと言う
意味でGOTO文は避けましょうと言っていたのが
いつのまにかGOTO文の存在自体が悪いように
言われるようになってきました
アセンブラやBASICは
書く人によって分かり易くも
スパゲッティにする事も出来ます
その後、初心者でもスパゲッティになりにくく
するように工夫したプログラミング言語が
でてきましたが、どれも最終的にはアセンブラ
(機械語)で動いていますので、結局は
BASICで言うGOTO文で動いている事に
なります
GOTO文は悪者ではありません
使い方ですね