演習 No.7 forループ

forループforループ例題を参照。

問題1. 式の計算

次のプログラムは次の計算式を計算するものです。空欄を埋め、正しく動作するプログラムにしなさい。

w=12+22+32+42+52+62+72+82+92

class Keisan {
  public static void main(String args[]){
// 変数宣言
    int cnt, w;

// 合計を記憶する変数の初期化
    w = (1);

// 合計計算
    for(cnt = (2); cnt <= (3); (4)){
      w = w + (5);
    }

// 結果の表示    
    System.out.println("答えは" + w + "です");
  }
}

問題2. 三角形

つぎのプログラムは三角形の高さ(整数)nを読み込み、n行で三角形を描くものです。プログラムの空欄を埋め、正しく動作するプログラムにしなさい。

例、高さに3を入力したときは次のように表示させる。

*
**
***

プログラムリスト

// 三角形の描画
import java.io.*;
import java.text.*;

class Draw_Triangle{
  public static void main(String args[]){
    (1) n, a, b;  // 高さ 行とアスタリスク数のカウンター
    String s;
    Number Num;
    
    BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
    DecimalFormat DF = new DecimalFormat();

// 入力を促すメッセージなどの表示
    System.out.println("三角形を描きます");
    System.out.println("----------------------");
    System.out.print("三角形の高さを入力してください : ");
    
// 高さの入力
    try {
      (2) = BR.readLine();
      Num = DF.parse((2));
      (3) = Num.intValue();
    }
    catch (IOException e) { n = 0; }
    catch (ParseException e) { n = 0; }
    
// 入力値をチェック、0より大きければ三角形の描画、0以下はメッセージの表示
    if (n > (4)) {
      
// 行数のカウント
      for (a = (5); a <= (6); a++){

// 表示する文字数のカウントと表示
         (7)(b = (8); b <= (9); b++){
          System.out.print((10));
        }

// 改行の挿入
        System.out.println();
      }
    } else {
// 入力値が0未満のときの表示
      System.out.println("高さが0未満なので三角形を描けません");
    }
  }
}

問題3. 合計と平均

例題を参考にして10個の整数の合計、平均を求めるプログラムをfor文で作りなさい。

4. 実数の掛け算

例題を参考にして10個の実数を読み取り、それらを掛け合わせた値を表示するプログラムをfor文で作成しなさい。

※0には何をかけてもその答えは0です。

5. 九九

例題を参考にして九九の表を表示するプログラムをfor文を使って作成しなさい。

6. 三角形その2

例題2の三角形の表示を次のようにしたい。プログラムを改造せよ。

高さを4としたときの表示。

   *
  ***
 *****
*******

高さ4のときの三角形の情報

行数

左端からの
空白の個数

*の個数
1 3 1
2 2 3
3 1 5
4 0 7
for(a = 1; a <= (1);a++){  // 行数ループ
  for(b = 1; b <= (2);b++){ // 空白数ループ
    ...
  }
  for(c = 1; c <= (3);c++){ // *数ループ
    ...
  }
}

7. 問題作成

各自で繰り返し処理する問題を考え、そのプログラムを作りなさい。

考えた問題はプログラムの先頭部にコメントとして入力しておくこと。