提出課題:02回目レポート
本文:
問題1と2

(問題1)
1.
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

print"好きな整数を入力してください。\n"

number = gets.chomp!.to_i

if number == 1
  print"素数ではありません\n"
  exit
end

a = 0

for i in  2..number
  sosuu = number%i
  if sosuu == 0
    a += 1
  end
  
end

if a == 1
  printf("%dは素数です。\n",number)
else
  printf("%dは素数ではありません。\n",number)
end

2.
�〜膿瑤両豺�
y{c122xxx}% ./ruby2-1-1.rb                                        [~/program]
好きな整数を入力してください。
79
79は素数です。
�∩膿瑤任呂覆ぞ豺隋�
boy{c122xxx}% ./ruby2-1-1.rb                                        [~/program]
好きな整数を入力してください。
780
780は素数ではありません。

3. 
8〜11行目、とりあえず1は素数ではないので始めに省いてしまう。exitでプログラムを終了させる。
13行目、aを初期値0に設定。
15〜19行目、素数か見分ける処理。素数は割り切れる数字が、1とその値の数。つまり、numberに受け取った整数を、2からその値までの整数全てで割った、あまりの値の数から求められる。for inを使うことで、inの後の配列や指定した数字から数時までを繰り返し代入し、下の処理をその値ぶん繰り返す。
15行目、forを使い、変数iに2から入力された値までの数を順に入れていく。2..nuberは2〜numberまでの数という意味。
16行目、sosuuという変数にnumberをiに入れた値で割ったあまりの値を入れていく。%はあまりを求めるもの。
17行目、もしsosuuの値が0だった場合割り切れたという事だ。
18行目、17行目の条件に合致した場合aに1ずつ足す。これは、最終的に割り切れた回数を出している。
23〜27行目、aが1だった場合に、素数であると表示させる。aは2〜入力した値で割り切れる回数なので、入力された数だけで割り切れればよいのでa==1である。

(問題2)
1.
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

goukei = 0
number = 0
deta = []

10.times do
  printf("%d回目のデータを入力してください\n",number+1)
  deta[number] = gets.chomp!.to_f
  goukei += deta[number]
  number += 1
end

heikin = goukei/10

hensagoukei = 0
x = 0

print"---------------------------\n"

while x < deta.length
  hensagoukei += (deta[x] - heikin)**2
  printf("%2d回目のデータ%5.2f\n",x+1,deta[x])
  x += 1
end

print"---------------------------\n"

hyohen = hensagoukei/10
hehokon = Math.sqrt(hyohen)


printf("平均値は%.2f、標準偏差は%.2fです。\n",heikin,hehokon)
  print"---------------------------\n"

2.
boy{c122xxx}% ./ruby2-1-2.rb                                        [~/program]
1回目のデータを入力してください
3
2回目のデータを入力してください
4
3回目のデータを入力してください
5
4回目のデータを入力してください
6
5回目のデータを入力してください
7
6回目のデータを入力してください
8
7回目のデータを入力してください
9
8回目のデータを入力してください
8
9回目のデータを入力してください
7
10回目のデータを入力してください
6
---------------------------
 1回目のデータ 3.00
 2回目のデータ 4.00
 3回目のデータ 5.00
 4回目のデータ 6.00
 5回目のデータ 7.00
 6回目のデータ 8.00
 7回目のデータ 9.00
 8回目のデータ 8.00
 9回目のデータ 7.00
10回目のデータ 6.00
---------------------------
平均値は6.30、標準偏差は1.79です。
---------------------------

3.
8行目、整数.times doでendまでの処理が単純に繰り返される。ここでは10回。
10,11行目、detaは配列にしているので、[]の中にnumberの値を埋め込む。Numberの初期値は0なので、最初はdeta[0]ということになる。
10行目、deta[0]~deta[9]まで入力された文字が繰り返し代入される。
11行目、goukeiにdetaの値が繰り返し足される。
12行目、numberに繰り返し1足す。
22行目、lengthメソッドを使い、配列detaの中身がある分だけ繰り返す。(もしかしたら今回は10回と決まっているのでlengthを使わずに上と同じようでもよかったかもしれない。)
23行目、標準偏差を求める途中までの計算。入力された値を平均値で引き2乗したのを、繰り返しhensagoukeiに足していく。
30行目、hensagoukeiを回数で割る。
31行目、Math.sqrt(変数)で平方根が計算される。

4.誤字が多く実行できないことが多々あった。答えを求めるための計算工程を考えるのが大変だった。問題3も取り組んでいるのでもしうまくいったら見てほしいです。

添付:
ruby2-1-1.rb
ruby2-1-2.rb