| 問題番号 | 問題 | ヒント | 回答 | 
| 
配列xが下記のように宣言されているものとする. x = [ 3 , 4 , 9 , 6 , 2 ] 配列xの全ての要素を順番に出力するプログラムを書きなさい.  | 
なし  | 
回答 | |
| 
上記のプログラムをtimesメソッドを用いて,ループ化し, 書き直しなさい.  | 
なし  | 
回答 | |
| 
同様に,問題2のプログラムをeachメソッドを用いて,ループ化し, 書き直しなさい.  | 
なし  | 
回答 | |
| 
同様に,問題2のプログラムをwhileループを用いて書き直しなさい. | 
x = [ 3 , 4 , 9 , 6 , 2 ] i = 0 # 以下,whileループを完成させなさい  | 
回答 | |
| 
配列xの長さ(要素数)を出力するプログラムを書きなさい. | 
なし  | 
回答 | |
| 
配列xの全ての要素の合計を求めるプログラムを書きなさい. | 
x = [ 3 , 4 , 9 , 6 , 2 ] sum = 0 # 以下,timesメソッドを用いて完成させなさい  | 
回答 | |
| 
下記の配列xを,timesメソッドを用いて各要素に値を格納する プログラムを書きなさい. x = [ 1 , 2 , 3 , 4 , 5 ]  | 
x =[] # 以下,timesメソッドを用いて配列xの各要素に値を格納しなさい  | 
回答 | |
| 
問題7と同様に下記の配列xを,timesメソッドを用いて各要素に値を格納する プログラムを書きなさい. x = [ 1 , 4 , 9 , 16 , 25 ]  | 
なし  | 
回答 | |
| 
以下の二つの配列xとyの各要素の和を配列zに求めるプログラム を書きなさい x = [ 3 , 4 , 9 , 6 , 2 ] y = [ 7 , 8 , 3 , 1 , 4 ]  | 
x = [ 3 , 4 , 9 , 6 , 2 ] y = [ 7 , 8 , 3 , 1 , 4 ] z = [] # 以下,timesメソッドを用いて,配列xとyの各要素の和を # 配列zに求めなさい  | 
回答 | |
| 
問題9の配列xとyをベクトルとして,内積を求めるプログラムを書きなさい. | 
x = [ 3 , 4 , 9 , 6 , 2 ] y = [ 7 , 8 , 3 , 1 , 4 ] sum = 0 # 以下,timesメソッドを用いて,xとyの内積を求めるプログラム # を追加しなさい  | 
回答 | |
| 
配列xの要素の中で最小値を求め,出力するプログラムを作成しなさい. x = [ 3 , 4 , 9 , 6 , 2 ]  | 
x = [ 3 , 4 , 9 , 6 , 2 ] min = 99999 # 以下,timesメソッドを用いて最小値を求め,変数minに格納する # プログラムを書きなさい  | 
回答 | |
| 
問題11と同様に,配列xの要素の中で最大値を求め,出力するプログラムを 作成しなさい. x = [ 3 , 4 , 9 , 6 , 2 ]  | 
なし  | 
回答 | |
| 
配列xの要素の平均値を求め,求めた平均値よりも大きい値を持つ要素を 出力するプログラムを書きなさい.  | 
平均値を求める方法は問題6を参照しなさい  | 
回答 | |
| 
キーボードから整数を入力し,順番に配列xに格納し,その結果を出力する プログラムを書きなさい. (キーボードからの入力はqを入力することで終了とする)  | 
キーボードからの整数入力については前回の問題21を参照しなさい  | 
回答 | |
| 
整数n(n>=0)を入力し,整数nが0になるまで2で割り続けなさい. そして整数nを2で割る度に,その余りを配列amariに順番に格納するプログラム を作成しなさい.  | 
整数nを入力し,2で割り続けるプログラムは前回の問題11,12を参照しなさい.  | 
回答 | |
| 
上記の問題において配列amariの各要素を逆順に出力しなさい. (十進数から二進数の変換プログラム)  | 
downtoメソッドを用いなさい.  | 
回答 | |
| 
以下の配列が宣言されている時,x[ 0 ]とx[ 1 ]の要素を交換する プログラムを書きなさい. x = [ 5 , 10 ]  | 
x = [ 5 , 10 ]
# 以下に交換するプログラムを追加しなさい
x.length.times { |i|
        printf( "x[ %d ] = %d\n" , i , x[ i ] )
}
 | 
回答 | |
| 
以下の配列xの要素をtimesメソッドを用いて,逆順に並び変えるプログラムを 作成しなさい. (配列x = [ 3 , 4 , 9 , 6 , 2 ]をx = [ 2 , 6 , 9 , 4 , 3 ]としなさい) また配列xの要素数を偶数個とした場合においても確認しなさい.  | 
x = [ 3 , 4 , 9 , 6 , 2 ]
( x.length / 2 ).times { |i|
	# x[ i ] と x[ x.length-i-1 ]を交換するプログラムを追加しなさい
}
x.length.times { |i|
        printf( "x[ %d ] = %d\n" , i , x[ i ] )
}
 | 
回答 | |
| 
0から1未満の乱数を1000回生成し,配列x[ 0 ]に0.5以上の数の出現回数を, x[ 1 ]に0.5未満の出現回数を求めるプログラムを書きなさい.  | 
x = [ 0 , 0 ]
1000.times{ |i|
	# 以下にプログラムを追加しなさい
}
printf( "0.5以上の回数は%d回,未満の回数は%d回です\n" , x[ 0 ] , x[ 1 ] )
 | 
回答 | |
| 
整数1から6の値をランダムに1000回生成し,整数1の出現回数をx[ 0 ]に, 整数2の出現回数をx[ 1 ]にといったように,配列xに格納するプログラム を作成しなさい. (サイコロを1000回振った時,各目の出現回数を調べるプログラム)  | 
x = [ 0 , 0 , 0 , 0 , 0 , 0 ]
1000.times{ |i|
	# 以下にプログラムを追加しなさい
}
x.length.times { |i|
        printf( "%dの出現回数は%d回です\n" , i+1 , x[ i ] )
}
 | 
回答 | |
| 
x[ 0 ]=1,x[ 1 ]=1とした場合,x[ n ] = x[ n-1 ] + x[ n-2 ]を求める プログラムを書きなさい(フィボナッチ数列を求めるプログラム). 変数nの値を大きくして実行しなさい.  | 
x = [ 1 , 1 ]
n = 10
# フィボナッチ数列を求めるプログラムを書きなさい.
n.times { |i|
	printf( "x[ %d ] = %d\n" , i , x[ i ] )
}
 | 
回答 |