2月1日の業務報告

こんばんは,M1澤木です。
いつの間にか2月になっていたことにショックを感じました。
さて,今日の質問です。今日はプログラミング演習IIに関する質問のみでした。
=============================
Q1. USDの数値を抜き出すことができない
A1. プログラム中のどこまでが意図通りの処理を行っているかを把握できていなかったので、print文を使って要所要所で変数の中身を確認してもらうようにアドバイスをしました。
Q2. USDからJPYへの単位変換ができない
A2. Stringに対して*メソッドを用いていることを指摘しました。
# example
p “2” * 3 #=> “222”
Q3. レポートを作成する際の説明文はどの程度詳しく記述する必要があるか
A3. 必ずしも1行ずつ説明をする必要はなく、採点者が分かりやすいように書くとよいのではとアドバイスをしました。
Q4. 指定の通りの出力をするためにはどうするとよいか。
A4. whileループの中で配列に値を格納していき、表示の処理を行うところでその配列から値を取り出していけばよいのかと尋ねられました。このようなプログラムの方向性で大丈夫だと伝えました。
Q5. CSV形式とはなにか
A5. カンマで区切られたデータ形式であると説明しました。
Q6. ハッシュをソートする方法が分からない
A6. 教科書にハッシュのキーのアルファベット順にソートするサンプルプログラムがあることを紹介しました。
Q7. 配列から値が思い通りに取得できない。
A7. プログラムを説明してもらううちに、インデックスの番号を間違えていたことに自分で気がつきました。
Q8. (1)チェックデジットの計算で,modを使うのがうまくいかない。
(2)while = true
line = gets.chomp

としているが,繰り返しの最後に必ずエラーが出てしまう。
A8. (1)Rubyでmodを計算する場合に使う計算記号を確認してもらいました。
(2)同様のエラーメッセージについて書かれているwebページを一緒に確認してもらい,書き直してみてもらいました。
Q9. (1)言語の判断がうまくいかない
(2)全ての値を配列に代入しているが、これでいいのか。
A9. (1)if文の書き方が間違っていたため、教科書でもう一度確認してもらいました。
(2)レポートの要件を確認してもらいましたが,「タイトルをキートし,旧ISBNコードを値とするハッシュ」も要件に含まれるため,そのハッシュを利用したプログラムに書き換える必要があると思います,と答えました。
Q10. チェックデジットの計算が合わない
A10. 「978-旧ISBN」の計13桁から12桁を取り出して計算する形でメソッドが作られていたのですが,行頭から,などの指定がなかったため,ではないかと考えられます。なので,その指定を付け足して試してみるように提案しました。
Q11. タイトルの先頭の文字だけ大文字にするのがうまくいかない
A12. 参考にしていたwebページを一緒に確認したのですが,ハッシュのキーを使うべきところで値を使ってしまっていたためにうまく動かなくなっていました。そのため,そのコードを直してみるように言いました。
Q12. ハッシュのソート(タイトルのソート)がうまくいかない
A12. タイトルをキートするハッシュであるため,キーでの並び替え,という形になるところを特に指定せずにソートしていたため,もう一度教科書やwebでコードを確認し,書き直してみるようにと言いました。
Q13. ハッシュを使う場合の出力の流れがよくわからない。
A13. 入れ子構造のハッシュを使っていたため,入れ子構造になったwhile文のことをまず思い出してもらい,教科書を見ながら考えてもらいました。
回答:Q1~Q7 三津石,Q8~Q13 澤木
=============================
プログラムの要件の欄に書かれていることだけでなく,出力フォーマットの説明の欄に書かれていることも,一度確認してみてください。もしまだ満たしていない条件があれば,それを満たせるよう,残りのプログラムを書いていきましょう。
大変だとは思いますが,がんばってください。
(文責:澤木)