課題【練習問題(変数/関数/処理の流れ)】ーNo.008

課題内容

  • <概要>
  •  2つの配列(AとBとして今後説明します)に、
  •  ランダムな9個の数値を入れます。
  •  また、空の配列(CとDとEとして今後説明します)を用意します。
  •     
  •  繰り返しごとに、配列Aと配列Bの値を比較します。
  •  比較は、配列Aの1番目の要素と
  •  配列Bの1番目の要素を比較するように
  •  それぞれ順番に配列Aと配列Bの値を比較してください。
  •     
  • <比較した結果の判定>
  •  配列Aの値が大きい場合:配列Cに結果を入れる(文字列)
  •  配列Bの値が大きい場合:配列Dに結果を入れる(文字列)
  •  配列Aと配列Bの値が同じ場合:配列Eに結果を入れる(文字列)
  •  文字列としては、
  •  「配列AのXXと配列BのXXは〇〇」
  •  を配列C、D、Eに入れましょう。
  •  〇〇は、どっちが大きかったか、同じだったかを入れる。
  •   
  • <結果>
  •  結果として、コンソールには、
  •  配列C、D、Eの値を元に
  •  「配列Aの値が大きいもの」
  •   :ここに結果
  •  「配列Bの値が大きいもの」
  •   :ここに結果
  •  「配列Aと配列Bの値が同じもの」
  •   :ここに結果
  •  を表示してみましょう。
  •   

出力結果

例えば、

配列の値として、

let sampleListA = [1,2,3,4,5,6,7,8,9];
let sampleListB = [9,8,7,6,5,4,3,2,1];

という値を入れている配列を準備した場合は、

コンソールには、このように表示されます。

配列Aの値が大きいもの 
配列Aの6と配列Bの4はAの方が大きい
配列Aの7と配列Bの3はAの方が大きい
配列Aの8と配列Bの2はAの方が大きい
配列Aの9と配列Bの1はAの方が大きい
配列Bの値が大きいもの 
配列Aの1と配列Bの9はBの方が大きい
配列Aの2と配列Bの8はBの方が大きい
配列Aの3と配列Bの7はBの方が大きい
配列Aの4と配列Bの6はBの方が大きい
配列Aと配列Bの値が同じもの 
配列Aの5と配列Bの5はAとBの値は同じ

ポイント(繰り返し処理)

今回の課題では、

for文を使って繰り返し処理をおこないましょう。

繰り返すfor文の方法は、こちらの課題を参考にしましょう。

課題【処理の流れ】ーNo.005

答え

// 値の入った配列を用意します。
// わかりやすく、1から順に値を入れています。
// 他の値を入れたときの動きも試しておきましょう。
let sampleListA = [1,2,3,4,5,6,7,8,9];
let sampleListB = [9,8,7,6,5,4,3,2,1];

//Aの方が値が大きい結果を入れる配列
let sampleListC = [];

//Bの方が値が大きい結果を入れる配列
let sampleListD = [];

//AとBの方が値が同じ結果を入れる配列
let sampleListE = [];

// for文で10回の繰り返しをする
for(let i=0;i<9;i++) {
  let baseStr = '配列Aの'+sampleListA[i]+'と配列Bの'+sampleListB[i];
  // 配列の要素について、特定の値と比較する
  if(sampleListA[i] > sampleListB[i]) {
    //結果の文字列を配列に追加
    sampleListC.push(baseStr+'はAの方が大きい');
  }
  else if(sampleListA[i] < sampleListB[i]) {
    //結果の文字列を配列に追加
    sampleListD.push(baseStr+'はBの方が大きい');
  }
  else {
    //結果の文字列を配列に追加
    sampleListE.push(baseStr+'はAとBの値は同じ');
  }
}

// コンソールに表示
console.log('配列Aの値が大きいもの');
for(let idxC=0;idxC<sampleListC.length;idxC++) {
  console.log(sampleListC[idxC]);
}
console.log('配列Bの値が大きいもの');
for(let idxD=0;idxD<sampleListD.length;idxD++) {
  console.log(sampleListD[idxD]);
}
console.log('配列Aと配列Bの値が同じもの ');
for(let idxE=0;idxE<sampleListE.length;idxE++) {
  console.log(sampleListE[idxE]);
}

課題一覧に戻る