10/21の業務報告

こんばんは、B2の栗山です。
運動の秋ということで、明日と明後日は、秋季スポーツ・デーが開催されます。
天候が心配ですが、2日目には新しい企画として「缶蹴り」があって面白そうですよ!
さて、本日の質問と回答です。
===========================
Q1.レポート課題1-2の寿司のプログラムで、食べた皿の枚数および値段の合計を計算するプログラムをつくったが、実行すると皿の枚数も値段の合計もnilと表示されてしまう。
A1.プログラムについて、何行目で何をしているか説明してもらっているうちに、質問者が変数の初期化を忘れていたことに気がついたので、そこをまず直してくるようにと説明しました。
Q2.レポート課題1-1の山手線のプログラムで、山手線の駅でないものが入力されたとき、「これは山手線の駅ではありません」と表示するようにつくったが、「山手線の駅ではない」という表示はできるものの、そのあとにundefined method < for nil:nilclassというエラーがでてしまう。
A2.エラーの意味を説明して、いまのプログラムでは、「山手線の駅ではない」と表示してもプログラムを継続している状態であると説明しました。
Q3.レポート課題1-2の寿司のプログラムで、値段の合計が間違って表示される。
A3.質問者がスペルミスを発見したので、とりあえずそれを直してみてもらいました。
Q4.(レポート課題1-2に関して)、ハッシュにキーと値を入れる方法が分からない。
A4.文字列をハッシュに入れる方法は理解していたので、文字列が代入された”変数”をハッシュに入れるためには、どのようにしたらよいか考えるように言いました。
Q5.(レポート課題1-2に関して)、.(ピリオド)が入力されたら終了させる方法が分からない。
A5..(ピリオド)が入力された場合と入力されなかった場合を区別するには、どうしたらよいか考えるように言いました。
(回答者 Q1~Q3:西野, Q4・Q5:栗山)
===========================
プログラミング演習の締め切りが近くなってきましたね。
テキストの演習にはたくさんヒントがあるので、復習してみてくださいね。
(文責:栗山)

10/20の業務日誌

図書館情報メディア研究科の安永です。
更新が遅くなってすみません。昨日の質問と回答です。
プログラミング演習Iのレポートに関する質問が沢山来ました!
========================================================================================
<プログラミング演習Ⅰ>
Q1.レポート課題1に関して。配列の最後の駅から最初の駅へ戻るときにnilが表示されてしまう。
A1.変数がどのように変化しているのかトレースしてもらい、現在の変数では配列のどの部分を参照しているのかを確認してもらいました。そして繰り返しを終了させる条件をどうすればよいか考えてもらいました。
Q2.レポート課題1に関して。プログラム途中までしか動かない。
A2.乗車駅と降車駅をあらわすための変数に正しいものが入っていないのが原因でしたので、ソースコードを見ながらトレースし、変数に何が入っているのか確認してもらい、誤っている箇所を見つけてもらいました。
Q3.レポート課題1に関して。書いたプログラムがどのように動いているのか分からない。
A3.必須項目となっている機能がまだ終わっていないようだったので、まずはそちらを進めてから考えてみてはどうでしょうか、と伝えました。
Q4.演習3-28に関して。”.(ピリオド)”を入力してもプログラムが終了しない
A4.入力された”.”が入る変数が「.to_i」で整数に変換されていたため、文字として認識されていませんでした。一緒にトレースしてその誤りに気づいてもらいました。
Q5.レポート課題2に関して。エラーが出てきてしまい、プログラムが動かない
A5.プログラムの途中に全角スペースが含まれていたためエラーが起きていました。
Q6.レポート課題2に関して。「寿司ネタをキーとし~略~ハッシュを作成する」とはあらかじめハッシュを作成しておき、そこに新たに追加していくのか。
A6.課題の条件等に関しては先生に確認をとるように伝えました。
Q7.レポート課題1に関して。プログラムが終了しない。
A7.プログラムを一緒にトレースし、繰り返し条件となっている変数が、どのような値になったら終了するのか考えてもらいました
Q8.レポート課題2に関して。ハッシュに存在するキーを指定した時は上書きするか選べるようにする、というのはハッシュに今あるキーとは別に新たにキーと値を設定するということか?
A8.課題や条件の意味や意図については先生に直接確認をとってもらうように伝えました。
Q9.演習3-29に関して。ハッシュの値の合計を出したいが、上手くできない。
A9.上書きせずに一緒にトレースし、現在のままでは値が上書きされていってしまうことを確認しました。足すにはどうすればよいか分かったようでしたので、試してみるように伝えました。
Q11.レポート課題2に関して.何回でも入力できるようにしたいが,どうすればいいか分からない.10000回までは繰り返せる.
A11.whileの条件がどのような条件であれば嬉しいか尋ねました.それから,それを実現するためのキーワードを教えました.
Q12.レポート課題1に関して,無効な乗車駅を入力した場合は,降車駅は尋ねたくないが,尋ねるようになってしまっている.どうすればいいか.
A12.現在のプログラムの流れ図を一緒に書き,次にこうなって欲しい,という流れ図を書くことで,どうすればいいか見つけていきました.
Q13.レポート課題2に関して,寿司ネタはキーボードで入力させるのか,あらかじめハッシュにいれておけばいいのか分からない.
A13.課題の意図に関しては先生に直接確認をとって下さい,と答えました.
Q14.レポートの書き方に関して,行番号付きのプログラムリストを印刷することはできるが,指定されているような書式で書く方法が分からない.
A14.レポートの書き方に関しては先生に直接確認をとって下さい,と答えました.
Q15.レポート課題2で,皿の合計を出すことはできるが,値段の合計を出す方法が分からない.
A15.まず,値段の合計を出す式を考えてもらいました.それから,それを実現する方法を考えました.実現する方法を考えるに当たって,皿の枚数を聞くネタが固定で決めてあっただったので,まずその部分を考え直してもらいました.そうすると,皿の枚数の合計,値段の合計を求めるプログラムが自然に出てきました.
<量的調査法>
Q10.量的調査法の課題で,選択のリストのうち1つを選択したら自由記述できるようにする方法が分からない.
A10.使用しているツールのヘルプを一緒に見たら,方法が載っていました.
(回答者 Q1-9:鈴木,Q10-15:安永)
========================================================================================
プログラミング演習Iのレポートの課題の意図や解釈についてはチューターは答えることができないので,担当の先生に直接質問するようにお願いしています。
プログラミング演習Iの授業ページに、課題に関する補足が追記されているので,そちらも参考にしてみて下さい!
それから,プログラミング演習Iのレポートは,授業のテキストにヒントが沢山あるので,焦る気持ちを抑えて,これまでにやっていない演習をやることが近道になるかもしれません!