総合 ゲーム 画像動画

【ゼロからはじめるプログラミング】JavaScript学習 #13

ゼロからはじめるプログラミング講座の第二十五回です。今回はfor文を使ったカウント処理を解説していきます。

 

  1. カウントアップ処理をしてみよう。
  2. カウントアップを使ってループを止めてみよう。
  3. 練習問題を解いてみよう。

 

 

カウントアップ処理をしてみよう。

カウントアップとは1→2→3と数字が増えていくような処理のことです。

何か数を数えるときに役に立つ処理です。今回は1~100までの数字で3で割り切れる偶数がいくつあるかを数えてみようと思います。

var cnt = 0
for(var i=1; i<=100; i++){
  var a = i % 3
  var b = i % 2
  if(a == 0 && b == 0){
    cnt++
  }
}
console.log("3で割り切れる偶数は" + cnt + "個です。")
3で割り切れる偶数は16個です。

 

分かりやすいようにa%3とa%2としていますが3で割り切れる偶数は6の倍数になるのでもちろんa%6としても良いです。

重要なのはcnt++の部分です。if文の条件が真のときはforブロックの外にある変数をインクリメント++で+1してます。これで数を数えることができます。

簡単な処理ですが非常に便利な使い方なのでマスターしましょう。

 

 

カウントアップを使ってループを止めてみよう。

次はfor文の外の変数にアクセスしてループを止める処理を作ってみましょう。

先ほどのコードを少し変更して1-100までの数字で3で割り切れる偶数の5番目が何になるかを表示させてみましょう。

var cnt = 0
var out // 結果を入れる変数を宣言しておく
for(var i=1; i<=100; i++){
  var a = i % 3
  var b = i % 2
  if(a == 0 && b == 0){
    cnt++
    if(cnt == 5){ // 5番目なら
      out = i //
      i = 101 // iを101にしてfor文を終了させます。
    }
  }
}
console.log("3で割り切れる偶数の5番目" + out + "です。")
3で割り切れる偶数の5番目30です。

 

forブロックの外の変数にアクセスできるだからもちろんカウントを確認することもできます。cntが5になったら予め作っておいた変数outに現在の数字(変数i)を代入します。

そしてiを書き換えて強制的にループを終了させています。ループを終了する方法は他にもあるのですがそれは次回説明しようと思います。

 

 

練習問題を解いてみよう。

 

  1. 1~nまで二乗して7で割り切れる偶数をカウントしていくつあるのかを表示する関数を作りなさい。
  2. 1問目で作った関数を使いnが100の場合と1000の場合を実行して表示しなさい。

 

正解するとこうなります。

7
71

 

解答例はこうです。(マウスオーバーで表示)

var cnt = 0
function check(num){
  cnt = 0 // まずカウントを0に戻します。
  for(var i=1; i<=num; i++){ // ループ上限を引数で受けるようにします。
    var a = i * i
    if(a%7 == 0 && a%2 == 0){
      cnt++
    }
  }
  console.log(cnt)
}
check(100)
check(1000)

 

全問正解しましたか?for文if文と関数も出てきました。今までの知識を組み合わせることで自分でこのような複雑な機能をもった命令を作ることができました。

 

お疲れ様でした。次回はforループ解説の最後、特殊なループの止め方を解説します。

次も頑張って記事を作るのでチャレンジしてください!

JavaScript #1/#2/#3/#4/#5/#6/#7/#8/#9/#10/#11/#12/#13/#14/#15/#16/#17/#18/#19/#20

コメントを残す。

メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。URLを含むコメントは承認待ちになります。