第4回基礎プログラミングII レポート課題 氏名:久保田 瑛一郎 学籍番号:c109058 語学クラス:英語1 コース:社会福祉 1 筆記問題 ●「何も考えず他人のレポートを丸写しする学生」とかけまして「ものすごい味 の薄い味噌汁」と解きます その心は? もっと(脳)「ミソ」を使いましょう ●「自宅の鍵を無くした人」とかけまして「ハッシュで用いるもの」と解きます そのこころは? どちらもKeyが重要です ●すこし雑誌名が入るので用いて良いか解らないが… 写真の撮影方法解きまして、無防備でデートをする芸能人と解きます その心は どちらもフラッシュに注意しましょう ●パソコンを乱暴にあつかう人と解きまして、コンビニの店員と解きます その心は 「ディスプレイ」にも気を配りましょう ●無人島生活と解きまして、生放送の放送が押していてあせっているディレクター と解きます どちらもこの先「薪」(巻き)が重要です B 値段を パソコン=300000 スキャナ=20000 プリンター=13000 とする ある学校でパソコンを2台、スキャナを1台、プリンタを3台購入した bc ーlで試算する pan{c109058}% bc -l [~/Ruby] 300000*2 600000 13000*3 39000 20000*1 20000 20000+600000+39000 659000 quit プログラム問題 A問題 a考えた設定 家電量販店でのスキャナーとパソコンの購入台数から合計金額を求めるプログラ ムdef_twoparam.rbを作成した b元にしたプログラム defの意味がイマイチ授業中だけでは理解できなかったため後に明記する去年の 良かったレポートにあった考え方を理解し、作成した。このとき理解したもの を自分の言葉で説明できるようにしてある。プログラム中の「#」でも十分解説 はしてあるが、もっと簡単で、分かりやすい解説は考察で行なうこととする。 c作成したプログラム #!/usr/koeki/bin/ruby #インタプリタ宣言文 def pc(kosuu) #以下の pcの計算「方法」(プロセス)を定義する。そのときkosuuという後で実際に購入個数を聞き、それをいれておくところも教えておく(定義する) 800000*kosuu #値段とkosuuをかけると言うことを教える end #defのおわり def scanner(kosuu_scan) #以下の scannerの計算「方法」(プロセス)を定義する。そのときkosuu_scanという後で実際に購入個数を聞き、それをいれておくところも教えておく(定義する) 20000*kosuu_scan-1500 #値段とkosuuをかけ、そこから1500円値引すると言うことを教える end #Defのおわり STDERR.print("パソコンはいくつ購入しますか??:") #パソコンの購入代数を聞く kosuu=gets.chomp.to_i #それを10進数と見なし改行文字を取り、取り込む STDERR.print("スキャナーはいくつ購入しますか??:") #スキャナーの購入代数を聞く kosuu_scan=gets.chomp.to_i #それを10進数と見なし改行文字を取り、取り込む printf("パソコンの購入金額は%d円です\n",pc(kosuu)) #結果表示 printf("スキャナーの購入金額は%d円です\n",scanner(kosuu_scan)) #結果表示 total =pc(kosuu)+scanner(kosuu_scan) #2つの商品の合計金額を求める printf("お買いあげ合計金額は%d円です\n",total) #結果表示 d実行結果 bc ーlで試算する pan{c109058}% bc -l [~/Ruby] 800000*2 1600000 20000*3 60000 60000-1500 58500 1600000+58500 1658500 quit よってこのプログラムは正しい すこし難しい内容だと感じたので、メソットと言うのを一つの計算工場とたとえ て考える。 計算工場(メソット) ↓ PCを作ると言うだけではなくいくらで作るということを計画する=自動車生産だっ たら何の原材料を使い、人は何人で生産するというプロセスの計画=defの定義 ↓ その結果何の車が出来たのかを報告する→kuruma(x)などの計算結果の表示 ハッシュとメソットの違いについて感じたことをまとめる ハッシュ=PCは200000円だという結果を覚える メソット=PCがなぜ200000円になったかということを覚える=プロセスを覚える =1000円の値引があるからなど B問題 a考えた設定 物語風に作成した、或る日ルビ緒は何でもものを売り付ける八百屋の主人に色々 売りつけられ… def_onepram.rb b元にしたプログラム A問題を作成したことで、だいたいの流れがつかめ、A問題で示した良かったレポー トを少しだけ参照した程度である c 作成したプログラム #!/usr/koeki/bin/ruby #インタプリタ宣言文 def yasai(kounyuu) #以下のyasaiの計算「方法」(プロセス)を定義する 730*kounyuu+500*2-100 #計算方法、マイナスは値引きである end #defのおわり STDERR.print("ルビ緒!!いちごを必ず買え!! 何個買う?:") #購入する個数を教える kounyuu=gets.chomp.to_i #ここで入力した値をkounyuuに取り込み、改行文字を取り、10進数と見なす print("ルビ緒!!人参を2個買えよ!!\n") #おまけの表示 printf("ふっふっふ!合計は%d円だ!!\n",yasai(kounyuu)) #合計を表示する d実行結果 pan{c109058}% ./def_onepram.rb [~/Ruby] ルビ緒!!いちごを必ず買え!! 何個買う?:17 ルビ緒!!人参を2個買えよ!! ふっふっふ!合計は13310円だ!! e考察 bc ーlで試算する pan{c109058}% bc -l [~/Ruby] 730*17 12410 500*2 1000 12410+1000 13410 13410-100 13310 quit よって試算により、このプログラムの正確性が示された 感想 簿記をやっていて、検定も受けましたが、グラフを作った経験はありません。 しかしこの仕組みが分かれば論理的志向は向上するだろう。 今回は「関数」が授業中に出てきてパニックになって(数学だけは中学からどう してーーーも理解できず)、大変だった。 よって、レポート作成時も先輩のレポートに頼ってしまったができるだけ分から ないながらも「自分の言葉で」#以降で解説した 尚今回はPC(a)のようにaという文字を用いると私自身が分からなくなるので (kounyuu)のようなものを用いた。 共同学習者:青木 千紗、小松 由里、横山 広樹 協力してもらったTA:工藤 智也先輩 (相談役) 参考文献 西村まどか 2009講義ノート第4回 良かったレポート その1 http://roy.e.koeki-u.ac.jp/~madoka/2009/r2/04/rpt/c108129.txt