====== if文の演習をします(5月24日、25日) ====== ==== 比較演算子 ==== [[http://www.yz-learning.com/yzwiki/doku.php?id=cpp:comparison-operator|この辺見てね!]]\\ === 第1問 === 難易度:★☆☆☆☆\\ //1,2時間目にやった条件分岐を実際に書いてみる // ⓪ aを宣言(整数) // ① aを読み込み(整数) std::cin  // ② a > 5 ? if( )~else~ // Yes: a - 5 を表示 std::cout // No: a + 5 を表示 std::cout // ③ 終了 === 模範解答 === #include using std::cin; using std::cout; using std::endl; //↑これを書いておくとstd::を省略できる int main() { int a; cin >> a; if(a > 5) { cout << a - 5 << endl; } else { cout << a + 5 << endl; } return 0; } === 第2問 === 難易度:★☆☆☆☆\\ //その2 // ⓪ aを宣言(整数) // ① aを読み込み(整数) std::cin  // ② a が 10と等しいか? if( )~else~ ? // Yes: a を表示 std::cout // No: 何もしない ????? // ③ 終了 === 模範解答 === #include using std::cin; using std::cout; using std::endl; int main() { int a; cin >> a; if(a == 10) { cout << "a = " << a << endl; } return 0; } === 第3問 === 難易度:★★☆☆☆\\ //その3 // ⓪ aを宣言(整数) // ① aを読み込み(整数) std::cin  // ② a は5より大きく10以下か? if( )~else~ ? // Yes: a を表示 std::cout // No: 何もしない ????? // ③ 終了 === 模範解答 === #include using std::cin; using std::cout; using std::endl; int main() { int a; cout << "aを入力:"; cin >> a; if(a > 5 && a <= 10) { cout << "a = " << a << endl;; } return 0; } === 第4問 === 難易度:★★☆☆☆\\ * 宝箱が3つあります、宝箱にはそれぞれに1~3の番号がついています。 * この宝箱を1つだけ選んで開けます。 * 1番には、モンスターが入っています。(開けるとモンスター出現) * 2番には、宝物が入っています(開けるとお宝ゲット) * 3番には、罠がかかっています(開けると毒を食らう) 以下の処理を実装しなさい。\\ - "3つのうち1つの宝箱を開けます。番号を入力してください(1~3)"のメッセージを表示 - 1が押された? * Yes: "モンスターが現れた"と表示 * No : 以下の条件処理を行う - 2が押された? * Yes: "宝物ゲット!"と表示 * No :以下の条件処理を行う - 3が押された? * Yes: "罠だ!毒を食らった"と表示 * No: "エラー :1~3以外が入力されました"と表示 - 終了 === 模範解答 === #include using std::cin; using std::cout; using std::endl; int main() { int input; cout << "3つのうち1つの宝箱を開けます。\n番号を入力してください(1~3) : " ; cin >> input; if(input == 1) { cout <<"モンスターが現れた!" << endl; } else if(input == 2) { cout <<"宝物ゲット!" << endl; } else { cout <<"罠だ!毒を食らった" << endl; }//それ以外はエラーにするにはどうする? return 0; } === 第5問 === 難易度:★★☆☆☆\\ 試験の点数をキーボードから入力します。\\ 試験の点数によって、以下のメッセージを表示したい。\\ |< 50% 150px 300px >| | 条件 | 表示内容 | | 得点が80点以上 | 高得点!おめでとう。 | | 80 > 得点 ≧ 65点の範囲 | (80は含まないが、65は含む)もう少しで高得点。 | | 65 > 得点 ≧ 35点の範囲 | (65は含まないが、35は含む)もう少し頑張りましょう。 | | 得点が35点未満 | 追試です。 | プログラムで以上の処理を実現しなさい。\\ === 模範解答 === #include using std::cout; using std::cin; using std::endl; int main() { int point; cout << "得点を入力:"; cin >> point; //得点が80点以上 高得点!おめでとう。 if(point >= 80) { cout << "高得点!おめでとう。" << endl; } //(80は含まないが、65は含む) //もう少しで高得点。 else if(point >= 65) { cout << "もう少しで高得点。" << endl; } else if(point >= 35) { cout << "もう少しがんばりましょう。" << endl; } else { cout << "追試です" << endl; } return 0; } === 第6問 === 難易度:★☆☆☆☆\\ 整数をキーボードから入力(入力要求のメッセージを出す)させ、\\ 偶数か奇数に応じてメッセージを表示するプログラムを作る\\ 各メッセージ 入力要求 : 整数を入力して下さい。 偶数の時 : ○○は偶数です。 奇数の時 : ○○は奇数です。 (但し、○○は入力された整数) (整数以外のものが入力された時に実行時エラーとなっても良しとする。 === 模範解答 === #include using std::endl; using std::cout; using std::cin; int main() { int var; cout << "整数を入力:"; cin >> var; //これの意味なんだっけ? if(var % 2 == 1) { cout <<"奇数" << endl; } else { cout <<"偶数" << endl; } return 0; } === 第7問 === 難易度:★★★☆☆\\ 西暦をキーボードから入力して、その入力した年が「うるう年」か「平年」かを判定するプログラムを作りなさい。 うるう年は以下の3つの条件から判定されます。\\ - 西暦が「4」で割り切れる(あまりが0)年は閏年ですが - 西暦が「100」で割り切れる年は閏年ではありません。 - ただし、西暦が「400」で割り切れる年は閏年。 [[https://www.chugakujuken.com/koushi_blog/ooki/20170309.html| うるう年の参考]]