- 追加された行はこの色です。
- 削除された行はこの色です。
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]
お知らせです.クラス毎のお知らせの場合は,[木][金]で区別します.何もなければ全体向けです.
- 第8回テキスト演習8-6のプリントを公開しました。チェック時に使用するので印刷し、
このプリントの穴埋めしてからプログラムを作成してください.
- COLOR(RED){第8回テキスト公開}.<[[テキスト>#text]]> (2015-10-06)
- 第7回演習までに第6回テキストの表1をうめておいてください.この表だけをみることができる小テストを実施します.
- COLOR(RED){第7回テキスト公開}.<[[テキスト>#text]]> (2015-10-01)
- COLOR(RED){第6回テキスト公開}.<[[テキスト>#text]]> (2015-09-29)
- 夏休みの自由課題を掲載しました <[[夏休みの自由課題>#summer]]> (2015-07-29)
- 第5回までの宿題はありません.テキストの予習をしておいてください.
- 第5回テキスト公開.<[[テキスト>#text]]> (2015-07-22)
- 第4回にむけて宿題を作成しました.(2015-07-15)
-- COLOR(RED){「&ref(ex4_homework_2015.pdf,left,宿題);」} (手書きで穴埋めしてください. プリントは両面印刷でも片面印刷でもよい.)
-- 7/23(木)15:00までに学務レポート提出BOXに提出してください.
- 第4回テキスト公開.<[[テキスト>#text]]> (2015-07-14)
- 第3回までの宿題はありません.テキストの予習をしておいてください.
-- 第2回までのチェック項目が終わっていない方は、第3回スタート時に提出してください
- meadowのRuby modeの設定方法を掲載しました <[[テキスト>#text]]> (2015-07-08)
- 第1回のチャック項目が終わらなかった方は,第2回スタート時に提出してください.
-- 第2回までの宿題はありません.テキストの予習をしておいてください.
- 第3回テキスト公開.<[[テキスト>#text]]> (2015-07-03)
- 演習支援情報を追加 <[[演習支援情報>#support]]> (2015-06-29)
-- 演習支援情報に自宅でRubyプログラミングをする方法とテキストエディタについてを掲載しました.
- 【重要】第1回目までにやること (2015-06-24)
-- COLOR(RED){2つの予習テキストを受講前に試しておく} <[[テキスト>#text]]>
-- COLOR(RED){教科書「[[たのしいRuby第4版:http://www.amazon.co.jp/dp/4797372273]]」を買う} <[[演習支援情報>#support]]>
-- COLOR(RED){「&ref(check0.pdf,left,第1回目までの宿題);」をやる.第1回授業時に提出してもらいます} <[[テキスト>#text]]>
-- COLOR(RED){第1回のテキストの予習をする} <[[テキスト>#text]]>
- 予習テキスト公開.<[[テキスト>#text]]> (2015-06-22)
- 2015年度プログラミング演習のページスタート (2015-06-22)
//- 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)
//- 第1回テキストアップ(2013.06.28)
* お知らせ(演習以外) [#other_announce]
//- 知識情報システム主専攻オープンラボ
//-- だれでも参加可能ですので,是非見にきてください.
//-- http://www.slis.tsukuba.ac.jp/system/
*日程 [#schedule]
|回|木曜日|金曜日|位置付け|内容(予定)|教科書との関連など|その他|
|1|7/2|7/3| 導入| 全体像,Meadow, print,代入,算術演算,gets, i=i+1, sum=sum+a[i] 様々なプログラム(Ruby/Tk, Ruby/SDL, CGI)|1章,10章 | |
|2|7/9|7/10|~|~|~|~|
|3|7/16|7/17|基礎|オブジェクト,変数,配列,ハッシュ,型変換|2,4,10章 | |
|4|7/30|7/24|基礎|条件判定,繰り返し |5,6章| |
|5|8/6|7/31|基礎|復習(配列,ハッシュ,条件判定,繰り返し)| | |
|6|10/1|10/2|基礎 |(COLOR(RED){(テストも実施)}、紙で考える&言葉でプログラム&ファイルの扱い | | |
|7|10/8|10/9|基礎 |メソッド | | |
|8|10/22|10/16|基礎|メソッド | | |
|9|10/29|10/23|基礎 |文字列+復習 | | |
|10|11/5|10/30|基礎|総合演習 | | |
//|回|木曜日|金曜日|位置付け|内容(予定)|教科書との関連など|その他|
//|1| 7/4 | 7/5 | 導入| 全体像,Meadow, print,代入,算術演算,gets, i=i+1, sum=sum+a[i] 様々なプログラム(Ruby/Tk, Ruby/SDL, 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]キーとマウスの左ボタンを押すと、メニューが表示されます。そこでデフォルトを選択してください
-[[プログラムに行番号をつける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]]
*レポート [#report]
//- 表紙見本&ref(rep_cover.pdf,,表紙見本);
//** 第1回 [#s4bf69a4]
//- 提出状況(学籍番号下三桁)
//-- 木曜クス([[紙:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/gakunai/rep1_Thr_2014_list]])(学内のみ)
//-- 金曜クラス([[紙:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/gakunai/rep1_Fri_2014_list]])(学内のみ)
//-&ref(2014_rep1.pdf,left,第1回レポート課題); (2014/07/30掲載)
// 体裁:課題2はA4で3ページから5ページとする.
// 課題1,2ともに片面印刷であること.フォントサイズは12ポイント.
// 手書きでもよい.(ただし課題2は12ポイント程度の文字)
// 〆切:2014年10月1日(水) 17:00 提出先:学務レポート提出BOX
// 注意:〆切に遅れたレポートは受け取りません.
//- 表紙見本&ref(rep_cover.pdf,,表紙見本);
//** 第2回レポート [#vab30ae5]
//- 提出状況(学籍番号下三桁)
//-- 木曜クス([[紙:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/gakunai/2013rep2pThr]])(学内のみ)
//-- 金曜クラス([[紙:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/gakunai/2013rep2pFri]])(学内のみ)
//※ 電子メールによる提出部分につては,未提出の人にはメールを送付しました.
//- &ref(rep2_2013.pdf,,課題);
//- &ref(rep1_input.txt,,データ(rep1_input.txt));
//- 補足
//-- 課題2では,第1回テキスト演習1-13などで1行目に指定してきた
// #encoding: Shift_JIS
//では正しく動きません.この部分を以下の通り変更してください.
// #encoding: Windows-31J
//- 〆切:11月7日(木曜日)15:00 学務レポート提出BOXと電子メールによる提出
//** 第1回レポート [#v3600eda]
//- 〆切:10月2日(水曜日)17:00 学務レポート提出BOX COLOR(RED){(〆切厳守)}
//- 課題:&br;
//1「変数」&br;2「算術演算」&br;3「配列」&br;4「ハッシュ」&br;5「型変換」&br;6「条件判定」&br;
//7「繰り返し」&br;の全ての項目についてわかりやすく説明する。
//-条件:
//-- 各項目の説明にあたっては、第1回から第5回のテキストに掲載した例題プログラムをそれぞれ1つ以上使う。
//-- 取り上げる例題プログラムには、コメント文を追加し、行番号を付与してから本文に掲載する。
//-- 本文中では、行番号を参照しつつでわかりやすく説明する。
//-- また、図を使って用語やプログラムの流れをよりわかりやすく説明してもよい。
//- フォーマット:
//-- A4サイズの用紙で10ページ以上15ページ以内.(片面)
//-- フォントサイズ12ポイント
//-- 手書きでもよい(ただし12ポイント程度の文字)
//- レポート提出状況 [#e2ab64ba]
//-- 第1回レポート
//--- [[木曜日クラス提出者リスト:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/gakunai2/rep1_Thr2013_list]]
//(学内のみ)
//--- [[金曜日クラス提出者リスト:http://klis.tsukuba.ac.jp/klib/Subjects/ProgI/gakunai2/rep1_Fri2013_list]]
//(学内のみ)
*夏休みの自由課題 [#summer]
- &ref(summer.pdf,left,夏休みの自由課題); (2015-07-29掲載)
-- COLOR(RED){(注)Chromeではブラウザ内で表示されないことがあるようです.その場合はファイルを保存してAdobe Reader等で確認してください.}
*テキスト [#text]
チェック項目に指定した演習問題だけでは、すべて理解できたことにはなりません。
~
チェック項目以外の演習問題もすべて行うこと!
//-&ref(2013_en9.pdf,left,第9回テキスト); (2013-09-02掲載)
//-&ref(2013_en8.pdf,left,第8回テキスト); (2013-09-02掲載)
//-&ref(2013_en7.pdf,left,第7回テキスト); (2013-09-02掲載)
//-&ref(2013_en6.pdf,left,第6回テキスト); (2013-09-02掲載)
//--(訂正) 演習6-5 (1行目のringoをappleに変更してください
//--- kakaku_list = {"apple" => 100, "orange" = 50, "banana" => 80}
//-&ref(2013_en5.pdf,left,第5回テキスト); (2013-07-19掲載)
//-&ref(2013_en4.pdf,left,第4回テキスト); (2013-06-28掲載)
//-&ref(2013_en3.pdf,left,第3回テキスト); (2013-06-28掲載)
//--(訂正) 演習3-31
//--- 動きません.以下の通り,英語と日本語を入れ替えたプログラムに変更してください.
// jpn = {"frog" => "かえる", "bee" => "はち", "duck" => "かも", "cicada" => "せみ"}
// print("選んで入力してください(frog, bee, duck, cicada)\n")
// str = gets.chomp
// print(jpn[str], "\n")
//-&ref(2013_en1.pdf,left,第1,2回テキスト); (2013-06-28掲載)
//--(訂正) 演習1-60 (=> となっていない箇所があります。)
// 演習1-60
// tango = {"???"=>"???", "???"=>"???","???"=>"???","???"=>"???"}
//--(第1回テキストの前に、まず補足資料1を読んで Meadowの使い方を覚えよう。その後、補足資料2を読み、プログラムの実行方法を確認しよう)
//-- 補足資料1:&ref(Meadow_2013.pdf,left,Meadowについて); (2013-07-01掲載)
//-- 補足資料2:&ref(prog0_2013.pdf,left,Rubyプログラミングへの準備); (2013-07-01掲載)
//--- なお,日本語の入ったプログラムの実行は注意
//-&ref(2012_en9.pdf,left,第9回テキスト); (2012-10-15掲載)
//-&ref(2012_en8.pdf,left,第8回テキスト); (2012-10-15掲載)
//-&ref(2012_en7.pdf,left,第7回テキスト); (2012-10-15掲載)
//-&ref(2012_en6.pdf,left,第6回テキスト); (2012-10-10掲載)
//-&ref(2012_en5.pdf,left,第5回テキスト); (2012-09-24掲載)
//-&ref(2012_en4.pdf,left,第4回テキスト); (2012-09-12掲載)
//-- [訂正]演習4-29の最終行の一番後ろの括弧を一つ削除
//-&ref(2012_en3.pdf,left,第3回テキスト); (2012-08-27掲載)
//-&ref(2012_en1.pdf,left,第1,2回テキスト); (2012-08-06掲載)
//-&ref(2010_en0.pdf,left,演習について);(第1回演習時に配布)
//-&ref(2014_en9.pdf,left,第9回テキスト); (2014-08-05掲載)
-&ref(2015_en8.pdf,left,第8回テキスト); (2015-10-06掲載)
--&ref(2015_check8.pdf,left,演習8-6プリント); (2015-10-08掲載)
-&ref(2015_en7.pdf,left,第7回テキスト); (2015-10-01掲載)
--訂正:演習7-27
--- 球の体積,表面積の計算には「高さ」は必要ありませんでした.削除してください.
-&ref(2015_en6.pdf,left,第6回テキスト); (2015-09-29掲載)
-&ref(2015_en5.pdf,left,第5回テキスト); (2015-07-22掲載)
-&ref(2014_en4.pdf,left,第4回テキスト); (2015-07-14掲載) &ref(2015_en4.pdf,left,チェック項目ヒントプリント);(2015-07-22掲載)
-&ref(ex4_homework_2015.pdf,left,7/23まで提出の宿題); COLOR(RED){7/23(木)15:00までに学務提出BOXに提出};(2015-07-15掲載)
-&ref(2014_en3.pdf,left,第3回テキスト); (2015-07-03掲載)
-&ref(2014_en1.pdf,left,第1,2回テキスト); (2015-06-24掲載)
- 予習テキスト2種類:COLOR(RED){第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の設定作業が必要です.(演習時にも解説します)
- &ref(check0.pdf,left,第1回目までの宿題); COLOR(RED){第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)))
-プログラミング演習の作業流れ図
[準備]
* 全学計算機システムのWindows にログインする
* コマンドプロンプト(黒色ウィンドウ)とMeadow(白色ウィンドウ)を起動する。
(コマンドプロンプトは、[スタート]-[プログラムとファイルの検索]の欄で cmdと入力し、[Enter]キーを押すと起動することができる。
[(黒ウィンドウ)コマンドプロンプトで]
* Z: と入力し、[Enter]キー でZドライブに移動することができる。
(Z:\> とならない場合は、 cd ../ [Enter]キーを押す。
* mkdir progIと入力し、[Enter]キーで 作業用フォルダを準備する (Zドライブの下に progIフォルダを作成)
↓
[(白ウィンドウ)Meadowで]
* 作業用フォルダの中に、プログラムを作成する。(Meadowを使う) ファイル名の例:sample.rb (拡張子は、rb)
↓
[(黒ウィンドウ)コマンドプロンプトで]
* Zドライブにいることを確認 (Z:\> となっているか)
* コマンドプロンプトを起動し、作業用フォルダに移動する ( cd progI )
* プログラムを実行する (ruby ファイル名)
*チェック項目 [#check]
-COLOR(RED){チャック項目以外の演習問題もやっておいてください}
//- COLOR(RED){未チェック項目はありませんか?チェックをすべて受けてください}
//-第9回
// 演習9-16 の表をうめてくる。教壇横にて対面式テスト
//(たのしいRubyの参照ページも書いておこう)
//- 第8回
//-- 演習8-6 成績判定メソッドの作成
// 配布プリントのあなうめ
//-- 演習8-13 最大値を求めるメソッド
// 要素数 5の配列 kazu_1を用意する
// 要素数 7の配列 kazu_2を用意する
// 実行結果とプログラムリスト
//- 第7回
//-- 演習7-10
// 鳴く回数を引数で指定できるようにメソッドを変更する
// キーボードから回数を入力できるプログラムにする
// 番号つきプログラムリスト + 実行結果(複数)
//-- 演習7-23(追加項目あり)
// 番号つきプログラムリスト + 実行結果(複数)
// 2つの文字列を引数とし、
// 連結した文字列を「表示する」メソッドと「返すメソッド」メソッドを作る。
// (1つのプログラム中で2つのメソッドを作成!)
// プログラムの構成(コメントを書いてからプログラムを記述してみよう。)
// #連結した文字列を表示するメソッドの定義(メソッド1) 文字列を2個受け取る
// #連結した文字列を返すメソッドの定義(メソッド2) 文字列を2個受け取る
// # 文字列を2つキーボードから入力し、変数に保存
// #メソッド1を呼ぶ (2つの変数を引数とする!)
// #メソッド2を呼び(2つの変数を引数とする!)、値を表示
//- 第6回
//-- 演習6-4 テキストp.3の穴埋め(提出、TAによるチェック)
//-- 演習6-11 実行結果を演習時に掲示する結果で確認する。(自己チェック後、名簿に日付記入)
- 第6回
-- 夏の自由課題Ex.11のアレンジ問題: 単語が見つからなかった場合は、「みつかりませんでした」と表示
---行番号つきプログラムリストと実行結果(複数)を印刷し、教壇横の解答を確認(自己チェック後、名簿に日付記入)
---実行結果: 配列の要素に単語が含まれる場合,配列の要素に単語が含まれない場合
---チェックプログラムが完成したら、さらに調べておこう。include? と indexの使い方
- 第5回
-- 演習5-5
プログラムリストと実行結果, テキストp.5の表を穴埋め =>TAによるチェック
-- 演習5-11
実行結果 => 自己チェック(解答確認後名簿に日付記入)
- 第4回(ヒントプリント掲載済み)
--演習4-9
行番号つきプログラムリストと実行結果(複数)
テキストの流れ図も完成させて、チェック時に見せる
--- (変数名を工夫する。)
--演習4-27
行番号つきプログラムリストと実行結果(複数)
- 第3回(プログラムにコメント文を書いてからプログラム作成スタート)
--コメントは、行の先頭に #をつける。(コメントは一行毎でなくてよい。まとめてよい)
# キーボード入力をうながす
print("整数を入力してください: ")
-- 演習3-29(行番号プログラムリスト+実行結果(複数))
--- テキストから課題追加分(和と平均(小数点以下も表示する)を計算し表示する。和や平均は計算後、変数に値を保存してから、表示する。
-- 演習3-39(行番号プログラムリスト+実行結果)
--- キー:cat 値:ねこ、キー:dog 値:犬と入力すると?
--- キー:cat 値:ねこ、キー:cat 値:nekoと入力すると?
- 第2回
-- 演習1-47(行番号プログラムリスト+実行結果)
-- 演習1-56(行番号プログラムリスト+実行結果)
- 第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のp.457ページでは下記のサイトを紹介しています。参考にしてください
-- https://www.ruby-lang.org/ja/downloads/
--http://rubyinstaller.org/
- Mac OS Xの場合は、最初からrubyがインストールされています。ただし、バージョンが古いなど、環境を整備する必要がある場合もあります。
-- rubyバージョン管理ツール rbenv(各自調べましょう)
** テキストエディタについて [#qfa0d423]
プログラミング演習IではMeadow(Emacs系エディタ)を使っています。
プログラミングのサポートが充実しているもので、
WindowsでもUNIXでも使えるものを選定しました。
(なぜvimにしなかったかは宗教問題に発展するので発言は控えます)
ただし、好みに応じて他のテキストエディタを使うことも可能です。
代表的なテキストエディタには以下のようなものがあります。
- 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);