プログラミング入門 4. if文
この記事は、下記プログラミング入門資料の一部です。
if文
if文とは、「もしAならBをして、そうじゃないならCをする」といった感じの条件分岐をするための機能です。
もしAなら{ Bをする } そうじゃないなら { Cをする }
というのを、
if(A){ Bをする } else { Cをする }
こんな感じで書きます。
例えば、aに入っている数字が41かどうか教えてくれるコードを書いてみましょう。
int a; // aに41を入れる。 a = 41; if( a == 41 ){ // aの中身が41の場合、「aの中身は41やで!」と出力する。(aに41を入れているので、こちらが実行されるはず) cout << "aの中身は41やで!" << endl; } else { // aの中身が41でない場合、「aの中身は41ちゃうねんで!」と出力する。 cout << "aの中身は41ちゃうねんで!" << endl; }
ここで注意しなければならないのは、「a=41なら」という条件を「a==41」と書くことです。「a=41」というのは「aに41を入れる」という意味です。紛らわしいので気をつけましょう。
実際に実行してみると、aに41を入れているので、「aの中身は41やで!」と出力されるはずです。aに入れる値を変えて出力を見てみると良いと思います。
練習問題の解説
難しそうに見えますが、偶数の素数は2しか存在しないので、偶数の素数は1個です。ただし、出力するのは「N以下の偶数の素数の数」なので、与えられるNが1の時だけ0になります。Nが2以上ならば、1と出力すれば良いです。
よって、作成すべきプログラムは、「Nが1ならば0と出力し、そうでない場合は1と出力する」というものになります。
#include <iostream> using namespace std; int main(void){ // Here your code ! //整数の入れ物Nをつくる int N; //Nに入力を入れる cin >> N; //Nが1ならば0を出力し、そうでなければ1を出力する if( N == 1 ) { cout << "0" << endl; } else { cout << "1" << endl; } }
練習問題2の解説
作るべきプログラムは「与えられた数字Qが1ならば"ABC"を出力、そうでなければ"chokudai"を出力する」というものになります。
#include <iostream> using namespace std; int main(void){ // Here your code ! //整数の入れ物Qをつくる int Q; //Qに入力を入れる cin >> Q; //Qが1ならば"ABC"を出力し、そうでなければ"chokudai"を出力する if( Q == 1 ) { cout << "ABC" << endl; } else { cout << "chokudai" << endl; } }
練習問題3の解説
Nの範囲が1以上9以下なので、"YES"を出力するのは、Nが3か6か9の場合のみ、つまりNが3の倍数の場合のみです。
作成すべきプログラムは「Nが3で割り切れるなら"YES"を出力、そうでないなら"NO"を出力する」というプログラムになります。
「Nが3で割り切れる」というのは「Nを3で割った余りが0になる」ということです。Nを3で割った余りは
N % 3
とすることで計算できます。例えば、Nを3で割った余りをaに入れる場合
int a; a = N % 3;
となります。
解答例は以下の通り。
#include <iostream> using namespace std; int main(void){ // Here your code ! //整数の入れ物Nをつくる int N; //Nに入力を入れる cin >> N; //整数の入れ物amariを作る int amari; //amariにNを3で割った余りを入れる amari = N % 3; //amariが0ならば"YES"を出力し、そうでなければ"NO"を出力する if( amari == 0 ) { cout << "YES" << endl; } else { cout << "NO" << endl; } }
練習問題4の解説
AとBが入力として与えられるので、大きい方を出力すれば良さそうです。
作成すべきプログラムは「A>BならばAを出力し、そうでなければBを出力する」となります。
#include <iostream> using namespace std; int main(void){ // Here your code ! //整数の入れ物Aをつくる int A; //整数の入れ物Bをつくる int B; //Aに入力を入れる cin >> A; //Bに入力を入れる cin >> B; //A>BならばAを出力し、そうでなければBを出力する if( A > B ) { cout << A << endl; } else { cout << B << endl; } }
練習問題5の解説
先ほどと全く同じように考えられます。
作成すべきプログラムは「a
#include <iostream> using namespace std; int main(void){ // Here your code ! //整数の入れ物aをつくる int a; //整数の入れ物sをつくる int s; //aに入力を入れる cin >> a; //sに入力を入れる cin >> s; //a<sならば"Enjoy another semester..."を出力し、そうでなければ"Congratulations!"を出力する if( a < s ) { cout << "Enjoy another semester..." << endl; } else { cout << "Congratulations!" << endl; } }