課題kadai8の感想とコメント


<感想> SAの助けもあって、早めに終わりました。 最近は最終レポートが気がかりです。
最終レポートは来週発表します。
今回はソースファイルを打ち込まなくてよかったので、ストレスが少なかった。 講義で伝えたい本質的な部分に、時間を割けるので今後も続けて欲しいです。 スタックとキューは聞いたことしかなかったが、意味がすっきりした。
ですが、答えもアップしてしまいました。(笑)
感想 なんだか難しくなってきましたね。理解するのでいっぱいいっぱいです。まあ、これからも頑張ってついていこうとは思ってます。
まだまだ難しくなります。ですが、なるべくわかりやすいように講義したいと思ってます。がんばりましょう!
感想:今回やったスタックというのは実際あまり興味は湧きませんでした。   でも必要になるときもあると思いました。
そうでしたか。私なんか、めちゃくちゃ使うんですけどね。
---<感想>------------------------------------------- 今回の課題は、プログラムはもちろんなのだが、それにもまして、発展課題1の身近なスタック、キューの例を探すのが難しかった頭をひねりにひねったがそれでも中々難しく非常に苦しいものになってしまったことをご容赦いただきたい。
みんなそうでした。だけど、面白い例もありました。
Jビルダーの使い方がまだ良く分かりません。設定のところです。新しいパッケージを作ったら動かなくなりました。 もし、パスの設定などの初期設定が分かるお勧めのページなどがありましたら、お教えいただけないでしょうか?
講義ページに書いてあるものでは不十分ですか?
そこのところは、ちょっとクセがあるので、 SAに聞いてみましょう!
[感想] JAVA文法に慣れていないので、発展問題2はかなり大変でした。発展問題3はチャレンジしたのですが、完成する前に時間がなくなってしまいました。
発展問題3は、そんなに、みんなやるとは思いませんでした、、やるとしても、1人か2人かなーと。ですが、結構みんながんばってやってくれてるみたいです。結構骨がおれるでしょう?
:課題自体はそこまで難しくないけどそれ以外の部分が 2回くらい前から難しくなって大変です。どこが分から ない かと言われても自分でもどこが分からないのか すら分からない感じです。
何処がわからないかを見つけるのは自分の仕事です。何処がわからないかを探すことができたら、解決したも同然です。プログラムのバグを見つけるのと一緒です。
「算術式のパース」っていう課題の言いたいことはなんとなくわかるんですが、「パース」ってどういう意味なんですか?
「解析」という意味です。3 + 5 って、ただの文字列ですよね。それを意味のあるように「解析」するわけです。
<感想> 算術式をパースするプログラムを教科書をみたりして考えたけどわからなくてできなかった。あと、キューのプログラムで、どうやって配列がいっぱいになっていることを判別するかがよくわからなかった。 キューは並んでまっているものを考えればすぐに浮かんだが、スタックは思いつかなかった。
そうですね。身近にあるスタックって結構難しいです。
<感想>  しだいにややこしくなってきました。  勉強不足ですかねえ。
課題がしっかりできていれば大丈夫でしょう。
<感想>さすがに発展課題はJAVAの前提知識がないと苦しいです。挿入しすぎた場合にどうなるか、これはわからなくて残念です。できれば、基礎となる必修課題の方をもう少し難して、応用力となる発展課題のほうこそスケルトンを作ってもらえると嬉しいです。今回も評価のほど、よろしくおねがいします。
発展問題2までは、これまでの授業を総結集すればできます。発展問題3は教科書を参考にしてください。
あまりエラーが出すぎるのもどうかと思うので、発展課題?も実装してみました。あまりエレガントとはいえませんが無難な実装かと思います。講評お願いします。
一番プリミティブな解決方法で、いいですね。プログラムはシンプルイズベストです。
おつかれさまです。
こちらこそ。
さきほど必修課題をやりましたが、応用課題3も出来たので追加提出します。スタッククラスを使って実装しました。結構簡単でした。ただINT型しかあつかえません。出力結果もおなじです。ファイルは添付します。コマンドラインから $ java Keisan 12+3*4- とやると結果が出力されます。
すばらしいです。二桁の数字が使えないのは、仕方ないですね。(笑)
だんだんわからなくなってきました。というか、ついて行けていません。先生は授業中「誰かわからない人居ますか?」とおっしゃいますが、手を挙げにくいです。とても困っています…。

そうですね。ではSAに聞いてみましょう。
あと、授業では、プリントは一切見ずに話しを聞くのがコツです。

なぜキューで使う配列が一サイズ大きくなるかわかりにくい
この授業は「教えてもらう」のではなく、「考えるヒントをもらう」授業です。考えてみてください。きっとわかるはずです。
ふひ?。がんばりました。
おつかれさまです。
スタック、キューの例が思いつかなく、時間がかかりました。
みんながんばってましたね。結構探すとあるものですよ。
スタックとキューという概念が理解できました。
おつかれさまです。実装もできるようになるとベター。
スタックとキューを考えるのに苦労しました(本題からはずれている・・・)。やっぱりキーボードに反応してプログラムが動くと楽しいですね。
そうですね。第11回からは、ボタンなども出てきます。
ダウンロードした骨組みが、じつは完成したプログラムなので仕組みを理解するのに時間を費やしました。
ごめんなさいです。。
感想  考えたところは、商品もしくはお金を挿入する際、ArrayMax分全てに商品、お金が入っている 場合の処理です。普通にやっていると、Stackのほうはエラーがでて、Queueのほうは商品がどん どん上書きされてしまうので、それを防ぎました。しかしQueueの方で最後まで残った問題として 商品を限界まで入れていくと、addCursolとdisplayCursolが一致するときがあります。このとき Queueを表示する際に、今の条件のままだと、商品が入っていても何も表示されない事になってし まいます。これに関して施行錯誤しましたが、解決できませんでした。
そうですね。いろいろな解決方法があると思いますが、Queueには、限界まで入れないという方針がいいのではないですか?
感想ダウンロードしたソースは、きちんと動いたの一切手を加えていません。これでいいのでしょうか?
スタックがまちがっているでしょう!
感想プログラムはアイディア次第でどんどん効率的に書けるのだと思った。賢いアルゴリズムを学ぶ&考えることが、きれいなプログラムを書くためにどうしても必要だと感じた。
そうですね。限界はありますけどね。少なくともソフトウエアは人間が使うものですから、使えなければいけません。
感想 削除と追加カーソルを別々に持ち,シフトせずスタックと同じオーダーでできる円環キューに驚いた.
結構おもしろいでしょう?
感想:今回はLANが繋がらなかったため他の教室に移動したら集中してできた。発展問題を?のみやりましたが、少しおかしいものになっているかもしれません。考えは間違えていないとは思うのですが、、、これでよいのでしょうか?
そうですね。ですが、これもスタックの出力が逆じゃないですか?
感想:発展問題を全部挑戦する余裕がなかった。時間を見つけて挑戦したい。
是非挑戦してください。
感想:  いよいよ話がややこしくなってきましたね。。発展問題2までがんばってはみましたが。。
発展問題2までできれば、すばらしいです。
感想: 自分ではとうてい組み立てられないプログラムに    なってきました。もっとじっくり勉強しないと 
自分で組み立てられるようになりましょう!時間がかかってもいいですので。
感想:(質問)発展問題?って、要するに中置記法を後置記法に変換するプログラムを作るっていうことですか?後で作って提出してもいいですか?
かまいません。できたら、提出してください。
感想:今回のはあまり変えるところもなく簡単だった。   結構早く終わったので、発展課題?をしましたが   よくわかりませんでした。
答えが書いてあるからといって、安心せず、きっちり理解してくださいね。そうしないと来週大変です。
感想:算術式のパースのところの計算で2桁の値を扱いたいときはどうするんですか?ちょっときになりました。
コンパイラの勉強をするとわかります。字句解析で一字先読みをして、、、(続く)
感想:消してまた作り直すのが非常に大変でした。また同じような失敗はしないように心がけていただくと幸いです。
了解しました。
感想:任意に入力した文字列がプログラムに認識され   多少なりともインタラクティブなやり取りが実現   すると格段に楽しくなった感があります。
そうですね。ですが、来週はまた元に戻ります、、、
発展課題2もやりました。 このときに「main」と名前に付くファイルも少し弄って帳尻あわせをしたのですが、以下の2ファイルのみ提出ということなので示していません。いちおう、現状では(私のマシンにあるもの)ではプリントに書いてあった不具合は解消されています。
了解しました。その方針でもかまいません。
後置記法の考え方が、とてもおもしろかった。    今回は発展課題にまで手をつける余裕があってよかった。    インタラクティブなプログラムで、実行していて楽しかった。
後置記法の考え方面白かったですか、、私(TA)は、いまいちインパクトにかけるのですけれどね。
考察----------------------------------------------------------------------------------------------------------------------------------------------------------  新しいものが後に出て行くキューは、何か物を売る時や、平等性が重視される状況(行列とか)の場合に使うべきであろう。そして新しいものから出て行くスタックは、例えばパソコンの”やり直し”機能など、単純な作業を繰り返す場合に有効であろう。 現在は行列などから、キューの考え方が当然だと思いがちだが、スタックのほうが能率がいい状況も日常にはあるだろうから、有効に使えると便利である。
そうですね。入れ子構造の解析などにスタックは役立ちます。
考察:実際の自動販売機は、お金の投入、商品の投入ボタンを押すなどこちら側から一方的に行い商品が出るときだけ機械側から行われる感があるが、こうしてプログラムにすると実際は、これらを全て判断しているさまがよくわかる。 本来は正規のお金以外のものが投入されると、返される仕組みなのでまだお金を投入している感がない。そこを実装したいと思う。
そうですね。だんだん実装していきましょう。
今回、最初はプログラミングも自分で打つつもりでした。しかしいざ作成してみると、キューとスタックをどのようにして組み込めばよいのかを考からず、配布された資料がなければどうしようも無かった気がします。正直個々に習慣ほど、課題は何とかできますが、身についていないような気がします。より多い教材の活用や、もっと細かい課題を増やしてもらえると授業で学んだことが身につくようになるのではないでしょうか?また、出来るならば今までやってきたことを(教科書だったら何ページにあたるのかをきちんと表示)、一度ひっくるめて行なう中間課題があればよかったような気がしてならない。
そうですね。自主的にやってくれることを期待してます。
今回のは、概念の理解が難しかったです。発展問題は時間が間に合いませんでした。もしできたら、追加で送ってもいいですか?
かまいません。とりあえず、何処までできて何処までできないかを時間内に送ってくれれば、追加OKです。
今回の課題は前回に比べれば簡単にできました。しかし、私には非常に難しく、今回も理解するまでに時間がかかりました。 毎回、毎回、課題が難しくなっていくように思います。これから、ついていけるのかが、不安です。 しかし、これからも頑張って毎週、がんばります。
その意気込みが重要ですね。がんばる人には、最大限のお手伝いをしてあげたいです。
今回はweb上のプログラムをコンパイルして実行するだけだったので楽だったがその分自分で書いたわけではないのでプログラムを理解するのに時間がかかった。
そうですね。申し訳ありませんでした。
今回はスタックとキューを学んだわけですが、何かいろいろなことで応用が利きそうである。いろいろなプログラムで、効率化が図れそうである。あと、答えをアップしてしまったのはどうかと思います。
そうですね。申し訳ありませんでした。だけど、こちらもしたくて下わけではありません。(言い訳)
思ったより、難しかったです。
pptではなるべく簡単にわかるように、見せてます。
徐々に難しくなってきてあせってます。    課題では、6個以上商品を入れると    6個目を入れた段階でリセットされて    要素が一となるとか、商品が何もはいって    無い状態からUndoするとバグがでたりと    完璧ではないのですが、提出します。
了解しました。問題点は、はっきりしているようですから、その解決策のロジックを考えましょう。それを一つ一つすると、完璧になるはずです。
商品が満杯かどうか配列を調べる方法がよくわからずfor文で調べるようにしてしまいました。これだと、配列のサイズが大きくなるとその分重くなってしまうので、よくないですよね。どうすればよいのでしょう。
そうですね。よくないですね。変数を一つ用意してはいかが?
商品キューとお金のスタックでは、キューでの配列満タン時の補充不可と配列が空のときの取り出し不可の判定でちょっと考えさせられました。 算術パーサは、時間がかかりました。考察の反省にも書いたように、要素をStringとして扱ったので、型変換が多くなってややこしくなった感があります。 "演算子"と"数値"はクラス化して、実際の値の型を気にしないでいいようなものにすれば良かったかも。あとmainが長くなってしまったのでこれももう少し構造化しておけば良かったかもしれない。
そうですね。mainが長くなるのは失敗ですね。きちっと構造化すると、プログラムの完成も早くなるはずですよ。
以下に課題を送ります.しかし、私は一旦スケルトンを見て、それからこれが完成品だった事に気付きました。それで、今回はソースとコメントを見て、それに関して質問をさせてもらうという形を取ります。
了解です。上記コメントを見ればわかるように、完成品でした。申し訳ありません。
中置記法を変換するプログラムを作るのに必要な Classを思い出すのがかなり大変でした。結局かなり美しくない方法で実現してます。(String型をわざわざchar型にするなんてそうそうない、Cならもっと早くかけたと思う)
本質がわかってればいいです。Javaに関しては教科書をよんでみましょう。
発展課題2までやりました。
お疲れ様でした。