情報科学概論
Aクラス 小テスト 2006.01.30

Back


以下の設問の解答は所定の解答用紙に記入 して添付書類として提出して下さい.その際に,ファイル名 を必ず自分にあったものに変更することと学生番号と氏名を記入すること を忘れないようにして下さい.

提出は合図があるまで勝手にしないこと!指示に従って 作業を行うこと.

設問

5以上8以下の整数の乱数 n を発生させる.n x n個の200以 下の正の整数の 乱数を発生させ, n n 列に並べるように配列化し,表示する.その左上 の隅から右下の隅までの対角線上の数の和を求め,表示するスクリプトを作成せ よ.実行結果は以下のような表示になるものとする.

   1  55 142 198  52 151  84
   3  88  66 173  18 164 101
  20  88  55  53  37 118 139
  19  30 125  70  88 153  49
 140 123 118 140 143 115  60
 181  78  53 123   7  42 147
  95 158 130 193 130 132 147

対角線上の数の和:546


解答例

n = rand(4) + 5

ary = []

for i in 0..n-1
  ary[i] = Array.new(n)
end

for i in 0..n-1
  for j in 0..n-1
    ary[i][j] = rand(200) + 1
    printf "%4d", ary[i][j]
  end
  
  printf "\n"
end

sum = 0

for i in 0..n-1
  sum += ary[i][i]
end

printf "\n対角線上の数の和:%d\n", sum


情報科学概論
Bクラス 小テスト 2006.01.30


以下の設問の解答は所定の解答用紙に記入 して添付書類として提出して下さい.その際に,ファイル名 を必ず自分にあったものに変更することと学生番号と氏名を記入すること を忘れないようにして下さい.

提出は合図があるまで勝手にしないこと!指示に従って 作業を行うこと.

設問

5以上8以下の整数の乱数 n を発生させる.n x n個の200以 下の正の整数の 乱数を発生させ, n n 列に並べるように配列化し,表示 する.その右上 の隅から左下の隅までの対角線上の数の和を求め,表示するスクリプトを作成せ よ.実行結果は以下のような表示になるものとする.

 152  34 102 165 106  32  15  45
 194 160 185  34 116   4  82 161
  74  19 127 138 147  32 145 143
 193 138  90 102  55 161  50  49
 174 129 165  18 190  96  39  93
 188 108  22   6  67  91  86 182
 109  61 190 193   5  61 188  84
  82  97 164 181  61   2   5  60

対角線上の数の和:397


解答例

n = rand(4) + 5

ary = []

for i in 0..n-1
  ary[i] = Array.new(n)
end

for i in 0..n-1
  for j in 0..n-1
    ary[i][j] = rand(200) + 1
    printf "%4d", ary[i][j]
  end
  
  printf "\n"
end

sum = 0

for i in 0..n-1
  sum += ary[i][n-i-1]
end

printf "\n対角線上の数の和:%d\n", sum


Back