プログラミング 第3回 変数と計算規則②
まずは前回の課題の解答からです。
合ってましたか?
今回学ぶこと
・ 文字を「変数」にするときのルール
・ コメント「#」
今回は「変数」の続きです。
前回は変数を$x$や$a$などを使って表しましたが、文字を変数にすることもできます。
例えば、りんごは1個200円、みかんは1個40円。りんごを5個、みかんを8個買ったときの合計金額は?
こんな感じで文字を変数にできます。
さらに「=」を「は」に置き換えることもできます。
ちなみにここでは「+」は「足す」「たす」「プラス」にはできませんのでご注意を。
このように文字を変数にすることはできますが、何でもいいわけではありません。一定のルールがあります。
まず、変数に助詞を入れてはいけません。例えば、
変数に助詞「の」を入れてしまったのでエラーになっています。
逆をいうと、助詞を入れなければ問題がないため
このように助詞「の」を入れなければ問題ありません。
ここで注意が必要なのが、助詞ではないけれど助詞として認識してしまう語です。
この例では助詞を使っていないにもかかわらずエラーになってしまっています。
理由は「大分名物とり天定食」の「と」が助詞として認識してしまったためです。なでしこ上では、「大分名物」と「り天定食」として認識されてしまっています。
「大分名物」を外して「とり天定食」だけにするか、「大分名物鶏天定食」などにすると助詞っぽい語がなくなるのでエラーになりません。
助詞が入る変数の他には、数字から始まる変数も使えません。
漢数字にして「三色丼」にすればエラーにはなりません。
また、「海鮮3色丼」という風に数字が頭に来なければエラーにはなりません。
その他には、変数には( )や「 」なども使えません。
変数にはシンプルな単語を使えということですね。
それでは、これまでのことを踏まえてBMI(Body Mass Index)を求める計算式を作ってみましょう。
「BMI = 体重(kg) ÷ 身長(m)の2乗」なので小数第2位までを求める式は
身長と体重には令和元年の高1生男子の平均値を使いました。
BMIが18.5未満で痩せ型、25以上で肥満なので、令和元年の高1男子の平均はやや痩せ型ですね(笑)
このBMIの式は次回以降も使っていきますので、「保存ボタン」を押して保存しておいてください。
ここで、コメントについて説明します。
プログラムの中に説明を書き込みたい場合があるかと思います。例えば、「身長の単位はm(メートル)です」とか。
これらをプログラムの中に直接入力してしまうと、計算結果に影響してエラーになってしまいます。
そこで、コメントという技を使います。
「#」をつけた1行は「コメント」として認識され、プログラムには影響しません。つまり、人間が見やすいように説明を書き込むことができます。
コメントには「#」の他に「//」も使えます。
それでは、数学っぽい問題を解いてみます。
6%の食塩水200gと3%の食塩水100gを混ぜてつくった食塩水の濃度はいくらでしょう?
6%の食塩水を溶液A、3%の食塩水を溶液Bとしてプログラムをつくってみます。
混ぜてつくった食塩水の濃度は5%でした。
溶液Aの濃度と質量、溶液Bの濃度と質量を与えてやれば混合溶液の濃度を計算してくれるプログラムができました。これで毎回計算しなくていいですね。
プログラムは一度作ってしまえば作業効率が飛躍的に上がります。もちろん「立式」する力が必要ですが、最近の大学入試では「計算力よりも立式する力を問う」問題が多いので、プログラミングを学ぶことは大学入試の勉強にも有益です。
では、今回の練習問題です。今回は2問出題します。
第1問
「10%の食塩水が500gある。これを水でうすめて8%の食塩水をつくるには、何gの水を加えればよいか?」
これを変数を使ってプログラムしてください。数字を直接入力するのはダメです。変数を使う練習なのでしっかりと変数を使って入力しましょう。
使う変数は指定しておきます。下の画像の続きを入力して完成させてください。
次の問題は高校生用です。化学基礎で「モル濃度」を習った後に解いてください。
第2問
「質量パーセント濃度49%の硫酸のモル濃度は何mol/Lか?
ただし、硫酸の密度は1.4$g/cm^3$、硫酸の分子量を98とする。」
これも使う変数は指定しておきます。繰り返しになりますが、数字を直接入力するのではなく変数を使って式を作ってください。
余裕があれば「モル濃度→質量パーセント濃度」のプログラムも作ってみましょう。