Powered by SmartDoc

これまでの復習と確認問題

順次構造

次のフローチャートとプログラムは単価210円の商品を12個購入したときの金額を求め、表示するものです。

順次構造のサンプル
順次構造のサンプル
class Sample01 {
    public static void main(String args[]){
	int tanka, kosuu, kingaku;
	tanka = 210;
	kosuu = 12;
	kingaku = tanka * kosuu;
	System.out.println(kingaku);
    }
}

これを参考に次の問題フローチャートとプログラムを書きなさい。変数名は各自で決めてください。

消費税計算

消費税を含めた金額を求め表示する。例題のプログラムを修正する。

円の面積計算

直径5センチの円の面積を求める。円周率は3.14を使う。

変数はすべてdouble型にする。

楽天の勝率計算

プロ野球パ・リーグ新規加入球団楽天ゴールデンイーグルスの6月22日現在の成績は18勝52敗です。この成績から勝率を求め、表示する。

変数は勝利と敗戦はint型、勝率はdouble型です。

打率と長打率計算

プロ野球セ・リーグ横浜ベイスターズ、多村仁選手の6月22日現在の打撃成績は打数215、安打74、二塁打9、三塁打1、本塁打21です。この成績から打率と長打率を求め、表示する。

なお、打率と長打率の計算はそれぞれ次の式を使う。

打率=安打÷打数
長打率=(安打−二塁打−三塁打−本塁打+2×二塁打+3×三塁打+4×本塁打)÷打数

変数は打率と長打率はdouble型、それ以外はint型です。

選択構造

次のフローチャートとプログラムはあるスーパーでの買い物の金額を入力すると2000円以上の場合に駐車料金が無料になることを記したものです。

選択構造のサンプル
選択構造のサンプル
import java.io.*;
import java.text.*;

class Sample02 {
public static void main(String args[]) throws IOException, ParseException {
	BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
	DecimalFormat DF = new DecimalFormat();
	String s;
	Number num;
	int kingaku, ryokin;
	// 入力処理
	s = BR.readLine();
	num = DF.parse(s);
	kingaku = num.intValue();
	// 選択構造
	if(kingaku >= 2000){
	    ryokin = 0;
	} else {
	    ryokin = 240;
	}
	// 表示
	System.out.println(ryokin);
    }
}

このフローチャートやプログラムを参考に以下の問題のフローチャートとプログラムを作りなさい。

入場料金

年齢を入力すると入場料金が表示される。入場料金は年齢が15歳以下では500円、16歳以上では1000円である。

パケット料金

パケット通信の使ったパケット数を入力するとその料金を表示する。ただし、500パケットまでは無料で501パケット以上は1パケットにつき1.2円の料金がかかる。料金の1円未満は切り捨てることにする。

商品価格

お菓子の袋数を入力すると金額を表示される。おお菓子一袋は298円だが二袋では568円になる。三袋では298+568の866円になる。

駐車料金

駐車場の利用時間を入力すると料金を表示する。ある駐車場の利用料金は30分100円です。ただし、利用時間が3時間を超えた分は30分80円になる。

割引

入場者数を入力すると入場料を表示する。ある遊園地の一人あたりの入場料は5名までは2000円、6から10名は1800円、10名を超えると1500円になる。

反復構造

次のフローチャートとプログラムは1から10までの整数の和を求め、表示するものである。

反復構造のサンプル
反復構造のサンプル
class Sample03 {
    public static void main(String args[]){
	int sum, cnt;
	sum = 0;
	cnt = 1;
	while(cnt <= 10){
	    sum = sum + cnt;
	    cnt = cnt + 1;
	}
	System.out.println(sum);
    }
}

これらを参考に以下の問題のプログラムを作成しなさい。

数値の表示

  1. 1から20までの整数を表示する。
  2. 1から20までの整数のうち、偶数のみを表示する。
  3. 1から20までの整数のうち、奇数のみを表示する。
  4. 1から20までの整数のうち、3の倍数のみを表示する。
  5. 1から20までの整数を逆順で表示する。
  6. -1から-20までの整数を表示する。
  7. 1から1000までの整数のうち、100の倍数のみを表示する。

合計計算

  1. 1から10までの整数の和を計算し、表示する。
  2. 1から20までの整数のうち、偶数の和を求め、表示する。
  3. 10の整数を入力し、合計を求め、表示する。

反復と選択の組み合わせ

60より小さい整数の内、12で割ると、余りが7となるすべての数を求めなさい。

二重ループで三角形

次のような三角形を表示する。

1
12
123
1234
12345  

九九の表

二重ループを使って九九の表を作る。

二重ループ

二重ループのサンプル
二重ループのサンプル
class Sample04 {
    public static void main(String args[]){
	int i, j;

	i = 0;
	while(i < 5){
	    j = 0;
	    while(j < 5){
		System.out.print(i + ", " + j);
		j = j + 1;
	    }
	    System.out.println();
	    i = i + 1;
	}
    }
}