1~100までの整数(偶数のみ)の加算結果を表示する

1~100までの整数のうち偶数のみの加算結果を求めます。
偶数のみを加算する方法として、
 1.1~100までの偶数のみを生成して加算する
 2.1~100まで全ての整数を生成し偶数か判断(判定)して加算する
の2種の方法で加算結果を求めてみます。

今回も、MicrofoftのVisual Studio 2022を使用します。

まずは、
1.1~100までの偶数のみを生成して加算するです。

・プロジェクトを作成します。
 Visual Studio 2022を起動し、
 新しいプロジェクトを作成します。
 ・プロジェクトタイプ:"コンソールアプリ"
 ・プロジェクト名:"ct_103_1"
 とします。

 ※プロジェクトの作成方法は、PCでC言語基礎編の
  ・1~100までの整数の加算結果を表示する
  ・2つの入力値(整数値)の四則演算結果を表示する
  を参考にして下さい。

・プログラム記述・編集画面が表示されるので、
 以下のプログラムを記述します。

プログラム記述後の画面1
プログラム記述後の画面1

 プログラムの記述内容

// 1~100までの整数(偶数のみ)を加算_1

#include <iostream>

int main()
{
    // 変数宣言
    int value, total, start_value, stop_value;

    // 変数の初期化
    total = 0;
    start_value = 2;
    stop_value = 100;

    // 範囲値の加算ループ
    for (value = start_value; value <= stop_value; value+=2 ) {
        total += value;
    }

    // 加算結果の表示
    printf("加算結果: %d\n", total);

    return EXIT_SUCCESS;
}

 簡単なプログラム解説です。

 ・変数宣言
  各値を格納するための変数を宣言
  int value, total, start_value, stop_value;
   value:1~100までの偶数のみの生成数値を格納
   total:1~100までの偶数のみの加算結果を格納
   start_value:繰り返し処理時のスタート値を格納 ( 2 )
   ※偶数のみの加算結果なので、1からではなく2から始めます。
   stop_value:繰り返し処理時のストップ値を格納 ( 100 ) 

 ・範囲値の加算ループ
  繰り返し制御文のfor( )を使用して、2~100まで(偶数のみ)を加算
  for( )文は、
   for( 初期値; 継続条件式; 繰り返し時の増加減式 ) { }
   for( value = start_value; value <= stop_value; value+=2 ){ }
   これは、
   変数valueの値を変数start_value( 2 )の値で初期化、
   変数valueの値が、変数stop_value( 100 )の値以下の条件で、
   繰り返し毎に、変数value値に2ずつ加算する( 2, 4, 6, 8, 10・・・100 )
   ※偶数のみの加算なので2ずつ加算して偶数のみを生成します。
    value+=2 ( value = value + 2 )
  繰り返し(ループ)内では、
   変数totalに、繰り返し毎回の変数value値を加算します。

 ・加算結果の表示
  範囲値の加算ループで変数totalに求めた1~100までの(偶数のみ)加算結果を表示   

 分岐制御文については、
  Arduino編の 制御文法を使う(分岐)条件により流れを変える
 繰り返し制御文については、
  Arduino編の 制御文法を使う(反復)条件により処理を繰り返す
 でもう少し詳しく解説しています

・実行してみます。
 上段メニュー"デバッグ(D)"のサブメニューより、
 "デバッグなしで開始(H)"を選択します。

・実行結果は、デバッグコンソール画面が開き表示されます。
 ※この実行では、1~100までの偶数のみの加算結果で、2050と表示されます。
 ※この画面は、何かのキーを打鍵することで閉じることができます。

実行結果(デバッグコンソール)画面1
実行結果(デバッグコンソール)画面1

続いて
2.1~100まで全ての整数生成し偶数かを判断(判定)して加算する です。

・プロジェクトを作成します。
 Visual Studio 2022を起動し、
 新しいプロジェクトを作成します。
 ・プロジェクトタイプ:"コンソールアプリ"
 ・プロジェクト名:"ct_103_2"
 とします。

・プログラム記述・編集画面が表示されるので、
 以下のプログラムを記述します。

プログラム記述後の画面2
プログラム記述後の画面2

 プログラムの記述内容

// 1~100までの整数(偶数のみ)を加算

#include <iostream>

int main()
{
    // 変数宣言
    int value, total, start_value, stop_value;

    // 変数の初期化
    total = 0;
    start_value = 1;
    stop_value = 100;

    // 範囲値の加算ループ
    for (value = start_value; value <= stop_value; value++ ) {
        // 偶数の判定
        if (value % 2 == 0) {
            total += value;
        }
    }

    // 加算結果の表示
    printf("加算結果: %d\n", total);

    return EXIT_SUCCESS;
}

 簡単なプログラム解説です。

 ・変数宣言
  各値を格納するための変数を宣言
  int value, total, start_value, stop_value;
   value:1~100までの生成数値を格納
   total:1~100までの加算結果を格納
   start_value:繰り返し処理時のスタート値を格納 ( 1 )
   stop_value:繰り返し処理時のストップ値を格納 ( 100 ) 

 ・範囲値の加算ループ
  繰り返し制御文のfor()を使用して、1~100まで(偶数のみ)を加算
  for( )文は、
   for( 初期値; 継続条件式; 繰り返し時の増加減式 ) { }
   for( value = start_value; value <= stop_value; value++ ){ }
   これは、
   変数valueの値を変数start_value( 1 )の値で初期化、
   変数valueの値が、変数stop_value( 100 )の値以下の条件で、
   繰り返し毎に、変数value値に1ずつ加算する( 1, 2, 3, 4, 5, 6・・・100 )
   ※偶数のみの加算なので2ずつ加算して偶数のみを生成します。
  繰り返し(ループ)内では、
   分岐制御文 if( )文を使い、変数valueの値が偶数か確認します。
   確認方法は、"value % 2 == 0"
   ※変数 value の2の剰余を求め、0であれば偶数、
    0でなければ奇数と判断できます。
   変数 valueの値が、偶数と判定された場合のみ、
   変数totalに、繰り返し毎の変数value値を加算します。
   ※このアルゴリズムの場合、
    無駄な(奇数分の)ループが発生します。

 ・加算結果の表示
  範囲値の加算ループで変数totalに求めた1~100までの(偶数のみ)加算結果を表示   

・実行してみます。
 上段メニュー"デバッグ(D)"のサブメニューより、
 "デバッグなしで開始(H)"を選択します。

・実行結果は、デバッグコンソール画面が開き表示されます。
 ※この実行では、1~100までの偶数のみの加算結果で、2050と表示されます。
 ※この画面は、何かのキーを打鍵することで閉じることができます。

実行結果(デバッグコンソール)画面2
実行結果(デバッグコンソール)画面2