スクリプト1(どこでも電卓)

このページはマス旅の一部です。[br][br]PCがあればすぐできる「スクリプト」を使った数学を考えましょう。[br]今回は、PCを電卓代わりにする使い方をさぐる、「どこでも電卓」。
[code][/code]1.どこでも電卓[br][br]Windowsのコマンドプロンプトや、Linuxのターミナルでも[br]電卓程度の計算などができることはあまり知られてません。[br]Chromebookでもメニューで選ぶだけでLinuxが入ります。[br][br]Windows(PowerShell)を略して[b]PS[/b][br]Linux(LinuxのTerminalのbashスクリプト)を略して[b]BS[/b]とかきます。[br]プロンプトのあとに入力データを書いてます。[br]出力は[OUT]からの行です。[br]//からコメント行です。
[b][size=150]<計算結果の表示>[br][/size][/b][br]メッセージなどが色々うっとうしかったら clear で画面をきれいにします。[br][b]//PS[br][/b]clear[br]$a = 2 + 3[br]$a[br][OUT] 5[br][br][b]//BS[br][/b]clear[br]let a=2+3[br]echo $a[br][OUT] 5[br][br]//PSもBSも変数aの内容が表示されますね。[br][br]コマンドラインのスクリプトのいいところは[br][b]「↑」キー[/b]で今まで入れたヒストリーが順に表示されることです。[br]表示を戻しながら [b]+ を - * / に変えてみましょう[/b]。[br][br][b]//PS[br][/b]$a = 2 - 3[br]$a[br][OUT] -1[br][br]$a = 2 * 3[br]$a[br][OUT] 6[br][br]$a = 2 / 3[br]$a[br][OUT] 0.666666666666667[br][br][b]2 / 3[br][OUT] 0.666666666666667[br][/b][br][color=#0000ff][b]//PSは変数宣言なしで、しかも割り算の商を小数で出してくれました。[br][/b][/color][br][b]//BS[br][/b]let a=2-3[br]echo $a[br][OUT] -1[br][br]let a=2*3[br]echo $a[br][OUT] 6[br][br]let a=2/3[br]echo $a[br][OUT] 0[br][br][b]echo "2/3"[br][OUT] 2/3[br][br]echo (2/3)[br][OUT] syntax error[br][/b][br]おっと、BSでは小数を切り捨てて 0 にされてしまいました。[br]そして、変数なしにしたらうまくいきません。[br][br]BSで小数を扱うには、echoのあとに "scale=精度; 計算式" | bc とかきます。[br]精度は小数の桁数を指定して、セミコロン(;)のあとに計算式をかき、文字列にします。それをパイプライン(|)で bc コマンドに渡します。[br]また、整数範囲でよければ echo $((計算式)) と書くこともできます。[br][br][b]//BS[br]echo "scale=3; 2/3" | bc[br][OUT] .666[br][/b][br][b]echo $((2 + 3))[br][OUT] 5[br][/b][br]これで、BSもPSと同等の計算ができるようになりましたね。[br][br][br][size=150][b]<四則計算の表示>[br][/b][/size][br]かっこを使った四則計算はどうでしょうか。[br][br]//PS[br](10 + 5) * 3 / 2[br][OUT] 22.5[br][br]//BS[br]echo $(( (10 + 5) * 3 / 2 ))[br][OUT] 22[br][br][b]//BSの $(( )) は整数計算なので小数が切り捨てられますが、カッコの計算順序はバッチリです。[br][/b][br][br][b][size=150]<べき乗はどうか>[br][/size][/b][br]//BS[br]echo $(( 2 ** 3 ))[br][OUT] 8[br]//Pythonっぽい書き方ですね![br][br]echo "2.5 ^ 3" | bc[br][OUT] 15.625[br]//小数のべき乗は bc コマンドを使います。[br][br]//PS[br]//PSは残念ながら関数に頼ります。少し仰々しいですね。[br][b][Math]::Pow(2, 3)[br][OUT] 8[br][br][Math]::Pow(2.5, 3)[br][OUT] 15.625[br][/b]//よいところは、整数も小数も同じ形式で扱える一貫性がある点です。[br][br][br][b][size=150]<電卓アプリを出す>[br][/size][/b][br]//BS[br][b]calc[br][OUT] コマンド 'calc' が見つかりません...[br][/b][br]BS(Linux)では、標準状態だと電卓コマンドが入っていないことがあります。[br][b][size=150]でも、安心してください。[br]Linux環境には Python が標準で入っています。[br][/size][/b]ターミナルで python3 と入力すると、すぐにPythonの対話モードが立ち上がります。[br]Pythonはスクリプトとして使えて電卓以上のことができますから、とても便利です。[br]今の高校生は「情報」の授業でPythonを使うので、なじみがある人も多いでしょう。[br][br]//PS[br]calc[br][OUT] (Windows標準の電卓アプリが起動)[br][br]PSで calc と打つと、おなじみの電卓が表示されます。[br]左上の3本線メニューを押すと[b]「標準」「関数電卓」「グラフ計算」「プログラマー」[br][/b]などが選べます。[br]この「グラフ計算」はGeoGebraの簡易版のようなもので、数式を入力するとグラフを描き、交点にカーソルを近づけると座標まで教えてくれます。[br]いきなり「[b]高性能関数グラフ電卓[/b]」が降臨するわけです。[br]計算については、メニューやヘルプを調べればPSもBSも相当なことができそうですね。[br][br]
2.いつでもGeoGebra
[br]ここまでで、PCを持っていればターミナルから簡単な計算ができるし、電卓以上の機能が利用できることがわかりました。[br][br]では、われらがGeoGebraはどうでしょうか。[br][br][b][size=150]<GeoGebra>[br][/size][/b][br]数式ビューに[br]2 + 3[br]2 - 3[br]2 * 3[br]2 / 3[br]と入れると、つぎつぎと結果が変数名つき(a = 5, b = -1 ...)で表示されます。[br][br](10 + 5) * 3 / 2[br]2^3[br]2.5^3[br][br]これらもあっという間に計算してくれますね。[br]それどころか、[br][br]A = (1, 1^3)[br]B = (2, 2^3)[br]C = (2.5, 2.5^3)[br][br]と打つと、y = x^3上の点 (x, x^3)$の3つの位置が画面(グラフィックスビュー)にプロットされます。[br]さらに、[br][br]f(x) = x^3[br][br]と打つと、瞬時に美しい曲線グラフまで表示してくれます。[br][br]タイトルは「電卓のようにgeogebraを気軽に使おう」[br][br]GeoGebraはユーザー登録さえすれば、[br][br]自分の庭のようにアプリやワークシートを作ることができ、[br][br][b][color=#0000ff][size=200]世界中の数学教育者の創意工夫に出会える[br][/size][/color][/b][br]すばらしいツールですね。
電卓のようにgeogebraを気軽に使おう
Windowsの標準アプリ[calc]

Information: スクリプト1(どこでも電卓)