分岐処理2

100 点満点 ( 合格点 80 点 )

残り時間
制限時間 10 分


テストを開始するには [テスト開始] ボタンを押してください。

問題 1.

ある施設の入場料金は年齢によって決まっています。そして、その施設では、次のようなプログラムで料金表示を行っていました。ここに、入場者の年齢はAgeという変数に入力されています。

int Age=Integer.parseInt(jTextFieldAge.getText());
if(Age<=6) {
 jTextFieldMessage.setText("無料です。");
}
else if(Age<=12) {
 jTextFieldMessage.setText("料金は300円です。");
}
else if(Age<=59) {
 jTextFieldMessage.setText("料金は500円です。");
}
else {
 jTextFieldMessage.setText("料金は200円です。");
}

このプログラムに従うと、年齢が60の人の料金はいくらになるでしょうか?次の選択肢から選んで下さい。

無料   200円   300円   500円   1000円  

問題 2.

問題1の入場施設の料金体系が変更になり、料金表示プログラムも次のように変更されました。

int Age=Integer.parseInt(jTextFieldAge.getText());
if(Age<=6) {
 jTextFieldMessage.setText("無料です。");
}
else if(Age<=12) {
 jTextFieldMessage.setText("料金は300円です。");
}
else if(Age<=59) {
 jTextFieldMessage.setText("料金は500円です。");
}
else {
 jTextFieldMessage.setText("無料です。");
}

このプログラムをさらに次のように書き直しました。上のプログラムと(動作結果が)同等となるためには空欄にどのような条件式を記述すれば良いでしょうか。次の選択肢の中から適切な条件式を選んで下さい。

int Age=Integer.parseInt(jTextFieldAge.getText());
if(             ) {
 jTextFieldMessage.setText("無料です。");
}
else if(Age<=12) {
 jTextFieldMessage.setText("料金は300円です。");
}
else if(Age<=59) {
jTextFieldMessage.setText("料金は500円です。");
}

Age<=6 && Age>=60   Age<6 && Age>60   Age<=6   Age<=6 || Age>=60   Age<6 || Age>60  

問題 3.

あるイベントの参加者を、4つのグループに分ける事になりました。そこで、次のように、生まれた月に応じてA〜Dまでの4つのグループに分けるプログラムを作成しました。ここに、生まれた月はMonthという変数に代入されています。

int Month=Integer.parseInt(jTextFieldMonth.getText());
int a=Month % 4;
if(a ==0) {
 jTextFieldMessage.setText("Aグループです。");
}
else if(a ==1) {
 jTextFieldMessage.setText("Bグループです。");
}
else if(a ==2) {
 jTextFieldMessage.setText("Cグループです。");
}
else {
 jTextFieldMessage.setText("Dグループです。");
}

このプログラムに従うと、3月生まれの人はどのグループに所属する事になりますか?次の選択肢から選んで下さい。

Aグループ   Bグループ   Cグループ   Dグループ   どのグループにも属さない  

問題 4.

問題3のプログラムはswitch文を用いて書き直せます。そこで、次のように書き直しました。問題3のプログラムと同等になるためには、空欄にどの様な式を記入すれば良いですか?適切な式を下の選択肢から選んで下さい。

int Month=Integer.parseInt(jTextFieldMonth.getText());
int a=Month % 4;
switch(    ) {
 case 0:
  jTextFieldMessage.setText("Aグループです。");
  break;
 case 1:
  jTextFieldMessage.setText("Bグループです。");
  break;
 case 2:
  jTextFieldMessage.setText("Cグループです。");
  break;
 case 3:
  jTextFieldMessage.setText("Dグループです。");
  break;
}

Month   a   Month % a   case   break  

問題 5.

1〜10までの数字の中に、3等賞から1等賞までの当たり番号が含まれている(一種の)宝くじを考えます(驚異の当選確率!?)。そして、その当選番号は次のようになっているとします。
  7:1等賞  8:2等賞  3:3等賞  それ以外:はずれ
そこで、自分が選んだ番号を入力すると(プログラムではNumberという変数に代入されています)、当選結果が表示されるプログラムを次のように作りました。

int Number=Integer.parseInt(jTextFieldNo.getText());
switch(Number) {
 case 7:
  jTextFieldMessage.setText("おめでとう!一等賞です。");
  break;
 case 8:
  jTextFieldMessage.setText("おめでとう!二等賞です。");
  break;
 case 3:
  jTextFieldMessage.setText("おめでとう!三等賞です。");
  break;
 **************** :
  jTextFieldMessage.setText("残念!外れです。");
  break;
}

上の****部に入る適切な式を次の選択肢から選んで下さい。

case   break   else   default   case 1,2,4,5,6,9,10  

お疲れ様でした。「採点」ボタンを押して採点してください。


結果: