情報科学概論 期末試験
2003.7.29

解答例と採点基準

Back to index page

注意

携帯電話は電源を切ってパソコンの筐体の上に置いておくこと.試験中は手を触 れてはいけない.Sylpheedは試験時間終了10分前以前に起動させてはいけない.


提出先aegis@mag.shimane-u.ac.jp
件名Ruby exam s0340**
解答用紙ファイル名 Form-ruby-s0340**.txt

解答用紙 <=この用紙を必ず利用するこ と!

学生番号と名前を忘れずに記入すること.


  1. 次の文字列を表示するスクリプトを作成し,解答用紙に記入せよ.(6点)

    I say, "Good-bye."
    You say, "Hello!"
    

    文字と記号は,1バイトコード,すなわち,日本語かな漢字変換を使用しないでキーボー ドからそのまま入力できる文字と記号を使用すること.(つ まり,「"」の代わりに「”」の記号を使ったものは正解としない.)

  2. 0から200までの範囲の乱数を20回生成させ,1行に一つずつ20行で表示する スクリプトを作成し,解答用紙に記入せよ.なお,数字は右揃えとすること. (6点)

  3. コマンドライン引数として一文字ずつスペースを空けてアルファベットの小 文字を与えると,アルファベットを1文字ずらして結果を表示するスクリ プトを作成し,解答用紙に記入せよ.(7点)

    「1文字ずらす」とは,aであればb,mであればn,zであれば aに変換する操作である.動作は以下の例のようになる.

    $ ruby shift.rb i l o v e y o u

    j m p w f z p v
    

    このスクリプトでは次の配列を用意しておき,剰余と組み合わせて考えると良い.

    alpha = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"] 
    

  4. 任意の整数をコマンドライン引数として与えたとき,その整数の約数一覧を 表示するスクリプトを作成し,解答用紙に記入せよ.(7点)

    動作としては,次のようになるものとす る.

    $ ruby divisor.rb 345

    1 3 5 15 23 69 115 345 
    

  5. 設問4を拡張して,コマンドライン引数として与える整数を2つに増やし,二 つの整数の最大公約数(GCM)を求めるスクリプトに改良せよ.(7点)

    表示結果は,次の ようなものになるとする.

    $ ruby gcm.rb 1254 14535

    [1, 2, 3, 6, 11, 19, 22, 33, 38, 57, 66, 114, 209, 418, 627, 1254]
    [1, 3, 5, 9, 15, 17, 19, 45, 51, 57, 85, 95, 153, 171, 255, 285, 323, 765, 855, 969, 1615, 2907, 4845, 14535]
    [1, 3, 19, 57]
    GCM = 57
    

  6. 以下に示す10人の身長(単位cm)と体重(単位kg)をカン マ区切りでまと めた表がある.

    Name,Height,Weight
    Athrun,170,63
    Cagalli,162,54
    Dearka,176,67
    Kira,165,65
    Lacus,158,53
    Miriallia,159,52
    Nicol,165,61
    Ssigh,170,63
    Tolle,163,59
    Yzak,175,66
    

    10人の平均身長と平均体重を計算し,右端に肥満度を示すローレル指数を追加し て,次のように表示するスクリプトを作成し,解答用紙に記入せよ.(7点)

    Name      Height Weight Laurel
    Athrun       170     63   128
    Cagalli      162     54   127
    Dearka       176     67   122
    Kira         165     65   144
    Lacus        158     53   134
    Miriallia    159     52   129
    Nicol        165     61   135
    Ssigh        170     63   128
    Tolle        163     59   136
    Yzak         175     66   123
    Average      166     60   131
    

    なお,ローレル指数とは体重(kg)を身長(cm)の3乗で割ったものに,10の7乗をか けたものである.


提出先aegis@mag.shimane-u.ac.jp
件名Ruby exam s0340**
解答用紙ファイル名 Form-ruby-s0340**.txt

学生番号と名前を忘れずに記入すること.


目次ページへ戻る