cp abc.txt ../
--------------------------- print 2 > 5, "\n" --------------------------
-----------program Start ---------
1 printf ("テストの得点を入力して下さい。\n")
2 a = gets.chomp
3 ten = a.to_i
4 if ten < 60 then
5 printf("%d点なので、「不可」です。\n", ten)
6 elsif (ten >= 60) & (ten < 70)
7 printf("%d点なので、「可」です。\n",ten)
8 elsif (ten >= 70) & (ten < 80)
9 printf("%d点なので、「良」です。\n",ten)
10 else
11 printf("%d点なので、「優」です。\n",ten)
12 end
------------Program End ----------
#!/usr/local/bin/ruby a = 18 b = 5 print a + b ,"\n"と書くと、計算結果として ``23''と表示される。 では、以下のように書くとどのように表示されるか?
#!/usr/local/bin/ruby a = "18" b = "5" print a + b ,"\n"
for n in 3..5 x = x + n end
for n in 3..5 x *= n end
------------program Start --------- 1 while line = gets 2 if /SAI?TOH/ =~ line 3 print line 4 end 5 end ------------Program End -----------
1: class Number 2: def wasan(a,b) 3: sum = 0 4: for n in a..b do 5: sum = sum + n 6: end 7: return sum 8: end 9: 10: def kaijo(a) 11: kai = 1 12: for n in 1..a do 13: kai = kai * n 14: end 15: return kai 16: end 17: end 18: 19: a = Number.new 20: print "合計は ", a.wasan(1,5),"です。\n" 21: print "合計は ", a.wasan(1,10),"です。\n" 22: print a.wasan(1,3) + a.wasan(1,5), "は、合計の合計です。 \n" 23: a.kaijo(3) 24: print a.kaijo(5)
ファイル名: tokuten.dat
#-------------------データここから----------
Math 80ten
English 85ten
Physics 77ten
Electromagenetism 82ten
Electrocircuit 89ten
Speciallecture 90ten
Excercise 95ten
Chemistry 65ten
#-------------------データここまで----------
プログラム
1: kamoku = []
2: ten = []
3: open("tokuten.dat", "r") do |exam|
4: i = 0
5: while line = exam.gets
6: if /(\w+)\s+(\d+)ten/ =~ line
7: kamoku[i] = $1
8: ten[i] = $2
9: printf("%3d %s", i, line)
10: end
11: i += 1
12: end
13: end
14:
15: sum = 0
16: for n in 0..7 do
17: sum = sum + ten[n]
18: end
19: printf("平均点は %3d です。\n", sum/8)
``if /(\w+)\s+(\d+)ten/ =~ line'' のうち、 i) \wの意味を説明せよ ii) + の意味を説明せよ。 iii) \s の意味を説明せよ。 iv) \dの意味を説明せよ。
exam1.rb:17:in `+': String can't be coerced into Fixnum (TypeError)
from exam1.rb:17
from exam1.rb:16:in `each'
from exam1.rb:16
但し、エラーメッセージの単語の意味は次の通り。