学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Ruby | 11 | 配列

↓↓クリックして頂けると励みになります。



10 | case】 << 【ホーム】 >> 【12 | Sort

配列を用いたプログラム
配列を用いたプログラム



Rubyの配列(Array)は、複数の要素を格納するためのデータ構造です。
配列は順序付けられたリストであり、要素は整数のインデックスを使ってアクセスできます。
Rubyの配列は可変長であり、異なるデータ型の要素を混在させることができます。

Rubyの配列を作成するには、角括弧([])を使用し、要素をカンマで区切って列挙します。

配列の要素にアクセスするには、要素のインデックスを指定します。
最初の要素のインデックスは0から始まります。

Rubyの配列は非常に柔軟で強力なデータ構造であり、さまざまなタスクに活用されます。




Visual Studio Codeで以下のプログラムを作ってみましょう。


新規作成 【hairetsu1.rb】

# hairetsu1.rb

a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

for i in  0..9 do
	tmp = a[i] * a[i]
	puts a[i].to_s + '*' + a[i].to_s + '=' + tmp.to_s
end



配列を扱うには次のようにします。


配列宣言と同時に直接値を代入する。

a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]



また、配列に代入した値を使用する場合は、次のように使用します。

a[0]
a[3]



配列をわかりやすく書くと次のようになります。

a = [ a[0],a[1],a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9] ]

ですので、a[0]1であり、a[5]6a[9]10となります。
これを使って計算などを行うには次のようにしてやります。

tmp = a[5] + a[7]

変数tmpの値は14となります。


また、配列の数を表すには次のようなやり方があります。

変数名.length
使用例  a.length

今回の a.length10になります。


出力結果を見てみましょう。

~/Desktop/Programming/RB $ ruby hairetsu1.rb
 
1*1=1
2*2=4
3*3=9
4*4=16
5*5=25
6*6=36
7*7=49
8*8=64
9*9=81
10*10=100



Visual Studio Codeで以下のプログラムを作ってみましょう。


新規作成 【hairetsu2.rb】

# hairetsu2.rb

data = [10, 75, 24, 32, 98, 72, 88, 43, 60, 35,	54, 62, 2, 12, 82]

sum = 0

for i in 0..(data.length-1) do
	sum += data[i]
end

puts '合計:' + sum.to_s



合計を求めるプログラムです。
sum += data[i]の意味はsum = sum + data[i]と同じ意味です。


繰り返されるごとにdata[0]から足されていき、最後には合計が求められます。


出力結果です。

~/Desktop/Programming/RB $ ruby hairetsu2.rb 

合計:749



Visual Studio Codeで以下のプログラムを作ってみましょう。


新規作成 【hairetsu3.rb】

# hairetsu3.rb

data = [10, 75, 24, 32, 98, 72, 88, 43, 60, 35, 54, 62, 2, 12, 82]

sum = 0

for i in 0..(data.length-1) do

	sum += data[i] 

	ave = (sum.to_f/data.length.to_f).round(4)

end

puts '平均:' + ave.to_s



合計を求めるまでは、「hairetsu2.rb」と同じですが平均を求める式が違うことをやっています。


変数の計算は同じ型同士でしなくてはなりません。
違う型同士で演算すると思わぬエラーがでたり、予想と違った出力結果になったりします。


今回は結果を小数点まで求めたかったので、変数aveをfloat型としました。
float型の指定はto_f関数を使用します。


型をそろえることでfloat同士の演算となりますので、小数点以下も求めることができます。
さらにround()関数を使用して少数第四位で切り捨てています。


出力結果です。

~/Desktop/Programming/RB $ ruby hairetsu3.rb

平均:49.9333



Visual Studio Codeで以下ののプログラムを作ってみましょう。


新規作成 【hairetsu4.rb】

# hairetsu4.rb

data = [10, 75, 24, 32, 98, 72, 88, 43, 60, 35, 54, 62, 2, 12, 82]

max = data[0]

for i in 1..(data.length-1) do

	if data[i] > max then
		max = data[i]
	end
end

puts '最大値:' + max.to_s



最大値を求めるプログラムです。
結果を確認してみましょう。

~/Desktop/Programming/RB $ ruby hairetsu4.rb

最大値:98



10 | case】 << 【ホーム】 >> 【12 | Sort




↓↓クリックして頂けると励みになります。