10月22日の業務報告

こんばんは,M1の山本です.
本日の質問と回答です.

====================
<プログラミング演習1>
Q1. 10月16日の質問と回答にある「フラグを立てる」とはどういうことか

A1. プログラム内で目印としての旗を立てておくことです。
例えば、入力した駅名が、駅名を格納した配列に存在する場合は「正しい駅名」というフラグを立て、存在しない場合には「誤った駅名」というフラグを立てておきます。その後、立てたフラグに応じて処理するように条件指定などをします。

Q2. 課題2に関して、上書きするかしないかを選択するにはどうすればいいか

A2. 上書きする場合、しない場合のそれぞれに対応した文字等を入力させることでフラグを立て、条件分岐させればいいのではないかと伝えました。

Q3. 自宅のPCでもRubyを使ってプログラミングができるか

A3. できます。
Rubyのインストールに関しては教科書484頁以下に記載されています。
エディタに関してはフリーのものも沢山あるので、自分で使いやすいものを探してみて下さい。

Q4. endの数か違うというエラーが出たが,エラー文にある行数を確認しても問題が無かった

A4. 行数とは関係無しに,プログラム全体のendの数をチェックしてもらい,ifとendの対応関係が崩れているところを見つけてもらいました

Q5. 入力した駅名とループを回している最中の駅名が一致しなかったときの駅名を表示する方法がわからなない

A5. if文の条件に入らなかった時はelse文で処理ができるということを説明し,一致しなかったときはelse文で処理ができるのではということを伝えました.

Q6. Hashに値を格納する部分で,何を入力しても上書きするするかどうか確認されてしまう

A6. プログラム中の処理を追いながら,入力した地名がHashに格納されているかどうかを確認する前に,Hashに入力した地名を格納していることを確認してもらいました.これを解決するには,if文の後にHashに入力した値を格納する必要があるのではないかと伝えました.

Q7. プログラムが動かず,エラーが出る

A7. if文やwhile文などは必ずendで閉じる必要があることを伝えました

Q8. プログラムに何もない空行を入れるのは,レポートを提出するときは無くした方が良いか

A8. 実際の処理には関係がなく,プログラムも読みやすくなるので,あっても構わないと伝えました.

Q9. 入力した地名の面積と筑波大学の面積の割合を計算しようとすると,計算結果が0になってしまう

A9. 割合を計算する処理は,Hashの値をイテレータで回しているブロックの中で書く必要があるのではないかと伝えました

回答(Q1−3:鈴木,Q4:水本,Q5-9:山本)
=====================

(文責:山本)