12月11日の業務報告

こんばんは
B3の野沢です

本日の質問と回答です.
=======================
<プログラミング演習Ⅱ>
Q1. 実行したときにエラーが出る。
A1. 配列と文字列を「+」でつないでいたので、「push」メソッドを調べてもらったところ、エラーが出なくなりました。

Q2.思ったようにプログラムが動かない
A2. 書いたプログラムを理解できておらず、どこでどんな作業をしているプログラムなのかを自分で説明できていなかったので、まずは自分の中でプログラムを理解してもらうように伝えました。

Q3. レポートの提出方法が分からない
A3.今回の課題は授業のページに掲載されてるレポート提出プログラムを用いたものであり、ページ内のリンク先の指示に従ってファイルを提出するように伝えました。

Q4. 英文の中身を1行ずつ保存している配列があるのだが、その配列同士を合わせて一段落ごとに保存した配列を作りたい
A4.質問者の作るプログラムでは1文を読み込み、それを分割して配列に保存しており、その処理の繰り返しを行うことによって文章全体を読み込んでいた。よって配列の中身は毎回上書きされているので、1段落ごとに配列を作るには別の処理を行った方がいいことを伝えました。

回答: Q1:古澤, Q2-Q4:品木
=======================

先週からプログラミング演習Ⅱの質問が多くきました.
少し思ったこととしては,演習Ⅰで習ったことを前提として講義は進んでいるので,Hash,配列の概念とエラーの読み方は,最低限習得したほうが良いかと思います.
(文責:野沢)

12月10日の業務報告

こんばんは!
B4の古澤です。

今日の質問・解答は以下のようになっております。
=======================
<プログラミング演習Ⅱ>
Q1. コメントチェックシステムを使ったが、「9行目 if」とだけ表示される。
A1. コメントチェックシステムに特定の文字列を入れると止まるバグがあったようです(通報済み)。該当行にコメントを加えると正常に動作しました。

Q2. 金曜クラスの課題で、テスト用文章に全角のシングルクオーテーションが混ざっており、gsubメソッドで置換したいが実行するとエラーになる。
A2. 正確にはライトシングルクオーテーションという記号でした。shift-jisで表示すると文字化けするようです。この記号を正規表現で扱うには文字コードを指定するマジックコメントでwindows-31Jと指定しないとエラーが発生するようです。

Q3. ハッシュでキーとオブジェクトを表示させるメソッドを作りたい
A3. eachメソッドの書き方が間違っていたので指摘しました。

Q5. gsubメソッドがうまく働かない。
A5. 破壊的メソッドと非破壊的メソッドの違いについての理解が曖昧だったようなので、説明してプログラムを修正してもらいました。(変数に代入せずに非破壊的メソッドを使っていました。)

<統計>
Q4. 例題(2)の途中式z(0.131)=1.12と書かれているが意味が分からない
A4. I(z)=0.5-0.131=0.369であり「この近く(0.369)」を標準正規分布表から探してz=1.12を導き出すという意味のようです。

回答: Q1-Q4:榎本、Q5:古澤
=======================

プログラミングで何かしらのエラーが出たときは、エラーの内容をコピペしてググってみましょう。
多くの人が同じエラーで苦しんでいるので、その解決策が提示されている場合があります。

4年生は卒論提出が近づいてまいりました。
提出間際の4年生達には気を使って優しくしてあげましょう。

(文責:古澤)

12月9日の業務報告

こんばんは,B3野沢です。

本日の質問と回答です
=======================
<プログラミング演習Ⅱ>
Q1. 実行しても文字列に行いたい処理が反映されず,原因がわからない
A1. gusbメソッドで置換した文字列を格納していないことが原因でした.破壊的メソッドについて理解されていなかったので該当ページ(たのしいRuby4版 p331)を読んでもらいました.

回答: Q1:野沢
=======================

来週の火曜は期末試験日です.
秋Bもあっという間に終わりそうですね.
(文責:野沢)

12月8日の業務報告

本日の質問と回答です。
=======================
<プログラミング演習>
Q1. 課題プログラムを作っているがエラーが出る。
A1. ハッシュの定義のところでキー値のペアとペアの間のコンマが無く、またクオーテーションの書き忘れがいくつかあったので修正しました。
その後、一度にプログラムを最後まで書いたのでエラーの原因がわからないとのことだったので、ファイル読み込むところから少しずつ実行確認をしてエラーの原因を探すよう伝えました。

Q2. 配列に単語とコンマピリオドなどの記号を要素として格納し、順番に表示して最終的に英文を表示したいのだが、コンマやピリオドなどの前にも空白が表示されてしまう。コンマやピリオドの前には空白を入れたくない。
A2. 繰り返し文を使って配列の要素を1つずつ表示しているので、そこでifなどを使ってコンマやピリオドのときだけ表示するものを変えてみてはとアドバイスしました。

Q3. 正規表現でマッチした部分の表示はできたが回数を数えるなど後で作業ができない。
A3. マッチした部分を表示するときに使っている変数はマッチするごとに更新されてしまうので、マッチするごとに配列かハッシュに保存するなどして後で使えるようにする必要があると伝えました。

Q4. 単語の品詞を表すタグを日本語訳して表示するためにハッシュをつくりたいが、品詞を表すタグをキーにして値を出現回数にしたハッシュをもう作っている。どうすればよいか。
A4. 同じキーで違う値の入ったハッシュを二つ作ることもできると答えました。その場合は別の値を同じキーで持ってこられるので便利なこともあると伝えました。

Q5. ハッシュを利用してマッチした品詞をカウントしたいが、格納の仕方が分からない。また、ハッシュをソートするコードを動かしたが上手くいかない。
A5. ハッシュの使い方に関するページを参照してハッシュに関するメソッドを確認しました。ハッシュのソートに関しては、参考書にあるコードをそのまま利用していたため、一行ずつ意味を考慮しながらコードを書く事を促しました。

Q6.正規表現でピリオドが含まれている場合の処理を行いたいが、上手く行かない。
A6.正規表現にはエスケープ処理をしなければならない記号が存在する事を伝え、正規表現でエスケープ処理が必要な記号は何かを調べてみるように促しました。

Q7.ハッシュに格納されたアルファベットの品詞名を他のハッシュにある日本語名に変換したいが、上手くできない。
Q7.英語の品詞名を一つずつ取り出す事には成功していたため、その値を日本語名が格納されているハッシュと比較すれば良いという事を伝えました。

回答: Q1-4:岩井 Q5-7:功刀
=======================

プログラミング演習の課題締切が迫ってきました。
正規表現のミスはプログラム上問題がなければエラーで止まってしまう事がないため、何が間違っているのかを発見するのが難しいです。また、記述の仕方によってコードの長さが変わってくるのでしっかりと慣れておくと良いと思います。
正規表現に慣れているとプログラミングだけでなく、テキストエディタの中で大量の文章からある部分を探す時などにも利用ができて便利です。
(文責:功刀)

12月5日の業務報告

こんばんは。B3の功刀です。

本日の質問と回答です。
=======================
<プログラミング演習>
Q1. エラーがでてしまってどうやって直していいのかわからない(正規表現)
A1. エラーをGoogleで検索してもらい,宣言されていないハッシュの値にアクセスしたためのエラーであることを確認しました.空の行を判別する正規表現が誤っていたので指摘しました.

Q2. エラーがでてしまってどうやって直していいのかわからない
A2. エラーをGoogleで検索してもらい,配列に対してメソッドが定義されていないエラーであることを確認しました.また,どのようにコードを書いていけばいいのか方針を一緒に考え,変数名がわかりにくいことを指摘しました.

Q3. ハッシュの値が正しく出力されない
A3. p による出力を行っていたため,意図した出力結果が得られていませんでした. eachを用いてハッシュの値を全て出力する方法を検索してもらい, printを用いて正しく出力する方法を確認しました.

回答: Q1-2:野沢、Q3:功刀
=======================

ハッシュにデータを格納していく際に値を出力して確認していくことは, 自分の頭を整理する上でも重要です.
Rubyでは出力するメソッドとしてp, printやputsメソッドなどがありますが, それぞれ挙動が異なるので確認しておくと良いと思います。

(文責:功刀)