プログラミング 第4回 関数の基本

 前回の問題の解答

まずは第1問の解答です。


数字を直接式に入れるのではなく「変数」を使って立式しておくと、「変数」の値を変えるだけで同じ立式を使う違う問題に対応できますね。

次は第2問の解答です。


化学では「濃度の換算」の問題は頻出なので高校生はしっかり立式できるようにしておきたいですね。

今回学ぶこと

関数とは

「表示」「言う」「話す」の関数

「尋ねる」「代入」の関数

今回は「関数」について学んでいきます。
「関数」を学ぶ際には「引数」やら「戻り値」やら用語が出てくるのですが、とりあえず一旦置いておきます。
まず「関数」に触れてもらい、「関数」とはどういうものなのかを肌で感じていきましょう。

 関数とは

実は前回までの話で、すでに皆さんは「関数」を使っています。
下の画像は前回使ったプログラムですが見てください。


「合計を『表示』」と書いてますよね。
この『表示』が「関数」です

例えば、「合計を表示」という1行を消して「実行ボタン」を押してみます。

どうですか?何も『表示』されませんよね?
このとき、なでしこ内部では合計の計算は行っています。
ただ、「表示しろ」と言われてないので表示はしないわけです。
プログラムは人間みたいに空気を読んで合計金額を教えてくれません。

『表示』という文言を入力して実行ボタンを押さないとなでしこは絶対に『表示』しません。
つまり「関数」とは、なでしこに何かをやってもらう命令のことと思ってください。

「表示」「言う」「話す」の関数

「関数」は『表示』以外にもたくさんあります。
先ほどのりんごとみかんのプログラムの最後に「合計を言う」と入力して実行ボタンを押してみて下さい。すると


こんな感じで別の枠(ダイアログ)が開いて合計を教えてくれます
この『言う』も関数です。『表示』とは少し働きが違いますよね。

次は最後に「合計を話す」と入力してみましょう。(音が出るので注意!)


なんと音声で「1320」と教えてくれます

「関数」は複数組み合すこともできます。


『足す』と『表示』の2つの「関数」の組み合わせ。
「関数」はなでしこへの命令。
第2回でやった「小数点四捨五入して表示」も『小数点四捨五入』と『表示』の2つの「関数」を使っている。

「尋ねる」「代入」の関数

それでは、新たに『尋ねる』『代入』という「関数」を使ってみましょう。
まず、次のように入力します。


「あなたのお名前は?」で「名前」を『尋ね』ます。「名前」は「変数」です。
この「変数」である「名前」を下の分に『代入』します。
「 」の中に変数を代入するには{ }を使います。
入力したら実行ボタンを押してみましょう。


別枠(ダイアログ)が開いて名前を尋ねられます。
名前を入力してみましょう。そうすると、


こんな感じで『表示』されます。
このとき、『表示』ではなく『話す』にすると音声で言ってくれます。

ちなみに『話す』にして「心有塾」と入力すると「こころゆうじゅくさん」と発音されました。正しい発音は「しんゆうじゅく」ですが、漢字の読み取りは難しいのでしょうね。『話す』の場合は名前が難しい漢字の人はひらがなかカタカナで入力しましょう。

次は、あるとちょっと便利な「時速から秒速に変換する」プログラムを作ってみましょう。


単位の変換するプログラムはいろいろ作っておくと便利かもしれませんね。

『尋ねる』対象は複数でもOKです。食塩水の濃度を求めるプログラムを作ってみます。


実行ボタンを押すと食塩と水の質量を尋ねてきて、数値を入力すると濃度を教えてくれるプログラムの完成です。一気にプログラミングっぽくなりましたね。

それでは、今回の課題です。前回作ったBMIを求めるプログラムをバージョンアップしてみましょう。

問題

「身長は何mですか?」「体重は何kgですか?」と尋ねてきて、数値を入力すると「あなたのBMIは〇〇です」と教えてくれるプログラムを作ってみましょう。BMIは小数第2位までの値で教えてくれるようにしてください。教えるときの関数は「表示」「言う」「話す」のどれでも構いません。

上の食塩水の濃度を教えてくれるプログラムを参考に作れば簡単にできるはずです。このBMIのプログラムは次回さらにバージョンアップさせますので「保存」しておいてください。