東北公益文科大学2年 情報表現 試験問題

出題者:   大駒、西口、広瀬
持ち込み:  参考書、ノート,コピー、メモ、電卓は可、パソコンは不可。
回収:    解答用紙のみ回収する、問題用紙は持ち帰ってよい。

1. 2進数「11111010011」を10進数に変換せよ.

2. 数式
      x-y       a
     ─── - ───
       z       b+c
   をRubyの式に直せ.

3. 次のプログラムに関し,下記の問に答えよ.
1:  def add(x,y)
2:     x+y
3:  end
4:  a = Array.new
5:  a[0] = 0
6:  a[1] = 1
7:  i = 2
8:  while i < 10
9:     a[i] = add(a[i-1], a[i-2])
10:    i+=1
11: end

(a)     プログラムの9行目の実行回数
(b)     プログラムを終了したときのa[2]の値
(c)     プログラムを終了したときのa[9]の値
(d)     プログラムを終了したときのa[10]の値

4. 以下は「入力された文字列にアルファベット(大文字および小文字)が含ま
   れているか否かを判別」するプログラムである。空欄の(1)〜(3)の中に適
   当な文字列をあてはめ,完成せよ。

print "文字列を入力してください。\n"
word = gets.chop
if (1) (2)  word
print "文字列にアルファベットが含まれています。\n"
 (3)
print "文字列にアルファベットは含まれていません。\n"
end

 [解答群]
a. while   b. if   c. for   d. else   e. STDIN
f. ==   g. =!   h. >=   i. <=   j. =~
k./[a-z]/  l./[A-Z]/  m./[a-zA-Z]/  n./[~a-zA-Z]/ n. end

5. 底辺と高さの値を引数として受け取って、その三角形の面積を計算して返す
   メソッドを書け。

6. 標準入力から読み込んだすべての文字列の長さの和を求めるプログラムを書
   け。ただし改行コードは数えないものとする。