- 追加された行はこの色です。
- 削除された行はこの色です。
#freeze
SIZE(20){プログラミング演習Iのページ}
このページは,プログラミング演習Iのページです.&br;
-担当者(問い合わせの場合は、2名両方にメールを出してください)
-- 松村敦 ([[Webページ:http://www.slis.tsukuba.ac.jp/~matsumur/]], Email: matsumura.atsushi.ga あっと u.tsukuba.ac.jp)
--- 研究室: 研究棟 2F 212
-- 時井真紀 (Email: tokii.maki.ga あっと u.tsukuba.ac.jp)
--- 研究室: 研究棟 2F 203
----
#contents
----
* Crowd4U [#d78a3f24]
本ページは[[Crowd4U:http://crowd4u.org]]に協力しています.
µtaskbutton(http://klis.tsukuba.ac.jp/klib/index.php?ProgI%2F%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B1%E9%BD%ACI){マイクロタスクをやる!};(現在IEには非対応)
*お知らせ [#vbfd88b7]
お知らせです.クラス毎のお知らせの場合は,[木][金]で区別します.何もなければ全体向けです.
- COLOR(RED){レポート課題の訂正,補足は適宜掲載されますので,webをよく確認していてください} <[[レポート>#report]]> (2016-11-2)
- レポート課題掲載 <[[レポート>#report]]> (2016-10-27)
- 第9回テキスト掲載 <[[テキスト>#text]]> (2016-10-19)
- 第8回は第8回テキスト下に掲載したプリントもチェック時に使用します.印刷しておいてください.
- 第7回演習までに第6回テキストの表1をうめておいてください.この表だけをみることができる小テストを実施します.(2016-10-07)
- 第8回テキスト掲載 <[[テキスト>#text]]> (2016-10-05)
- 第7回テキスト掲載 <[[テキスト>#text]]> (2016-10-04)
- 夏休みの自由課題掲載 <[[夏休みの自由課題>#summer]]> (2016-08-02)
- 第6回テキスト掲載 <[[テキスト>#text]]> (2016-08-02)
- 宿題掲載<[[テキスト>#text]]> (2016-07-16)
-- 手書きで穴埋めしてください.プリントは両面印刷でも片面印刷でもよい.片面の場合はきちんと綴じること.
-- 7/27(水)17:00までに学務レポートBOXに提出してください.
- 第5回テキストアップ <[[テキスト>#text]]> (2016-06-27)
- 第1,2回,第3回,第4回のテキストアップ(2013.06.23)
-- テキストは必ず授業スタートまでには印刷しておいてください。
-- 実行結果や調べたことは必ずテキストにメモしてください。チェック時に確認します。
- 【重要】第1回目までにやること (2016-04-28)
- レポート提出者リストを公開しました <[[レポート>#report]]> (2018-11-12)
-- COLOR(RED){各自で必ずチェック!}
- レポート課題を掲載しました <[[レポート>#report]]>(2018-10-24)
- 第9回テキスト公開 <[[テキスト>#text]]>(2018-10-05)
- 夏休みの自由課題公開 <[[夏休みの自由課題>#summer]]>(2018-08-01)
//- レポート課題10/26修正版を掲載しました(2017-10-26)
//- レポート課題を掲載しました(2017-10-26)
//-第8回は第8回テキスト下に掲載したプリントもチェック時に使用します.印刷しておいてください.(2017-10-12)
//-第7回演習までに第6回テキストの表1をうめておいてください.この表だけをみることができる小テストを実施します.(2017-10-06)
//- 夏休みの自由課題公開 <[[夏休みの自由課題>#summer]]>(2017-08-02)
- 第6,7,8回テキスト公開 <[[テキスト>#text]]>(2018-08-01)
- 第4回までの宿題,第4回のチェック項目ヒントを掲載 <[[テキスト>#text]]>(2018-07-19)
-【重要】第1回目までにやること (2018-06-21)
-- 教科書「[[たのしいRuby第5版:http://www.amazon.co.jp/dp/4797386290/]]」を買う <[[演習支援情報>#support]]>
-- 2つの予習テキストを受講前に試しておく <[[テキスト>#text]]>
-- 「&ref(check0.pdf,left,第1回目までの宿題);」をやる.第1回授業時に提出してもらいます <[[テキスト>#text]]>
-- 第1回のテキストの予習をする <[[テキスト>#text]]>
- 2016年度プログラミング演習のページスタート (2016-04-28)
-- &ref(2018_prog0.pdf,left,予習テキスト);を受講前に試しておく <[[テキスト>#text]]>
-- &ref(2018check0.pdf,left,第1回目までの宿題);をやる.第1回授業時に提出してもらいます <[[テキスト>#text]]>
-- &ref(2018_en1.pdf,left,第1,2回テキスト);の予習をする <[[テキスト>#text]]>
//- SIZE(30){COLOR(RED){レポート提出状況公開}} (2014-11-10)
//-- SIZE(30){各自確認すること!}
//- 未チェック項目がないか確認してください。
//- COLOR(RED){第2回レポート課題1用入力データを掲載しました。} (2014-10-23)
//-- 入力データの掲載に伴って,課題1の条件を1つ追加しました.
//- COLOR(RED){第2回レポート課題を改訂しました。} (2014-10-17)
//-- 問題の一部にミスがありました.かならずCOLOR(RED){改訂版}とある方を使ってください.
//- 第2回レポート課題を公開しました。 (2014-10-16)
//- 第1回レポート課題を掲載しました(2014-07-30)
//- 金曜日クラス(7/11)は、台風による筑波大学キャンパス休講のため、休講です。
//-- 金曜日クラス第2回は、7/18となります。春C間に5回演習をおこなうため、春Cの予備日となっている8/8(金)も演習を行います。
//- 予習テキストを公開しています.<[[テキスト>#text]]>
//-- COLOR(RED){第1回の演習前に一通り試してみること}
//- COLOR(RED){SIZE(30){第2回レポート課題の提出状況を公開しました}} <[[レポート>#report]] (2013-11-08)
//-- アクセスできない状況を修正しました(2013-11-10)
//- 第2回レポート課題の補足 <[[レポート>#report]]> (2013-10-23)
//- 第2回レポート課題を公開しました (2013-10-17)
//- 第1回レポート提出者リストを公開しました(2013-10-02)
//- 第6回~9回テキスト公開 (2013-09-02)
//- 第1回レポートを掲載しました。 (2013-07-31)
//- 第6回の1時間目にテスト(持ち込み不可)を実施します。
//--(木曜日クラス 10/3, 金曜日クラス 10/4)
//- 第5回テキストまで公開しました。予習をするようにしてください。
//-- チェック項目以外の問題も必ず行ってください。
//- 第1回授業スタートまでに、「第1,2回テキスト」「補足資料1:Meadowについて」「補足資料2:Rubyプログラムへの準備」を印刷しておいてください。(2013.07.04)
* お知らせ(演習以外) [#other_announce]
- 卒業研究中間発表会
-- 10月12日(水)
-- 誰でも参加可能です.是非見学を.
--- [[知識科学主専攻:http://klis.tsukuba.ac.jp/knowledge/index.php?lprogram20161012]] 9:15-9:27 7A203,9:30-15:30 7A208
--- [[知識情報システム主専攻:http://klis.tsukuba.ac.jp/system/local-only/Program161012.pdf]] 9:30-16:30 ユニオン講義室
--- [[情報資源経営主専攻:http://klis.tsukuba.ac.jp/management/index.php?program20161012]] 9:30〜16:38 7A202, 7A210
//- COLOR(RED){卒業研究中間発表会}
//-- 10月11(水)
//-- 誰でも参加可能です.是非見学を.
//--- [[知識科学主専攻:http://klis.tsukuba.ac.jp/knowledge/index.php?lprogram20171011]] 9:30-15:30 7A208
//--- [[知識情報システム主専攻:http://klis.tsukuba.ac.jp/system/local-only/Program171011.pdf]] 9:30-17:00 ユニオン講義室
//--- [[情報資源経営主専攻:http://klis.tsukuba.ac.jp/management/index.php?program20171011]] 9:50〜16:48 7A202, 7A210
//- 知識情報システム主専攻オープンラボ
//-- だれでも参加可能ですので,是非見にきてください.
//-- http://www.slis.tsukuba.ac.jp/system/
*日程 [#schedule]
|回|木曜日|金曜日|位置付け|内容(予定)|教科書との関連など|その他|
|1|7/7|7/8| 導入| 全体像,Meadow, print,代入,算術演算,gets, i=i+1, sum=sum+a[i] 様々なプログラム(Ruby/Tk, Ruby/SDL, CGI)|1章,10章 | |
|2|7/14|7/15|~|~|~|~|
|3|7/21|7/22|基礎|オブジェクト,変数,配列,ハッシュ,型変換|2,4,10章 | |
|4|7/28|7/29|基礎|条件判定,繰り返し |5,6章| |
|5|8/4|8/5|基礎|紙で考える&言葉でプログラム&ファイルの扱い| | |
|6|10/6|10/7|基礎 |(COLOR(RED){(テストも実施)}、文字列+復習 | | |
|7|10/13|10/14|基礎 |メソッド | | |
|8|10/20|10/21|基礎|メソッド | | |
|9|10/27|10/28|基礎 |復習| | |
|10|11/10|11/2|基礎|総合演習 | | |
|1|7/5|7/6| 導入| 全体像,print,代入,算術演算,gets, i=i+1, sum=sum+a[i] 様々なプログラム(CGI)|1章,10章 | |
|2|7/12|7/13|~|~|~|~|
|3|7/19|7/20|基礎|オブジェクト,変数,配列,ハッシュ,型変換|2,4,10章 | |
|4|7/26|7/27|基礎|条件判定,繰り返し |5,6章| |
|5|8/2|8/3|基礎|紙で考える&言葉でプログラム&ファイルの扱い| | |
|6|10/4|10/5|基礎 |(COLOR(RED){(テストも実施)}、文字列+復習 | | |
|7|10/11|10/12|基礎 |メソッド | | |
|8|10/18|10/19|基礎|メソッド | | |
|9|10/25|10/26|基礎 |復習| | |
|10|11/1|10/31|基礎|総合演習 | | |
//|回|木曜日|金曜日|位置付け|内容(予定)|教科書との関連など|その他|
//|1| 7/4 | 7/5 | 導入| 全体像,Meadow, print,代入,算術演算,gets, i=i+1, sum=sum+a[i] 様々なプログラム(Ruby/Tk, Ruby/SDL, CGI)|1章,10章 | |
//|1| 7/4 | 7/5 | 導入| 全体像,Meadow, print,代入,算術演算,gets, i=i+1, sum=sum+a[i] 様々なプログラム(CGI)|1章,10章 | |
//|2| 7/11 | 7/12 |~|~|~|~|
//|3| 7/18 | 7/19 |基礎|オブジェクト,変数,配列,ハッシュ,型変換|2,4,10章 | |
//|4| 7/25 | 7/26 |基礎|条件判定,繰り返し |5,6章| |
//|5| 8/1| 8/2 |基礎|復習(配列,ハッシュ,条件判定,繰り返し)| | |
//|6| 10/3| 10/4 |基礎 | (COLOR(RED){(テストも実施)}、紙で考える&言葉でプログラム&ファイルの扱い | | |
//|7| 10/10| 10/11 |基礎 |メソッド | | |
//|8| 10/24| 10/18 |基礎|メソッド | | |
//|9| 10/31| 10/25 |基礎 |文字列+復習 | | |
//|10| 11/7| 11/1 |基礎|総合演習 | | |
**全学計算機システム停止等の情報 [#c7c01013]
-詳細は[[春日サテライトニュース:http://www.slis.tsukuba.ac.jp/ipc/news/]]をご覧ください.
*道具箱 [#toolbox]
- SIZE(20){Meadowのフォントがかわってしまった}
-- [Shift]キーとマウスの左ボタンを押すと、メニューが表示されます。そこでデフォルトを選択してください
//- SIZE(20){Meadowのフォントがかわってしまった}
//-- [Shift]キーとマウスの左ボタンを押すと、メニューが表示されます。そこでデフォルトを選択してください
-[[プログラムに行番号をつけるCGI:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/progI/nl.html]]
-- 提出用のプログラムに行番号をつけるプログラムです.
-[[プログラムに行番号をつけるCGI:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/progI/nl2.html]]
-- 提出用のプログラムに行番号をつけるプログラムです.(学籍No,名前も出力)
-[[コマンドプロンプトで日本語入力を行う:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/toolbox/cmd.html]]
-[[実行結果をファイルに保存する方法:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/toolbox/file.html]]
-[[プログラミング演習版 Ruby コーディング規約:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/toolbox/kiyaku.html]]
* プログラムと実行結果を見比べてみよう [#g659e53f]
-- [[print:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/print0/temp.html]],
[[printと代入:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/print1/temp.html]],
[[printと代入:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/print/temp.html]],
--[[配列:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/array/temp.html]],
[[ハッシュ:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/hash0/temp.html]]
--[[if:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/if/temp.html]],
[[繰り返し:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/while6/temp.html]],
[[繰り返し:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/while0/temp.html]],
--[[配列と繰り返し:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/while-array/temp.html]],
[[ハッシュとeach:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/hash/temp.html]]
-- [[繰り返しとif:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/while7/temp.html]]
*レポート [#report]
- レポート提出状況(学内のみ)(2018-11-12(紙+メール提出)掲載)
-- [[木クラス:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/gakunai/rep1_Thr2018.list]]
-- [[金クラス:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/gakunai/rep1_Fri2018.list]]
- 表紙見本&ref(rep_cover.pdf,,表紙見本);
- &ref(rep1_2016.pdf,,レポート課題); (2016-10-27掲載)
-- &ref(sXXXXXXX-1.rb,,課題1用テンプレートプログラム); COLOR(RED){注:このファイルを保存してからmeadowなどで編集してください}
--- ハロウィン終了にともないプログラム内のデータが変更されました.なお,どちらのプログラムで課題を行っても成績には影響しません.(2016-11-02)
-- 課題1補足
--- テンプレートプログラムは,メニュー5番を作らない限り終了できないので,その場合はCtrl-Cで終了してください.(2016-10-27掲載)
--- 実行結果は[実行の指定]にある手順で1回実行すればよいです.これを複数回行う必要はありません.(2016-11-02掲載)
-- COLOR(RED){課題1訂正};
--- 実行結果で,「2.逃げる」を選択したときにボールが減っている部分がありますが,間違いです.ボールは減りません.(2016-11-02掲載)
-- 課題2用データ(2016-10-27掲載)
駅名
["新橋","汐留","竹芝","日の出",
"芝浦ふ頭","お台場海浜公園","台場","船の科学館",
"テレコムセンター","青海","国際展示場正門","有明",
"有明テニスの森","市場前","新豊洲","豊洲"]
周辺施設
- &ref(rep_2018.pdf,,レポート課題); (2018-10-24掲載)
- &ref(sXXXXXXX-1_2018.rb,, 課題1用テンプレートプログラム); COLOR(RED){注:このファイルを保存してから編集してください}
- &ref(sXXXXXXX-2_2018.rb,, 課題2用テンプレートプログラム); COLOR(RED){注:このファイルを保存してから編集してください}
//-- 課題1の実行結果の出力例が間違っていましたので修正しました
//- &ref(rep1_data.txt,,課題1の実行用ファイル);
-課題2のデータ
# 駅名配列
eki =
["新橋","汐留","竹芝","日の出","芝浦ふ頭",
"お台場海浜公園","台場","船の科学館","テレコムセンター","青海",
"国際展示場正門","有明","有明テニスの森","市場前","新豊洲","豊洲"]
# 乗車時間配列
jikan =
[1,2,1,1,5,1,1,1,2,2,1,1,2,1,2]
# 施設
shisetu =
["汐留シオサイト","浜離宮恩賜庭園","竹芝客船ターミナル","水上バス乗場",
"レインボーブリッジ","虹の下水道館","メディアージュ","東京湾岸警察署",
"日本科学未来館","パレットタウン","東京ビックサイト","パナソニックセンター東京",
"有明コロシアム","","MAGIC BEACH","がすてな−にガスの科学館"]
所要時間
[1,2,1,1,5,1,1,1,2,2,1,1,2,1,2]
"日本科学未来館","パレットタウン","東京都水の科学館",
"パナソニックセンター東京","有明コロシアム",
"中央卸売市場","MAGIC BEACH","がすてな−にガスの科学館"]
*夏休みの自由課題 [#summer]
- &ref(summer_2016.pdf,left,夏休みの自由課題); (2016-08-02掲載)
- &ref(summer_2018.pdf,left,夏休みの自由課題); (2018-08-01掲載)
//-- COLOR(RED){(注)Chromeではブラウザ内で表示されないことがあるようです.その場合はファイルを保存してAdobe Reader等で確認してください.}
*テキスト [#text]
チェック項目に指定した演習問題だけでは、すべて理解できたことにはなりません。
~
チェック項目以外の演習問題もすべて行うこと!
~
COLOR(RED){テキストに実行結果、教科書を使って調べたことなどを記入しておくこと(チェック時に確認します)}
- &ref(2016_en9.pdf,,第9回テキスト); (2016-10-19掲載)
- &ref(2016_en8.pdf,,第8回テキスト); (2016-10-05掲載)
-- &ref(2016_check8.pdf,,演習8-6プリント);(2016-10-07掲載) <== チェック時に使用します。
- &ref(2016_en7.pdf,,第7回テキスト); (2016-10-04掲載)
- &ref(2016_en6.pdf,,第6回テキスト); (2016-08-02掲載)
- &ref(2016_en5.pdf,,第5回テキスト); (2016-06-27掲載)
- &ref(2016_en4.pdf,,第4回テキスト); (2016-06-23掲載) &ref(en4_2016.pdf,,チェック項目等ヒントプリント);(2016-07-19掲載)
-- &ref(ex4_homework.pdf,,宿題); COLOR(RED){7/27(水)17:00までに学務レポート提出BOXに提出} (2016-07-16掲載)
- &ref(2016_en3.pdf,,第3回テキスト); (2016-06-23掲載)
- &ref(2016_en1.pdf,,第1,2回テキスト); (2016-06-23掲載)
--訂正 p.6 2つ目の教科書のページの部分
--- (誤) p.69(p.69)- 変数名のつけ方
--- (正) p.COLOR(red){66}(p.69)- 変数名のつけ方
--訂正p.14 演習1-60のプログラム
--- (誤) "???"="???"
--- (正) "???"=COLOR(RED){>}"???"
- &ref(2017_en9.pdf,,第9回テキスト); (2018-10-05掲載)
- &ref(2017_en8.pdf,,第8回テキスト); (2018-08-01掲載)
-- &ref(check8_2018.pdf,,演習8-6プリント);(2018-9-25掲載) <== チェック時に使用します。
- &ref(2017_en7.pdf,,第7回テキスト); (2018-08-01掲載)
- &ref(2017_en6.pdf,,第6回テキスト); (2018-08-01掲載)
- &ref(2018_en5.pdf,,第5回テキスト); (2018-07-17掲載)
//-- 訂正 p.10 [誤] program6-13.rb [正] program5-13.rb
//-- 訂正 p.11 [誤] program6-14.rb [正] program5-14.rb
//-- 訂正 p.11 [誤] program6-15.rb [正] program5-14.rb
- &ref(2016_en4.pdf,,第4回テキスト); (2018-06-21掲載)
&ref(2018en4.pdf,,チェック項目等ヒントプリント);(2018-07-13掲載)
-- &ref(ex4_homework_2017.pdf,,宿題); COLOR(RED){第4回スタート時に提出} (2018-07-19掲載)
- &ref(2016_en3.pdf,,第3回テキスト); (2018-06-21掲載)
- &ref(2018_en1.pdf,,第1,2回テキスト); (2018-06-21掲載)
- 予習テキスト2種類:第1回の受講前に一通り試してみること
-- [[Meadowについて:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/text/2011_Meadow.pdf]]
-- [[Rubyプログラミングへの準備:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/text/2011_prog0.pdf]]
--- 訂正:p.12 図23のプログラムsample19.rb は全学計算機の現在の環境では実行できないので、カットしてください。
--- 補足.2.4節で言及のあるRuby modeを利用するには下記の.emacsの設定作業が必要です.(演習時にも解説します)
--- 日本語を扱う場合(第1,2回テキストp.4参照):テキスト内で日本語を含むプログラム例には、すべて先頭行に #encoding: Shift_JIS を追加
- 予習テキスト:授業前にやっておくこと
-- &ref(2018_prog0.pdf,left,Rubyプログラミングへの準備);
- 宿題:COLOR(RED){第1回の授業時に提出}
-- &ref(2018check0.pdf,left,第1回目までの宿題);
- &ref(check0.pdf,left,第1回目までの宿題); 第1回の授業時に提出
//- Ruby modeを利用する準備
//-- 簡単コース
//+++ コマンドプロンプトを起動する.プロンプトが Z:\> であることを確認する.
//+++ 以下のコマンドを実行する
// copy C:\meadow\.emacs_rubymode .emacs
//(注)スペースはcopyの次とrubymodeの次の2カ所
//
//-- 意味を知りたいコース
//+++ Meadowを起動して z:\に.emacsという名前のファイルを開く(最初の文字は.(ピリオド)です)
//+++ .emacsファイルに以下を入力(コピー&ペースト)し,保存する
// (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t)
// (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist))
// (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-alist))
// (autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process")
// (autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode")
// (add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys)))
- Ruby modeを利用する準備
-- 簡単コース
+++ コマンドプロンプトを起動する.プロンプトが Z:\> であることを確認する.
+++ 以下のコマンドを実行する
copy C:\meadow\.emacs_rubymode .emacs
(注)スペースはcopyの次とrubymodeの次の2カ所
-- 意味を知りたいコース
+++ Meadowを起動して z:\に.emacsという名前のファイルを開く(最初の文字は.(ピリオド)です)
+++ .emacsファイルに以下を入力(コピー&ペースト)し,保存する
(autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t)
(setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-alist))
(autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys)))
-プログラミング演習の作業流れ図
-プログラミング演習の作業流れ図 [[プログラムの作成と実行の流れ(コマンドプロンプトとエディタの使い方を見ることができます:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/ruby/]]
[準備]
* 全学計算機システムのWindows にログインする
* コマンドプロンプト(黒色ウィンドウ)とMeadow(白色ウィンドウ)を起動する。
* コマンドプロンプト(黒色ウィンドウ)とAtomを起動する。
(コマンドプロンプトは、[スタート]-[プログラムとファイルの検索]の欄で cmdと入力し、[Enter]キーを押すと起動することができる。
[(黒ウィンドウ)コマンドプロンプトで]
* Z: と入力し、[Enter]キー でZドライブに移動することができる。
(Z:\> とならない場合は、 cd ../ [Enter]キーを押す。
* mkdir progIと入力し、[Enter]キーで 作業用フォルダを準備する (Zドライブの下に progIフォルダを作成)
↓
[(白ウィンドウ)Meadowで]
* 作業用フォルダの中に、プログラムを作成する。(Meadowを使う) ファイル名の例:sample.rb (拡張子は、rb)
[Atomで]
* 作業用フォルダの中に、プログラムを作成する。ファイル名の例:sample.rb (拡張子は、rb)
↓
[(黒ウィンドウ)コマンドプロンプトで]
* Zドライブにいることを確認 (Z:\> となっているか)
* コマンドプロンプトを起動し、作業用フォルダに移動する ( cd progI )
* プログラムを実行する (ruby ファイル名)
*チェック項目 [#check]
-COLOR(RED){チェック項目以外の演習問題もやっておいてください}
-- チェック時には、チェック項目以外の問題に対しても実行結果等を記入したテキストも持参してください。
//- COLOR(RED){未チェック項目はありませんか?チェックをすべて受けてください}
//-- [[行番号付プログラムリストと実行結果の保存:http://www.klis.tsukuba.ac.jp/klib/Subjects/ProgI/example2017/print.jpg]]
- 第9回
--演習9-4
実行結果と行番号つきプログラムリスト
さらに説明文を書き、上記とは別印刷
何行目で何行目で何を行っているかを記述。
何行目から何行目は***を行うメソッドの定義で、
引数は**。メソッド***は引数***を受け取り、どんな処理を行うか。
などを書いてくる。
--演習9-7
セルフチェック
実行結果と行番号つきプログラムリスト
- 第8回
-- 演習8-6
掲載プリントを埋めてチェックをうける
-- 演習8-6 掲載プリントを埋めてチェックをうける
(ことばでプログラムの欄も丁寧に記述してください)
-- 演習8-13
実行結果とプログラムリスト
要素数5の配列kazu_1と要素数7の配列kazu_2を準備して、
配列の要素の最大値を返すメソッドを2回呼ぶ。
-- 演習8-13 最大値を求めるメソッド(実行結果とプログラムリスト)
☆要素数 5の配列 kazu_1を用意する
☆要素数 7の配列 kazu_2を用意する
☆プログラム中で、2回メソッドを呼ぶ
- 第7回
-- 演習7-10 鳴く回数を引数で指定できるようにメソッドを変更する
キーボードから回数を入力できるプログラムにする
--演習7-10 鳴く回数を引数で指定できるようにメソッドを変更する キーボードから回数 を入力できるプログラムにする
番号つきプログラムリスト + 実行結果(複数)
-- 演習7-25 番号つきプログラムリスト + 実行結果(複数)
2つの文字列を引数とし、
--演習7-25 番号つきプログラムリスト + 実行結果(複数) 2つの文字列を引数とし、
連結した文字列を「表示する」メソッドと「返すメソッド」メソッドを作る。
(1つのプログラム中で2つのメソッドを作成!)
プログラムの構成(コメントを書いてからプログラムを記述してみよう。)
#連結した文字列を表示するメソッドの定義(メソッド1) 文字列を2個受け取る
#連結した文字列を返すメソッドの定義(メソッド2) 文字列を2個受け取る
# 文字列を2つキーボードから入力し、変数に保存
#メソッド1を呼ぶ (2つの変数を引数とする!)
#メソッド2を呼び(2つの変数を引数とする!)、値を表示
- 第6回
-- 夏の自由課題Ex.11のアレンジ問題: 単語が見つからなかった場合は、「みつかりませんでした」と表示
--- 行番号つきプログラムリストと実行結果(複数)を印刷し、教壇横の解答を確認(自己チェック後、名簿に日付記入)
--- 実行結果: 配列の要素に単語が含まれる場合,配列の要素に単語が含まれない場合
-- 夏の自由課題Ex.11のアレンジ問題: 単語が見つからなかった場合は、「みつかりませんでした」と表示
行番号つきプログラムリストと実行結果(複数)を印刷し、教壇横の解答を確認(自己チェック後、名簿に日付記入)
実行結果: 配列の要素に単語が含まれる場合,配列の要素に単語が含まれない場合
- 第5回
-- 演習5-5
--演習5-5
コメントをプログラムに追加し、p.4で指定したキーと値を入力。
行番号付プログラムリストと実行結果。
チェック時にテキストp.5の表を穴埋めをして持参
--演習5-11
実行結果のみ
自己チェック、解答確認後日付を記入
-- 演習5-11 実行結果のみ => 自己チェック(解答確認後名簿に日付記入)
- 第4回(ヒントプリント掲載済み)
-- 演習4-9
- 第4回(プログラムにはコメントをいれましょう。)
--演習4-9
行番号つきプログラムリストと実行結果(複数)
テキストの流れ図も完成させて、チェック時に見せる
(変数名を工夫する。)
***
実行例:
年齢は? 20 <= (年齢は?と聞かれたらキーボードから入力)
飲酒可能ですが、飲みすぎないようにしましょう。 <=(何らかのメッセージを表示)
-- 演習4-27
--演習4-27
行番号つきプログラムリストと実行結果(複数)
(調べて使ってみよう。ハッシュ、配列の大きさを得ることができるメソッドは?)
- 第3回
-- 演習3-29
行番号つきプログラムリスト+実行結果(複数)
-第3回
--演習3-29 行番号つきプログラムリスト+実行結果(複数)
和 と 平均(小数点以下も表示する)を計算し表示する。
和や平均は計算後、変数に値を保存し、表示
和や平均は計算後、変数に値を保存し、表示する。
コメント文も書くこと!
-- 演習3-39
行番号つきプログラムリスト+実行結果(複数)
キー:cat 値:ねこ キー:dog 値:犬と入力すると?
キー: cat 値: ねこ キー:cat 値:nekoと入力すると?
--演習3-39 行番号つきプログラムリスト+実行結果(複数)
キー:cat 値: ねこ キー :dog 値:犬と入力すると?
キー:cat 値: ねこ キー:cat 値:nekoと入力すると?
- 第2回
-- 演習1-47:実行結果 と プログラムリスト(行番号つき)
-- 演習1-56:実行結果 と プログラムリスト(行番号つき)
- 第1回
--演習1-28 (行番号プログラムリスト+実行結果) ◦ファイルへの保存、行番号をつける方法等は「道具箱」を参照。
-第1回
--演習1-28 (行番号プログラムリスト+実行結果)ファイルへの保存、行番号をつける方法等は「道具箱」を参照。
*演習支援情報 [#support]
** プログラミングRuby支援資料 [#k2c94251]
- [[FAQのページ:http://klis.tsukuba.ac.jp/klib/index.php?ProgI%2FFAQ%A4%CE%A5%DA%A1%BC%A5%B8]]
//- [[TAのページ:http://klis.tsukuba.ac.jp/klib/index.php?ProgI%2FTA%A4%CE%A5%DA%A1%BC%A5%B8]]
- 教科書:
-- [[たのしいRuby 第4版:http://www.amazon.co.jp/dp/4797372273]]
- 参考書:
--[[プログラミングRuby 第2版 言語編:http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0Ruby-%E7%AC%AC2%E7%89%88-%E8%A8%80%E8%AA%9E%E7%B7%A8-Dave-Thomas/dp/4274066428]]
--[[プログラミングRuby 第2版 ライブラリ編:http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0Ruby-%E7%AC%AC2%E7%89%88-%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E7%B7%A8-Dave-Thomas/dp/4274066436]]
- 参考Webページ
-- [[オブジェクト指向スクリプト言語Ruby:http://www.ruby-lang.org/ja/]]
--- Rubyのおおもとです.
-- [[Rubyリファレンスマニュアル:http://www.ruby-lang.org/ja/man/]]
--- リファレンスマニュアルです.辞書として使えます.
--- たとえば,「組み込みライブラリ」の「組み込みクラス」のあたりを見ると,各クラスに定義されたメソッドの一覧と定義・使い方等を調べることができます.便利なメソッドがたくさんあるので,ぜひ調べてみてください.
-- [[日本Rubyの会 公式Wiki:http://jp.rubyist.net/]]
--- Rubyのユーザグループ
-- [[Ruby - Wikipedia:http://ja.wikipedia.org/wiki/Ruby]]
--- WikipediaによるRubyの解説
**プログラミング演習の予習、復習を自宅で行いたい! [#lc84cc72]
プログラミング演習を自宅でもやりたい!というやる気にあふれた学生のために、
その方法を紹介します。方法は2つあります。全学計算機を使う方法と自分のPCにRubyをインストールする方法です。
***(実習室以外から)全学計算機を利用する方法 [#c60a9d64]
- リモートデスクトップを使う(初心者用)&br;
自分のPC(Windows/Mac OS)から全学計算機システムのWindowsデスクトップを利用できます。全学の端末とほぼ同等の環境でRubyプログラミングができます。
詳しくは
[[全学計算機システムのリモートアクセスのページ:https://www.u.tsukuba.ac.jp/icho13/remote.html]]
を参照してください。
詳しくは,全学計算機システムのリモートアクセスのページを参照してください。
- sshを使う(中級者以上用)&br;
簡単なプログラムだけなら、unixサーバ上のコマンドライン(Windowsでのコマンドプロンプト)だけで十分です。
プログラムの編集もコマンドラインからエディタ(Emacsでもviでも)を起動して行います。&br;
COLOR(RED){(注)}ただし、日本語が含まれるプログラムを実行するには、注意が必要です。WindowsはShift_JIS,unixはUTF-8になっていますので、この違いを吸収する文字コードの知識が必要になります。
++ ssh でicho.u.tsukuba.ac.jp または ubuntu.u.tsukuba.ac.jp に接続しログインする
++ プログラミング演習Iのディレクトリへ移動する。ホームディレクトリにprogIがあるはずです
なお、プログラムファイルを自分のPCで作成して、sftpでファイルをicho/ubuntuに転送して、実行だけ全学計算機で行うという方法も可能です。
*** 自分のPCにRuby をインストールする方法 [#pc676f41]
全学計算機システムのRubyのバージョンは 2.1.5p273 です。同じバージョンをインストールすることを推奨します。
全学計算機システムのRubyのバージョンは 2.3.3 です。同じバージョンをインストールすることを推奨します。
- たのしいRubyのp.457ページでは下記のサイトを紹介しています。参考にしてください
-- https://www.ruby-lang.org/ja/downloads/
--http://rubyinstaller.org/
- Mac OS Xの場合は、最初からrubyがインストールされています。ただし、バージョンが古いなど、環境を整備する必要がある場合もあります。
-- rubyバージョン管理ツール rbenv(各自調べましょう)
** テキストエディタについて [#qfa0d423]
プログラミング演習IではMeadow(Emacs系エディタ)を使っています。
プログラミング演習IではAtomを使います。
プログラミングのサポートが充実しているもので、
WindowsでもUNIXでも使えるものを選定しました。
(なぜvimにしなかったかは宗教問題に発展するので発言は控えます)
WindowsでもUNIXでもMacでも使えるものを選定しました。
ただし、好みに応じて他のテキストエディタを使うことも可能です。
代表的なテキストエディタには以下のようなものがあります。
- OSX, Windows, Linux:クロスプラットフォーム
-- Atom(全学計算機システムにもインストール済み)
--- 入手先:https://atom.io
-- Sublime Text(全学計算機システムにもインストール済み)
--- 入手先:https://www.sublimetext.com
-- Emacs(全学計算機システムにもインストール済み)
--- 入手先:https://www.gnu.org/software/emacs/
--- 入手先(Windows用にビルドしたものNTEmacs):http://cha.la.coocan.jp/doc/NTEmacs.html
-- Vim(全学計算機システムにもインストール済み)
--- 入手先:http://www.vim.org
- Windows用
-- TeraPad(全学計算機システムにもインストール済み)
--- 入手先:http://www.forest.impress.co.jp/library/software/terapad/
--- インストール方法:http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html
-- サクラエディタ(全学計算機システムにもインストール済み)
--- 入手先:http://sakura-editor.sourceforge.net/
-- メモ帳(OS標準装備)
-- WordPad(OS標準装備)
-Mac OS用
-- mi
--- 入手先:http://www.mimikaki.net
-- CotEditor
--- 入手先:http://osdn.jp/projects/coteditor/
-- テキストエディット(OS標準装備)
** その他もろもろ [#xf783092]
-- [[筑波大学全学計算機システム:http://www.u.tsukuba.ac.jp/]]
µtaskscript(151, 10);