11月20日の業務報告

こんばんは、B4の門脇です。

本日の質問と回答です。
============================
<プログラミング演習I>
Q1. ハッシュの値の最大値を与えるキーを返すメソッド(saidai_hash)を作った。値を返すことはできるが、キーを返す方法が分からない。
A1. ハッシュの値が大きいか判断したときに、値だけでなく、その値のキーも別の変数に格納したらどうかとアドバイスしました。

Q2. (前述の)saidai_hashメソッドを呼び出すと、エラーが出てしまう
A2. 記述していたプログラムを一緒にトレースして、ハッシュの値の最大値とそのキーを格納する変数がそれぞれ初期化できていないのが問題であると確認してもらいました。

Q3. グラフを表示すると、なぜか最後にnilが表示されてしまう。
A3. グラフを表示するメソッド(gurafu)の記述には特に問題はありませんでしたが、メソッドの呼び出し方に誤りがありました。表示するメソッドと返すメソッドの呼び出し方の違いを確認してもらい、修正したところ、正しく動作しました。

Q4. 蔵書数が最大の図書館名はメソッドで取得できるが,その図書館の蔵書数をどうやって表示したらいいか分からない
A4. 課題の規定では,蔵書数が最大の図書館名を返すメソッドは,「図書館名を返す」とあるので,メソッド内で求めた最大蔵書数を表示しようとせずに,メソッドの返り値として得た図書館名と,その他の変数を使って蔵書数を求める方法を取りましょう,とアドバイスしました。

Q5. リダイレクトの使い方が分からない
A5. まずは,リダイレクトによるファイル内のデータの読み込みではなく,キーボードからのデータの読み込みができるようにしてみて下さい。それができれば,プログラムを実行する時に,「プログラム名 < ファイル名」とすれば期待する動作をします。と回答しました。 Q6. グラフの表示方法が分からない A6. ①グラフの右に表示する部分(図書館名と蔵書数)を表示する,②各図書館毎にいくつ「冊」を表示するのかを計算する,③その数の分だけ「冊」を表示する,というように分解して作業をすることをアドバイスしました。 <基礎数学A> Q7. 計算問題の解答が分からないので見て欲しい A7. 自分でもう一度各問題の"解き方"を調べてみます,と回答者が言ってくれました。 <プログラミング演習I> Q8. プログラムの説明を書いている途中で、自分の書いたプログラムが何をしているのか分からなくなってしまった。 A8. 処理の流れを一緒に確認して、順を追って動作を確認しました。 Q9. 処理をメソッド化したら動かなくなってしまった。 A9. エラーメッセージを確認したところ、変数を引数として渡していないのが原因だったので、修正してもらいました。 Q10. ハッシュの値が最大となるキーを表示するにはどうしたら良いか。 A10. eachメソッド内で最大値を取得するところまではできていたので、そこで外部の変数にキーの値を記録すれば良いのではと伝えました。 Q11. ハッシュの値の最大値を表示するにはどうしたら良いか。maxメソッドでは値が出ない。 A11. maxメソッドはキーの最大値を取得するので、値の最大値を取得するにはeachメソッドを使って取り出す方法を考えてくださいと伝えました。 (回答:Q1-Q3 栗山, Q4-7 安永, Q8-11: 門脇) ============================ 今週の期末を乗り切って楽しい秋休みを迎えてください! (文責:門脇)