Powered by SmartDoc

演習問題

下記の各問題のフローチャートとプログラムを作成しなさい。

サッカー J1の成績

次の表は2005年5月15日現在のサッカーJ1の対戦成績です。この表を利用して配列のプログラムを作ります。

サッカーJ1対戦成績表
順位 チーム名 勝利 敗戦 引分 得点 失点 得失点差 勝ち点
1 鹿島アントラーズ 9 1 2 23 10 13 29
2 サンフレッチェ広島 5 2 5 18 8 10 20
3 ガンバ大阪 5 3 4 26 22 4 19
4 名古屋グランパスエイト 5 4 3 17 16 1 18
5 ジュビロ磐田 5 4 3 15 14 1 18
6 浦和レッドダイヤモンズ 4 3 5 15 11 4 17
7 ジェフユナイテッド千葉 4 3 5 22 19 3 17
8 大宮アルディージャ 5 5 2 18 17 1 17
9 横浜F・マリノス 4 4 4 16 14 2 16
10 清水エスパルス 3 2 7 11 10 1 16
11 セレッソ大阪 4 4 4 14 16 -2 16
12 大分トリニータ 5 6 1 14 17 -3 16
13 川崎フロンターレ 4 6 2 18 17 1 14
14 東京ヴェルディ1969 3 4 5 17 20 -3 14
15 アルビレックス新潟 3 4 5 13 23 -10 14
16 FC東京 3 7 2 15 20 -5 11
17 柏レイソル 2 6 4 9 17 -8 10
18 ヴィッセル神戸 2 7 3 11 21 -10 9

プログラムではこれらのデータを下記の表の配列に入れて扱うことにします。

項目 配列名 項目 配列名 項目 配列名
チーム名 team 勝利数 win 敗戦数 lose
引分 even 得点 score 失点 lost

プログラム冒頭の配列宣言は次のようになります。

プログラムの冒頭部
class J1 {
    public static void main(String args[]){
	// チーム名配列
	String team[] = new String[18];
	// チーム名配列の初期化
        team[0] = "鹿島アントラーズ";
        team[1] = "サンフレッチェ広島";
        team[2] = "ガンバ大阪";
        team[3] = "名古屋グランパスエイト";
        team[4] = "ジュビロ磐田";
        team[5] = "浦和レッドダイヤモンズ";
        team[6] = "ジェフユナイテッド千葉";
        team[7] = "大宮アルディージャ";
	team[8] = "横浜F・マリノス";
	team[9] = "清水エスパルス";
	team[10] = "セレッソ大阪";
	team[11] = "大分トリニータ";
	team[12] = "川崎フロンターレ";
	team[13] = "東京ヴェルディ1969";
	team[14] = "アルビレックス新潟";
	team[15] = "FC東京";
	team[16] = "柏レイソル";
	team[17] = "ヴィッセル神戸";
	// 勝利数
	int win[] = {9,5,5,5,5,4,4,5,4,3,4,5,4,3,3,3,2,2};
	// 負け数
	int lose[] = {1,2,3,4,4,3,3,5,4,2,4,6,6,4,4,7,6,7};
	// 引き分け
	int even[] = {2,5,4,3,3,5,5,2,4,7,4,1,2,5,5,2,4,3};
	// 得点
	int score[] = {23,18,26,17,15,15,22,18,16,11,14,14,18,17,13,15,9,11};
	// 失点
	int lost[] = {10,8,22,16,14,11,19,17,14,10,16,17,17,20,23,20,17,21};
  1. 得失点差を求め、チーム名と得失点差を表示する。得失点差は配列tokusittensaに代入する。(J1_1.java)
  2. 各チームの勝ち点を求める。勝ち点は配列katitenに代入する。なお、勝ち点は次の式で計算します。(J1_2.java)
    勝ち点=勝利×3+引分
  3. 最も得点の多いチームを探す。(J1_3.java)
  4. 最も得点の少ないチームを探す。(J1_4.java)
  5. 最も失点の多いチームを探す。(J1_5.java)
  6. 最も失点の少ないチームを探す。(J1_6.java)
  7. 得点の多い順にチーム名の並びを変える。(J1_7.java)
  8. 失点の少ない順にチーム名の並びを変える。(J1_8.java)
  9. 各チームの1試合の平均得点と失点を求め、配列avescoreとacelostに格納し、表示する。(J1_9.java)
  10. 平均得点が最も多いチームと最も少ないチーム名を出力する。(J1_10.java)
  11. 平均失点が最も多いチームと最も少ないチーム名を出力する。(J1_11.java)
  12. 平均得点の大きい順にデータを並べ替え、表示する。(J1_12.java)
  13. 平均失点の小さい順にデータを並べ替え、表示する。(J1_13.java)
  14. 勝ち点による順位を配列juni1に格納し、表示する。(J1_14.java)
  15. 得点による順位を配列juni2に格納し、表示する。(J1_15.java)