第1回 前期の復習 レポート課題 氏名:田中井晶帆 学籍番号:C111104A 語学クラス:中国語3 コース:社会福祉コース 1.筆記問題 -- メールの使い方 ------------------------------------------------------ ・emacs上でEsc, x, mewと入力する → メール画面がでてくる ・w で新規作成 ・「gdraft」と入力する → 保存された書きかけのメール一覧が出てくる ここで「E」と押すとメールの続きを作成できる ・C-c, C-cでメールを送信する ・C-c, C-aでファイルを添付する -- ショートカットキーのいろいろ ---------------------------------------- ・C-1 → emacs ・C-2 → kterm ・C-3 → console ・C-4 → firefox の呼び出し ・C-x, C-f → ファイルオープン ・C-x, C-s → 保存 ・C-x, 5, 2 → emacsを1つ増やす ・C-y → 貼り付け -- 用語解説 ------------------------------------------------------------ ・while … 条件を満たしている間は計算する ・true … while文が正しければ ・print … 実行文(変数が含まれない文) ・printf … 実行文(変数を含む文) ・\n … 改行 ・\t … 適当な隙間を空ける ・%d … 整数値を表示させる ・%s … 文字列を表示させる ・%f … 小数値を表示させる ・gets … 入力したデータの取りこみ ・STDERR.print … print文などを実行したときに、エラーメッセージを表示す る。 ・chomp … 改行文字の有無を調べる。 ・if … 条件文(もし〜ならば) ・break … while文を抜ける ・to_i … 文字列 → 整数 ・to_f … 文字列 → 小数 ・to_s … 文字列(数値) → 文字列 ・else … ifに書かれた条件でなければ〜をせよ ・elsif … ifに書かれた条件でなく、もし〜ならば ・# … コメント文(#以降に書かれた文字はプログラムとして読みこまない。) ・Array.new … 新規に配列を作る際に使う ・\S+ … 文字列 ・\s+ … 空白文字列 ・\d+ … 数値の文字列 ・\d+\.\d … 小数点を含む数値の文字列 ・open … データを開く ・read … データを読みこむ ・write … データを書きこむ ・srand … 乱数を適当に取り出して並べる ・sleep … 指定された秒数を空けて実行する -- 機能 ---------------------------------------------------------- ・bc -l : 計算機の機能 -- プログラムを作る際に必要な文章 ------------------------------------- ・「#!/usr/koeki/bin/ruby」 → Rubyがどこにあるかを教える ・「#coding :euc-jp」 → プログラムが何語で書かれているかを教える -- プログラムを実行させる際に必要な文章 ------------------------------- ・「chmod +x プログラム名」 ・「./プログラム名」 2.プログラム問題 b プログラム名 life_stderr.rb 考えた設定 ・学年を入力すると、その年の期末テストや検定試験の受検計画が表示される プログラム。 ・月毎に、4月〜3月の順で表示されるようになっている。 作成したプログラム #!/usr/koeki/bin/ruby #coding: euc-jp print("2年次10月〜卒業までの計画です。\n") #print文の表示 while true #条件を満たしている間は 計算する print("検索したい学年(数字のみ)を入力して下さい: ") #print文 の表示 search = gets.chomp.to_i #入力されたデータの取り こみ printf("\n %d年次の計画\n", search) #print文の表示 if search == 2 #もし「2」と入力されたら print("\t11月 中国語検定4級\n") #print文の表示 print("\t12月 ITパスポート\n") #print文の表示 print("\t1月 2年後期期末テスト\n") #print文の表示 print("\t2月 漢字検定2級\n\n\n") #print文の表示 print("\nもう一度検索しますか? : ") #print文の表示 research = gets.chomp #入力されたデータの取り こみ if research == "yes" #もし「yes」と入力され たら else #「yes」以外の文字が入力 されたら print("\n目指せ!好成績 目指せ!資格取得\n") #print文の表示 break #while文を抜ける end #else文の終了 elsif search == 3 #「2」ではなく「3」が入 力されたら print("\t4月 基本情報技術者検定\n") #print文の表示 print("\t6月 中国語検定3級\n") #print文の表示 print("\t7月 3年前期期末テスト\n") #print文の表示 print("\t8月 ロシア短期留学?、実習(社福)\n") #print文の表示 print("\t1月 3年後期期末テスト\n\n\n") #print文の表示 print("\nもう一度検索しますか? : ") #print文の表示 research = gets.chomp #データの取りこみ if research == "yes" #もし「yes」と入力され たら else #「yes」以外の文字が入力 されたら print("\n目指せ!好成績 目指せ!資格取得\n")#print文の表示 break #while文を抜ける end #else文の終了 elsif search == 4 #「2」ではなく「4」が入 力されたら print("\t6月 4年前期期末テスト\n") #print文の表示 print("\t1月 社会福祉士国家試験\n\n\n") #print文の表示 print("\nもう一度検索しますか? : ") #print文の表示 research = gets.chomp #データの取りこみ if research == "yes" #もし「yes」と入力され たら else #それ以外の文字が入力さ れたら print("\n目指せ!好成績 目指せ!資格取得\n") #print文の表示 break #while文を抜ける end #elseの終了 else #それ以外の文字が入力さ れたら print("該当するものはありません。再入力して下さい。\n\n") #print文の表示 end #elseの終了 end #while文の終了 参考にしたプログラムと変更点 ・西村先生のHPに掲載されている、去年の先輩のプログラムを参考に作成した。 詳しくは参考文献に記載する。 ・変更点と言っても元にしたプログラムではなく、参考にしたプログラムのた め、大きく変えた点を述べる。大きく変えた部分は、検索後にもう一度検索 するかしないか、質問する部分を付け加えた点である。 プログラムを実行した結果画面 以下、検索する学年の入力を「質問1」、もう一度検索するか否かの入力を 「質問2」と記載する。 ---- 質問1 = "2" 質問2 = "yes" を入力 -------------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 2 2年次の計画 11月 中国語検定4級 12月 ITパスポート 1月 2年後期期末テスト 2月 漢字検定2級 もう一度検索しますか? : yes 検索したい学年(数字のみ)を入力して下さい: ---- 質問1 = "2" 質問2 = "no" を入力 --------------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 2 2年次の計画 11月 中国語検定4級 12月 ITパスポート 1月 2年後期期末テスト 2月 漢字検定2級 もう一度検索しますか? : no 目指せ!好成績 目指せ!資格取得 ---- 質問1 = "2" 質問2 = 選択肢以外 を入力 --------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 2 2年次の計画 11月 中国語検定4級 12月 ITパスポート 1月 2年後期期末テスト 2月 漢字検定2級 もう一度検索しますか? : a 目指せ!好成績 目指せ!資格取得 ---- 質問1 = "3" 質問2 "yes" を入力 ---------------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 3 3年次の計画 4月 基本情報技術者検定 6月 中国語検定3級 7月 3年前期期末テスト 8月 ロシア短期留学?、実習(社福) 1月 3年後期期末テスト もう一度検索しますか? : yes 検索したい学年(数字のみ)を入力して下さい: ---- 質問1 = "3" 質問2 = "no" を入力 --------------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 3 3年次の計画 4月 基本情報技術者検定 6月 中国語検定3級 7月 3年前期期末テスト 8月 ロシア短期留学?、実習(社福) 1月 3年後期期末テスト もう一度検索しますか? : no 目指せ!好成績 目指せ!資格取得 ---- 質問1 = "3" 質問2 = 選択肢以外を入力 ---------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 3 3年次の計画 4月 基本情報技術者検定 6月 中国語検定3級 7月 3年前期期末テスト 8月 ロシア短期留学?、実習(社福) 1月 3年後期期末テスト もう一度検索しますか? : a 目指せ!好成績 目指せ!資格取得 ---- 質問1 = "4" 質問2 = "yes" を入力 -------------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 4 4年次の計画 6月 4年前期期末テスト 1月 社会福祉士国家試験 もう一度検索しますか? : yes 検索したい学年(数字のみ)を入力して下さい: ---- 質問1 = "4" 質問2 = "no" を入力 -------------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 4 4年次の計画 6月 4年前期期末テスト 1月 社会福祉士国家試験 もう一度検索しますか? : no 目指せ!好成績 目指せ!資格取得 ---- 質問1 = "4" 質問2 = 選択肢以外 を入力 --------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 4 4年次の計画 6月 4年前期期末テスト 1月 社会福祉士国家試験 もう一度検索しますか? : a 目指せ!好成績 目指せ!資格取得 ---- 質問1 = 2〜4以外 を入力 ----------------------------------------- 2年次10月〜卒業までの計画です。 検索したい学年(数字のみ)を入力して下さい: 1 1年次の計画 該当するものはありません。再入力して下さい。 検索したい学年(数字のみ)を入力して下さい: 導き出された結果の考察 ・質問1で入力した数字が検索したい学年の数字となるが、それと検索結果(そ の年の計画)が正しく表示されている。 ・質問2で"yes"と入力するともう一度検索でき、その他の文字を入力するとプ ログラムを終了している。 ・質問1で誤った入力をすると、再入力のメッセージが表示されている。 ↓↓ 以上の点から、このプログラムは正常に作動していると言える。 3.感想 前期で学んだことの半分以上は忘れていたように思う。しかし授業や課題のプ ログラムを作っている間に、だんだん思い出すことが出来た。特に復習したと ころは条件文のところで、参考文献にも記したように西村先生の授業ようHPを 参考に復習した。 4.参考文献など 参考文献 2011年度基礎プログラミング2 講義ノート 『第1回「前期の復習」 レポート 講評』 よかったレポート 西村まどか http://http://roy/~madoka/2011/r2/01/rpt/c110064r.txtroy/~madoka/2011/r2/01/rpt/c110064r.txt 2012年度基礎プログラミング1 『第2回(Rubyの基礎/計算が終わったら止まる 問題)「計算機に計算させるには」講義ノート目次』 繰り返しの計算に必要な 実行文 西村まどか http://rohttp://roy/~madoka/2012/r1/02/r1_02_08_theme_06_printf.htmly/~madoka/2012/r1/02/r1_02_08_theme_06_printf.html 2012年度基礎プログラミング1 『第3回 (キーボードから入力して計算させるに は)「文字の取り込まれかた」』 講義ノート目次 西村まどか http://roy/~madoka/2012/r1/03/r1_03_04_theme_02_chomp.html 2012年度プログラミング1 『第9回(Rubyであそぼ/広告ページの作成)「じゃんけ ん」講義ノート目次』 西村まどか http://roy/~madoka/2012/r1/09/r1_09_03_theme_01_rsp.html 2012年度基礎プログラミング1『第9回(Rubyであそぼ\広告ページの作成)「少 し間を空ける」講義ノート目次』 西村まどか http://roy/~madoka/2012/r1/09/r1_09_09_theme_06_sleep.html 共同学習者 : 藤川恒介