情報科学概論(1年生)
2005.01.17

Back to index page



  1. 本日の作業内容

  2. 出席確認

    電子メールで出席確認をします.宛先など以下の情報を用いてメールを作成し, 出席申告してください.なお,キーワードは授業中に紹介します.

    提出形式

    宛先 justice@mag.shimane-u.ac.jp
    件名 AttendA01-17_ruby_s0440**
    AttendB01-17_ruby_s0440**
    (Aクラス)
    (Bクラス)
    本文 学生番号
    氏名
    キーワード
     
    (改行)
    (改行)
    キーワードは授業中に紹介
    注意 「件名」および「添付書類名」の**をそのままにしないで,必ず自分の学生番号 に修正して下さい.また,ABクラス別は指示にしたがって下さい.

  3. ダウンロードやり直し

    永久ループを作って実行してしまったときの停止処理を書き直した新しいバージョ ンのS@pphireを使って下さい.とりあえず,全員ダウンロードをやり直しておい て下さい.

    ダウンロード ページへ

  4. printf 復習

    前回の小テストで文字列を表示する際に利用する printf の使い方が 良く分かっていない,もしくは,忘れている人がかなりいたようです.もう一度 復習しておきましょう. 小テストの解答を見て,文字幅や右寄せ,左寄せを確認 して下さい.

  5. 多重配列

    配列の要素をまた配列とすることも出来ます.これにより2次元のデータや3次 元のデータを効率良く整理することも可能です. 次の例 は月とその月の日数をまとめたものです.

    day = [["Jan", 31], ["Feb", 28], ["Mar", 31], ["Apr", 30], ["May", 31],
    ["Jun", 30], ["Jul", 31], ["Aug", 31], ["Sep", 30], ["Oct", 31], ["Nov",
    30], ["Dec", 31]]
    
    print day[7], "\n"
    print day[7][0], "\n"
    

    このように [ ] で構成される配列の中にさらに [ ] を組み 合わせて多重の配列が作成できます.配列の要素の個数は揃っていなくても構い ませんし,上の例のように文字列と数値が混在しても構いません.

    要素を読み出すための方法は,配列の多重度によって変わります.上の例の結果 を見て確認して下さい.

    また,指数indexの使い方で,次のようなこともできますので,多重配列との違 いに注意して混同しないようにしましょう.

    ary1 = ["abc", "def", "ghi"]
    ary2 = ["abc", ["def", "ghi"], "jkl", "mno"]
    
    puts ary1[1,2]
    puts ary2[1,2]
    

  6. 配列の演算

    配列の和を取ることが出来ます.次の例は,要素をつなぎ合わせます.

    ary1 = ["abc", "def"]
    ary2 = ["ghi", "jkl"]
    
    p ary1 + ary2
    

  7. 演習

    • 前回の小テストで扱った成績表を次のような多重配列に変更してみます.

      record = [["Name", "English", "Physics"], ["Shin", 80, 50], ["Kira", 100, 100], ["Athrun", 100, 100], ["Cagalli", 95, 60], ["Yzak", 90, 90]]
      

      前回の小テストと同じ表示結果となるようなスクリプトを作成してみましょう.

          Aクラス解答例

          Bクラス解答例

    • 英語の平均点を求めるスクリプトを作成してみましょう.

          解答例

    • 要素が次のようになる配列を繰りかえしを利用して作成してみましょう.こ の場合,最初に空の配列を作るときにも多重の配列で作る必要があります.

      [[1, 2, 3, 4, 5, 6, 7, 8], 
      [2, 4, 6, 8, 10, 12, 14, 16],
      [3, 6, 9, 12, 15, 18, 21, 24], 
      [4, 8, 12, 16, 20, 24, 28, 32], 
      [5, 10, 15, 20, 25, 30, 35, 40], 
      [6, 12, 18, 24, 30, 36, 42, 48], 
      [7, 14, 21, 28, 35, 42, 49, 56], 
      [8, 16, 24, 32, 40, 48, 56, 64]]
      

          解答例

  8. 小テスト

    授業の終わりに小テストを実施します.アナウンスに注意していて下さい.

    Aクラス小テスト
    Bクラス小テスト

  9. 宿題

    宿題に関する案内が授業の終わりに紹介されます.注意にしたがって提出してく ださい.

    Aクラス宿題
    Bクラス宿題

  10. 本日の用語

    • 多重配列

      配列の要素が一つの系列指数で並んでいないもの.そのため,要素を指定する指 数indexは一つでは対応できない.配列の「次元」にしたがってindexを増やす必 要がある.例えば,3重配列であれば array[i][j][k] のようになる.


目次ページに戻る