こんばんは,M1の安永です.
1月に入って,ついにこたつを出してしまいました.
本日の質問と回答です。
****************************
【プログラミング演習2】
Q1.(演習5-5に関して)エラーが出てしまうがどうしたらよいか。
A1.第5回テキストp.7の脚注を確認して,エラーの原因を理解してもらいました。それを基に、質問者の方と一緒にどうしたらよいか考えました。
Q2.(課題に関して)エラーが出てしまうが、その原因が分からない。また、ISBNにハイフンがあってもなくてもマッチングさせるにはどうしたらよいか。
A2.正規表現を用いてマッチングを行おうとしている部分に誤りがあることを指摘し、テキストで正しいやり方を確認しました。
Q3.(課題に関して)後方参照をしているが、変数に入っていないらしく、何も表示されない
A3.マッチさせたい文章に対して、正規表現が適切でなかったため、教科書を参照して正しい正規表現を一緒に考えました。英数字やスペースが入り交じった文にマッチさせる正規表現も教科書に掲載されていますので、確認してみましょう。
Q4.(3-9に関して)記号の前後にある1個以上の空白を削除したいが、前の空白しか削除されない
A4.「|」を使ってマッチするパターンを選択する方式をとっていたのですが、記号の前に空白がある場合と、記号の後に空白がある場合の選択になっていたので、記号の前に空白がある時点でそちらにマッチし、記号の後にある空白がマッチする対象となっていませんでした。その点を指摘し、繰り返しのメタ文字(*,+,?)を活用して条件を満たすことが出来ないか検討しました。
Q5.ハッシュのキーをソートする方法が分からない
A5.教科書263ページにハッシュの値でソートする方法が載っていたので、その方法を解説し、キーに応用できないか考えてもらいました。
Q6.ハッシュのキーだけを取り出したつもりが,キーと値の両方が取り出されている.
A6.eachメソッドを使ったハッシュのキーの取り出し方を教科書255ページで確認してもらいました.すると,eachメソッドで変数を1つだけ指定すると,各要素を配列として取り出すことになることが分かりました.
Q7.ハッシュの要素数は7つなのに,表示すると沢山表示されてしまう.
A7.while内でeachメソッドを使用して表示していたため,whileを繰り返すたびに表示されているのではないか,と指摘しました.
Q8.(演習4-2に関して)正規表現にマッチしたかどうかを出力していて,マッチしないはずのものを入力しても,マッチした,と出てしまう.
A8.正規表現のどの部分が間違っているのかを発見するために,現在書いている正規表現を,最初から少しずつ書いていき,その都度出力結果を確認してもらいました.すると,AM|PMを正規表現に書き足した時に,予想と違う動きをしたので,|の使い方を教科書279ページで確認してもらいました.
Q9.(課題に関して)新ISBNのチェックディジットを計算するために,ISBNの数字を1つずつ取り出したいが,どうすればいいか分からない.
A9.教科書231ページに文字列のインデックスの使い方が載っていたので,そちらを読んでもらいました.
回答者:1-2 森川, 3-5 鈴木,6-9 安永
****************************
今日のように寒い日には「カレー南ばんそば」がよく出ます.(バイト先の話)
(文責:安永)
年別: 2012年
1月18日の業務報告
こんばんは、B3の鈴木です。
今日は月曜日課でしたね!危うく遅刻しそうになりました。
本日の質問と回答です。
****************************
【プログラミング演習2】
Q1. (演習4-1に関して)1~4桁の数字を正規表現する分からない。
A1. テキストに演習のヒントが載っていたので参照してもらい、一緒に正規表現を考えました。
Q2. (演習3-8に関して)先頭の空白の削除等が上手くいかない
A2. 正規表現に誤りがあったので、教科書で説明を行いながら一緒に考えました。
Q3. (演習4-1に関して)実行結果がテキスト通りにならない
A3. いくつか正規表現に誤りがあったのでその箇所を指摘し、教科書で正しいものを探してもらいました。
Q4. (演習3-9に関して)記号の前後にある空白を削除する方法がわからない
A4. 一度に全ての条件を満たそうとせず、一つずつ条件を満たして行くことを勧め、まず、「(」の前後にある空白を削除する方法を教科書を参照しながら一緒に考えました。
Q5. (演習3-9に関して)記号の前後の空白を削除しようとしたがエラーが出てしまう。
A5. 英数字以外のメタ文字を正規表現で扱う際にはその前にバックスラッシュを入れることで、文字そのものとして使えるようになります。(教科書276ページ参照)
Q6. (演習4-2に関して)後方参照が上手くいかない
A6. 教科書に変数の使い方が載っていたので、参照しつつ違う点を指摘しました。
Q7. (演習3-9に関して)空白の行が消えない
A7. 空白の行のときにも改行文字をつけて表示するようにしていたため、空行のときは表示しないような工夫が必要です、とアドバイスしました。
回答者:1・2 栗山, 3~7 鈴木
****************************
はやいもので1月も半分を超えていました。
この調子であっという間に春がくれば暖かくていいんですけどねー
(文責:鈴木)
1月17日の業務報告
こんばんは、B2の栗山です。
寒い日が続いていますが、みなさん体調はいかがですか?
風邪を引かないように防寒対策をしっかりしましょう!
さて、本日の質問と回答です。
=============================
Q1. 演習3-8でメソッドを実行するところエラーが出る
A1. chompメソッドがnilを受け取っているためにエラーが出ていた。breakする条件文を入れるタイミングが間違っていたので、そこを指摘しました。
Q2. 演習3-8で実行結果にメソッドの処理が適用されない
A2. returnでの値の返し方を忘れていたようなので、一緒に確認しました。また正規表現の繰り返し記号を入れる位置が違っていたので、そこも指摘しました。
Q3. 演習3-9で、記号等の前後の空白を削除する方法が分からない。
A3. メタ文字を文字として扱う方法や繰り返しを表す記号について、テキストや教科書で確認してもらったところ,質問者の方が思いついてくれました。
Q4. 演習3-9で、記号等の前後の空白を削除できない。
A4. gsubメソッドで置換する文字列や記号が誤っていることを指摘しました。
Q5. 演習3-9で、実行すると記号の前後にある空白が削除されない部分がある。何が間違っているのでしょうか?
A5. 削除がされていない箇所の共通点は「△記号△(△は空白)」のように前後に空白がある文字列でした。正規表現は「△記号または記号△」というように記述していました。これでは上手くマッチングができないようだったので、別の表現の仕方を一緒に考えました。
(回答 Q1-Q2:北原、Q3-Q4:森川、Q5:栗山)
=============================
明日は月曜日課なので、間違えないように気をつけてくださいね。
(文責:栗山)
1月11日の業務報告
日付が前後してしまってすみません。
こんばんは、M1澤木です。
新年早々日誌書き忘れという重大なうっかりミスをしてしまっていました…。
昨日はプログラミング演習IIについての質問が7件ありました。
=====================================
Q1. 3-8が全く分からない
A1. p line.sub(/\s/, ”)
のように、String#subメソッドの行で、pメソッドを使っていたので、課題の出力を行うprintメソッドを書いている行以外でも文字列が出力されてしまっていました。そのことを指摘しました。
Q2. 3-8が全く分からない
A2. line.sub(/\s/, ”)
line.gsub(/\s+/, ”)
のように、各行での評価結果を変数に保存していませんでしたので、そのことを指摘しました。
Q3. 4-2がわからない
A3. sub!メソッドでの置き換え先が $4.to_i+12 になっているのがエラーの原因と考えられたので,subメソッドではない方法を使ってみては?と提案しました。
Q4. 3-9がわからない
A4. 各記号の前後に「^」「$」を入れていたのと,後ろの空白しか指定していなかったので,そのことを指摘しました。
Q5. 3-9がわからない
A5. 教科書のメタ文字の扱いの項を見せて,おそらくメタ文字の扱いが間違っているためにエラーが出ていることを指摘しました。
Q6. 3-9がわからない (Q5の続き)
A6. 前の指摘の内容を直しきっていなかったこと,変数の指定を間違えていることが原因と考えられたので,そのことを指摘しました。
Q7. 1-2がわからない
A7. if文での条件比較の際に,「if 2 < tensu < 4」のような書き方をしていたためにif文がうまく働かなくなっていました。if文での条件比較の仕組みがわかっていないようだったのでそれを説明しました。
(回答者:Q1-2 三津石, Q3-7 澤木)
=====================================
授業中にわからないところがあり,質問したいがなかなか質問できない…という人も多いかもしれません。
詰まってしまったら,なるべく早いうちに質問にきてみてください。
(文責:澤木)
1月12日の業務報告
こんばんは、B3の鈴木です。
今日は質問がありませんでした。
今週末はセンター試験ですね。
受験生でこのブログを見ている方がいるか分かりませんが、
落ち着いてベストを尽くせることを願っています。
(文責:鈴木)