10月15日の業務報告

こんばんは.M1の山本です.

本日の質問と回答です。
==============================================
<プログラミング演習Ⅰ>
Q1. 第1回レポート課題について、駅名を表示する事はできたが、所要時間をどう処理すれば良いのか分からない。
A1. 駅名を表示させるときに使っている配列の要素番号をそのまま所要時間の配列に使う事で合計時間を計算できないか、考えてもらいました。

Q2. 第1回レポート課題について、駅名と周辺リストの表示の際に字下げする文字数をどうやって増やせばよいのか。
A2. 文字も「+」で足すことができることを確認してもらい、繰り返しの際に数字を足していくときのような形を文字列にも応用してみてはどうかと提案しました。

Q3. プログラムを実行すると一部の漢字が文字化けして表示されてしまう。
A3. スクリプトの先頭に「#! ruby -Ks」など入力すると文字化けを防ぐことができます。詳細は「Rubyリファレンスマニュアル」などを参照してください。http://www.ruby-lang.org/ja/old-man/html/FAQ_C6FCCBDCB8ECA4CEBCE8A4EAB0B7A4A4.html

Q4. 第1回レポート課題について、駅名と周辺リストの表示の際に字下げしたあと、ハイフンで区切りを入れたのだが、実行結果例と違い、区切りの部分にまで字下げが入ってしまった
A4. 繰り返しの最後の駅名と周辺リストを表示させたあとにも字下げの処理を行っていたので、最後の駅名と周辺リストを表示させた後は字下げを行わないか、最後の駅名と周辺リストだけは繰り返しの外で別途表示させるようにプログラムを組めばいいのではないかと提案しました。

Q5. 駅名の配列にない駅名が入力されてもプログラムが終わらず、最後まで実行されてしまう。
A5. 条件分岐に誤りがあったので指摘しました。breakメソッドは繰り返しからの脱出なので、if文に使うとエラーメッセージが表示されます。

Q6. 第1回レポート課題について,課題2−3の部分で,大きい方の面積が小さい方の面積の何個分かを求めよという問題文の意味が分からない
A6. Hashに地名と面積が入っていることを確認してもらった後,入力した2つの地名について,どちらの面積が大きくどちらの面積が小さいかが分かれば,割り算によって何個分か求められるのではとアドバイスしました.

Q7. 第1回レポート課題の駅名を表示するプログラムについて,具体的にどのようなプログラムを書けばいいかアドバイスが欲しい
A7. while文を使うことを提案し,入力した駅名がくるまでループを回せば良いことと,駅名がこないときは所要時間を計算すれば良いのではと提案しました.また,配列中から特定要素の添字番号を返してくれるメソッドがあるから,それを使うともっと簡単なプログラムができるのではないかとアドバイスしました.

Q8. ループ文の中で,抜けてほしくないところでループが終わってしまう
A8. whileの中の処理を追っていってもらい,while条件が偽になることを確かめました.そこで,無限ループを用いて,if文の中にbreakを書くことによって,望む回数ループが行えるようにできるとアドバイスしました.

(回答 Q1-5:鈴木 Q6-8:山本)
==============================================

今日はよく晴れて,日差しが暖かい一日でした.
ただ夜になるとやっぱり寒いですね.

(文責:山本)