問題番号 | 問題 | ヒント | 回答 |
配列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 ] ) } |
回答 |