12月13日の業務報告

こんばんは、B3の林です。

本日はプログラミング演習Ⅱに関する質問が6件ありました。
内容が一緒のものもあったので以下の4件にまとめました。

=======================
<プログラミング演習Ⅱ>
Q1:課題Aで、品詞の出現頻度を出す方法がわからない
A1:読み込んだ行を加工して配列を作り、その後、品詞をキー、出現回数を値とするハッシュを作ると良いのではと提案しました。

Q2:課題Aで、品詞と出現頻度をハッシュに保存したが、出力の際に品詞を正式名称に変えるにはどのようにしたらよいか。
A2:品詞の略称と正式名称の対応付けは、テキスト記載のCSVファイルに書かれています。
CSVファイルを読み込んだ時に得られる品詞の略称と、ハッシュのKeyとして保存されている品詞の略称をマッチさせることで、品詞の正式名称と出現頻度のペアが作れるのではないかと一緒に考えました。

Q3:エラーが出る理由が分からない
A3:自分で作ったメソッドと返り値、ハッシュの名前が所々で混同されていたためエラーが出ていました。

Q4:平均・分散の答えが微妙にずれる
A4:平均の平均を計算していたため結果がずれているのではないかと指摘しました。

回答 Q1~Q4:髙橋,鈴木,林
=======================

ほとんどの人が個人課題に取り組んでいました。
エラーが出たり、思うような結果にならなかったときに
print文を使って確認する癖がついてきた人もいる一方で、
要件を一気にクリアしようとしてつまずく人もまだまだいるようです。

Q1については「たのしいRuby」のハッシュの章に参考になる項目があります。
その他にもプログラミング演習Iでやったはずのことを案外忘れていたりするので
復習をしておくと良いのではないでしょうか。

(文責:林)

12月12日の業務報告

こんばんは、B2の伊藤です。

本日はプログラミング演習Ⅱに関する質問が8件ありました。
内容が一緒のものや、追加での疑問が多かったので2件にまとめて報告します。

=======================
<プログラミング演習Ⅱ>
Q1:課題Aで、どういう風に進めればよいのかわからない。
A1:splitを使い、単語を区切ってから集計し、出力する方法を紹介しました。

Q2:ファイル入出力でエラーが出る理由が分からない
A2:print等でいろいろ試した結果、全角スペースが入っていたので指摘しました。

回答 Q1~Q2:伊藤
=======================

最初のペアワークが終わり、最初の個人課題が出題されましたね。
プログラミング演習Ⅱの前半ではファイルを入力し、それから得られたデータを出力する課題が多いです。(もちろん他の問題も昨年度は出題されましたが)
splitなどの文字列を処理するメソッドを使いこなし、一つずつ処理することが大事だと思います。秋AB終わりのテストとも被り大変な時期ですが、頑張っていきましょう。
(文責:伊藤)

12月9日の業務報告

こんばんは、B2の高橋です。

本日はプログラミング演習Ⅱに関する質問がありました。

=======================
<プログラミング演習Ⅱ>
Q1:課題1(木曜クラス)のsummary.csvに出力する内容をどうやって求めればよいかがわからない。
A1:各csvファイルの出力はできていたので、Dir.globを使ってcsvファイルを読み込んだ後の処理について考えました。(csvファイルを読み込むと各行がセルごとに”,”で区切られた文字列として取得できるので、それを”split”で配列に格納して、各要素ごとに新たに作った配列に”push”する方針で進めました)

Q2:課題1(金曜クラス)で少数点第2位までで丸めた値を表示したが、それらの値が正しい気がしない(どの値も◯◯.◯0で終わっている)
A2:roundを使って小数点第3位を四捨五入した結果を、sprintfで小数点第2位まで表示していましたが、特に間違っているようなところはありませんでした。なのでもし値が間違っていると感じるならばそれは丸める以前の値そのものが既に間違っている可能性があると指摘しました。

回答 Q1,Q2:高橋
=======================

少し難しい要件を満たすコードを書く際には、
1. まず何をしたいのか
2. そうするためには何が必要か
3. 必要な変数・配列・ハッシュなどは揃っているか
について順序立てて考えてみると良いと思います。

(文責:高橋)

12月8日の業務報告

こんばんは、B3の鈴木です。

本日もプログラミング演習Ⅱに関する質問がありました。

=======================
<プログラミング演習Ⅱ>
Q1:プログラムが提出システムにはじかれてしまう、また、内容が分からない
A1:ペアプログラミングの課題で、ペアの子が作成した部分について、理解ができていなかったようなので、print文などを使って今どんな値が変数に入っているのかを確かめ、最終的な提出物であるCSVファイルにどのように値を出力すればよいかを考えました。

回答 Q1:尾澤、鈴木
=======================

詰まってしまったら、エラー文を読んだり、print文を使って、変数にどんな値が入っているかを確認してみましょう。
木曜クラスは、再提出分と、新たな課題と2つのプログラムに取り組んでいるので大変ですが、細かく見ていくことでどこがエラーになっているかが分かると思います。がんばりましょう。

(文責:鈴木)

12月6日の業務報告

こんばんは、B3の鈴木です。

本日はプログラミング演習Ⅱに関する質問が3件ありました。

=======================
<プログラミング演習Ⅱ>
Q1:文字列のエンコーディングでエラーが出てしまう
A1:特殊文字¥uを使ってエラーが出ていました。「半角英大文字すべて」という条件にしたいとのことだったので、正規表現を使って(¥uを使わずに)条件を作れないか考えました。

Q2:平均・分散の答えが微妙にずれる
A2:まず、配列の要素に何が格納されているのかを一つ一つprintで確認し、配列に実際には何が格納されているのかを把握しました。その結果、単語を格納している配列にて、単語に”¥”や”(ダブルクォーテーション)がくっついているのを発見したので”gsub”や”delete”を使って取り除く方法を提案したところ、正確な値が出ました。また配列や変数を余計に作っているようでしたので、余計なものを減らせるように一緒に考えました。

Q3:csvファイルへの書き込みの仕方がわからない
A3:rubyのファイル書き込みには、ファイル読み込み時にも使ったopenメソッドのW(書き込み)モードが使用できることを確認しました。その後、問題文の通りにファイル名を指定するにはどのようにしたら良いかを考えました。また、書き込みたい値が標準出力(コマンドプロンプト上に出力)になっていたので、ファイルに書き込む方法を一緒に考えました。

回答 Q1:林、Q2:高橋、Q3:鈴木
=======================

プログラミングで実現したいことが出来ない場合、プログラムの動作を小分けにして考える・今何が出来ていて、何が出来ていないかを確認するということが大切になってきます。

詰まってしまったら、エラー文を読んだり、print文を使って、変数にどんな値が入っているかを確認してみましょう。
どこが原因になっているかの糸口になるはずです。

プログラミング演習は、木曜クラスの締め切りが迫っています。ラストスパート頑張りましょう。

(文責:鈴木)