プログラミング演習Iのページ

このページは,プログラミング演習Iのページです.

  • 担当者(問い合わせの場合は、2名両方にメールを出してください)
    • 松村敦 (Webページ, Email: matsumura.atsushi.ga あっと u.tsukuba.ac.jp)
      • 研究室: 研究棟 2F 212
    • 時井真紀 (Email: tokii.maki.ga あっと u.tsukuba.ac.jp)
      • 研究室: 研究棟 2F 203


Crowd4U

本ページはCrowd4Uに協力しています.

(現在IEには非対応)

お知らせ

お知らせです.クラス毎のお知らせの場合は,[木][金]で区別します.何もなければ全体向けです.

  • レポート提出状況を更新しました <レポート> (2016-11-21)
  • レポート提出状況を公開しました <レポート> (2016-11-16)
    • 必ず確認してください.
    • 紙のレポートの受付はしませんが,紙を提出してメールを送信していない人は急ぎ送信してください
  • レポート課題の訂正,補足は適宜掲載されますので,webをよく確認していてください <レポート> (2016-11-2)
  • レポート課題掲載 <レポート> (2016-10-27)
  • 第9回テキスト掲載 <テキスト> (2016-10-19)
  • 第8回は第8回テキスト下に掲載したプリントもチェック時に使用します.印刷しておいてください.
  • 第7回演習までに第6回テキストの表1をうめておいてください.この表だけをみることができる小テストを実施します.(2016-10-07)
  • 第8回テキスト掲載 <テキスト> (2016-10-05)
  • 第7回テキスト掲載 <テキスト> (2016-10-04)
  • 夏休みの自由課題掲載 <夏休みの自由課題> (2016-08-02)
  • 第6回テキスト掲載 <テキスト> (2016-08-02)
  • 宿題掲載<テキスト> (2016-07-16)
    • 手書きで穴埋めしてください.プリントは両面印刷でも片面印刷でもよい.片面の場合はきちんと綴じること.
    • 7/27(水)17:00までに学務レポートBOXに提出してください.
  • 第5回テキストアップ <テキスト> (2016-06-27)
  • 第1,2回,第3回,第4回のテキストアップ(2013.06.23)
    • テキストは必ず授業スタートまでには印刷しておいてください。
    • 実行結果や調べたことは必ずテキストにメモしてください。チェック時に確認します。
  • 【重要】第1回目までにやること (2016-04-28)
  • 2016年度プログラミング演習のページスタート (2016-04-28)

お知らせ(演習以外)

日程

木曜日金曜日位置付け内容(予定)教科書との関連などその他
17/77/8導入全体像,Meadow, print,代入,算術演算,gets, i=i+1, sum=sum+a[i] 様々なプログラム(Ruby/Tk, Ruby/SDL, CGI)1章,10章
27/147/15
37/217/22基礎オブジェクト,変数,配列,ハッシュ,型変換2,4,10章
47/287/29基礎条件判定,繰り返し5,6章
58/48/5基礎紙で考える&言葉でプログラム&ファイルの扱い
610/610/7基礎(テストも実施)、文字列+復習
710/1310/14基礎メソッド
810/2010/21基礎メソッド
910/2710/28基礎復習
1011/1011/2基礎総合演習

全学計算機システム停止等の情報

道具箱

  • Meadowのフォントがかわってしまった
    • [Shift]キーとマウスの左ボタンを押すと、メニューが表示されます。そこでデフォルトを選択してください
  • プログラムに行番号をつけるCGI
    • 提出用のプログラムに行番号をつけるプログラムです.

レポート

  • 提出状況 (2016-11-16掲載, 2016-11-21更新 )
    • 木曜クラス
    • 金曜クラス
    • 必ず確認してください
    • 紙のレポートの受付はしませんが,紙を提出してメールを送信していない人は急ぎ送信してください
  • 表紙見本file表紙見本
  • fileレポート課題 (2016-10-27掲載)
    • file課題1用テンプレートプログラム 注:このファイルを保存してからmeadowなどで編集してください
    • 課題2用データ(2016-10-27掲載)
      駅名
      ["新橋","汐留","竹芝","日の出",
      "芝浦ふ頭","お台場海浜公園","台場","船の科学館",
      "テレコムセンター","青海","国際展示場正門","有明",
      "有明テニスの森","市場前","新豊洲","豊洲"]
      周辺施設
      ["汐留シオサイト","浜離宮恩賜庭園","竹芝客船ターミナル","水上バス乗場",
      "レインボーブリッジ","虹の下水道館","メディアージュ","東京湾岸警察署",
      "日本科学未来館","パレットタウン","東京ビックサイト","パナソニックセンター東京",
      "有明コロシアム","","MAGIC BEACH","がすてな−にガスの科学館"]
      所要時間
      [1,2,1,1,5,1,1,1,2,2,1,1,2,1,2]
  • 訂正,補足
    • [課題2]「さらに上を目指す方」の実行結果は,課題の指定にあるように新橋を乗車駅とした一連の場合と,それ以外の駅を乗車駅とした場合を示してください.(2016-11-03)
    • [課題1] テンプレートプログラムは,メニュー5番を作らない限り終了できないので,その場合はCtrl-Cで終了してください.(2016-10-27掲載)
    • [課題1] 実行結果で,「2.逃げる」を選択したときにボールが減っている部分がありますが,間違いです.ボールは減りません.(2016-11-02掲載)
    • [課題1] 実行結果は[実行の指定]にある手順で1回実行すればよいです.これを複数回行う必要はありません.(2016-11-02掲載)
    • [課題1]ハロウィン終了にともないプログラム内のデータが変更されました.なお,どちらのプログラムで課題を行っても成績には影響しません.(2016-11-02)

夏休みの自由課題

テキスト

チェック項目に指定した演習問題だけでは、すべて理解できたことにはなりません。
チェック項目以外の演習問題もすべて行うこと!
テキストに実行結果、教科書を使って調べたことなどを記入しておくこと(チェック時に確認します)

  • 予習テキスト2種類:第1回の受講前に一通り試してみること
    • Meadowについて
    • Rubyプログラミングへの準備
      • 訂正:p.12 図23のプログラムsample19.rb は全学計算機の現在の環境では実行できないので、カットしてください。
      • 補足.2.4節で言及のあるRuby modeを利用するには下記の.emacsの設定作業が必要です.(演習時にも解説します)
      • 日本語を扱う場合(第1,2回テキストp.4参照):テキスト内で日本語を含むプログラム例には、すべて先頭行に #encoding: Shift_JIS を追加
  • Ruby modeを利用する準備
    • 簡単コース
      1. コマンドプロンプトを起動する.プロンプトが Z:\> であることを確認する.
      2. 以下のコマンドを実行する
        copy C:\meadow\.emacs_rubymode .emacs
        (注)スペースはcopyの次とrubymodeの次の2カ所
  • 意味を知りたいコース
    1. Meadowを起動して z:\に.emacsという名前のファイルを開く(最初の文字は.(ピリオド)です)
    2. .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 ファイル名)

チェック項目

  • チェック項目以外の演習問題もやっておいてください
  • 第10回
    • チェック項目なし
  • 第9回
    • 演習9-4
      実行結果と行番号つきプログラムリスト
      さらに説明文を書き、上記とは別印刷
      何行目で何行目で何を行っているかを記述。
      何行目から何行目は***を行うメソッドの定義で、
      引数は**。メソッド***は引数***を受け取り、どんな処理を行うか。
      などを書いてくる。
  • 演習9-7
    セルフチェック
    実行結果と行番号つきプログラムリスト
  • 第8回
    • 演習8-6
      掲載プリントを埋めてチェックをうける
      (ことばでプログラムの欄も丁寧に記述してください)
  • 演習8-13
    実行結果とプログラムリスト
    要素数5の配列kazu_1と要素数7の配列kazu_2を準備して、
    配列の要素の最大値を返すメソッドを2回呼ぶ。
  • 第7回
    • 演習7-10 鳴く回数を引数で指定できるようにメソッドを変更する
      キーボードから回数を入力できるプログラムにする
      番号つきプログラムリスト + 実行結果(複数)
  • 演習7-25 番号つきプログラムリスト + 実行結果(複数)
    2つの文字列を引数とし、 
    連結した文字列を「表示する」メソッドと「返すメソッド」メソッドを作る。
    (1つのプログラム中で2つのメソッドを作成!)
    プログラムの構成(コメントを書いてからプログラムを記述してみよう。)
    #連結した文字列を表示するメソッドの定義(メソッド1) 文字列を2個受け取る
    #連結した文字列を返すメソッドの定義(メソッド2) 文字列を2個受け取る
    # 文字列を2つキーボードから入力し、変数に保存
    #メソッド1を呼ぶ (2つの変数を引数とする!)
    #メソッド2を呼び(2つの変数を引数とする!)、値を表示
  • 第6回
    • 夏の自由課題Ex.11のアレンジ問題: 単語が見つからなかった場合は、「みつかりませんでした」と表示
      • 行番号つきプログラムリストと実行結果(複数)を印刷し、教壇横の解答を確認(自己チェック後、名簿に日付記入)
      • 実行結果: 配列の要素に単語が含まれる場合,配列の要素に単語が含まれない場合
  • 第5回
    • 演習5-5
      コメントをプログラムに追加し、p.4で指定したキーと値を入力。
      行番号付プログラムリストと実行結果。
      チェック時にテキストp.5の表を穴埋めをして持参
  • 演習5-11 実行結果のみ => 自己チェック(解答確認後名簿に日付記入)
  • 第4回(ヒントプリント掲載済み)
    • 演習4-9
      行番号つきプログラムリストと実行結果(複数)
      テキストの流れ図も完成させて、チェック時に見せる
      (変数名を工夫する。)
  • 演習4-27
    行番号つきプログラムリストと実行結果(複数)
    (調べて使ってみよう。ハッシュ、配列の大きさを得ることができるメソッドは?)
  • 第3回
    • 演習3-29
      行番号つきプログラムリスト+実行結果(複数)
      和 と 平均(小数点以下も表示する)を計算し表示する。
      和や平均は計算後、変数に値を保存し、表示
      コメント文も書くこと!
  • 演習3-39
    行番号つきプログラムリスト+実行結果(複数)
    キー:cat 値:ねこ  キー:dog 値:犬と入力すると?
    キー: cat 値: ねこ   キー:cat 値:nekoと入力すると?
  • 第2回
    • 演習1-47:実行結果 と プログラムリスト(行番号つき)
    • 演習1-56:実行結果 と プログラムリスト(行番号つき)
  • 第1回
    • 演習1-28 (行番号プログラムリスト+実行結果) ◦ファイルへの保存、行番号をつける方法等は「道具箱」を参照。

演習支援情報

プログラミングRuby支援資料

プログラミング演習の予習、復習を自宅で行いたい!

プログラミング演習を自宅でもやりたい!というやる気にあふれた学生のために、 その方法を紹介します。方法は2つあります。全学計算機を使う方法と自分のPCにRubyをインストールする方法です。

(実習室以外から)全学計算機を利用する方法

  • リモートデスクトップを使う(初心者用)
    自分のPC(Windows/Mac OS)から全学計算機システムのWindowsデスクトップを利用できます。全学の端末とほぼ同等の環境でRubyプログラミングができます。 詳しくは 全学計算機システムのリモートアクセスのページ を参照してください。
  • sshを使う(中級者以上用)
    簡単なプログラムだけなら、unixサーバ上のコマンドライン(Windowsでのコマンドプロンプト)だけで十分です。 プログラムの編集もコマンドラインからエディタ(Emacsでもviでも)を起動して行います。
    (注)ただし、日本語が含まれるプログラムを実行するには、注意が必要です。WindowsはShift_JIS,unixはUTF-8になっていますので、この違いを吸収する文字コードの知識が必要になります。
  1. ssh でicho.u.tsukuba.ac.jp または ubuntu.u.tsukuba.ac.jp に接続しログインする
  2. プログラミング演習Iのディレクトリへ移動する。ホームディレクトリにprogIがあるはずです

なお、プログラムファイルを自分のPCで作成して、sftpでファイルをicho/ubuntuに転送して、実行だけ全学計算機で行うという方法も可能です。

自分のPCにRuby をインストールする方法

全学計算機システムのRubyのバージョンは 2.1.5p273 です。同じバージョンをインストールすることを推奨します。

  • たのしいRubyのp.457ページでは下記のサイトを紹介しています。参考にしてください
  • Mac OS Xの場合は、最初からrubyがインストールされています。ただし、バージョンが古いなど、環境を整備する必要がある場合もあります。
    • rubyバージョン管理ツール rbenv(各自調べましょう)

テキストエディタについて

プログラミング演習IではMeadow(Emacs系エディタ)を使っています。 プログラミングのサポートが充実しているもので、 WindowsでもUNIXでも使えるものを選定しました。 (なぜvimにしなかったかは宗教問題に発展するので発言は控えます)

ただし、好みに応じて他のテキストエディタを使うことも可能です。

代表的なテキストエディタには以下のようなものがあります。

  • メモ帳(OS標準装備)
  • WordPad?(OS標準装備)

その他もろもろ


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-11-21 (月) 12:04:16 (17d)