プログラミング2
課題4

INDEX
課題詳細
作成したソース
出力結果
考察
感想
参考文献など

課題詳細

Report#4
制御文と配列を用いてオリジナルのJavaアプリケーションによる初級問題(なるべく短い行数で)を作成し、模範解答例を示せ。併せて、同様な動作を行うC言語のソースコードを示せ。

INDEXへ戻ります?


作成したソース

問題 解答例
Javaで書いたソース
/**********************************************************
 Program            :Repo4.java
 Date               :'04/11/18
 Wrote by           :Yusuke Uehara
 about this Program :配列と制御文を用いた簡単なプログラム
***********************************************************
import java.io.*;
   
public class Repo4 {
    public static void main(String args[]) throws Exception {
	
	    int i,j,k,l;
		int ku[][] = new int[10][9];
		for (i= 1 ; i < 10 ; i++) {
		    ku[i][0] = i;
			for (j = 2 ; j < 10 ; j++) {
			    k = j-1;
				ku[i][k] = i*j;
			}
		}
		
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		
		System.out.print("1から9までの中で好きな数字を入力して下さい =>");
		String s = new String(in.readLine());
		int m = Integer.parseInt( s );


        if ( m >= 1 && m <= 9 ) {
		System.out.println(m + " の段のかけ算を表示します。");
		    for (l = 0; l < 9 ; l++)
			    System.out.println( m + " * " + (l+1) + " = " + ku[m][l] + " ");
				
		}
		else
		    System.out.println("ちゃんと入力して下さい。");
	}
}


Cで書いたソース
/**********************************************************
 Program            :repo4.c
 Date               :'04/11/18
 Wrote by           :Yusuke Uehara
 about this Program :上記に示したJavaのソースと
                              同様の働きをするプログラム
***********************************************************
#include<stdio.h>
int main() {
  int i,j,k,l,m;
  int ku[10][9];
  
  for (i= 1 ; i < 10 ; i++) {
    ku[i][0] = i;
    for (j = 2 ; j < 10 ; j++) {
      k = j-1;
      ku[i][k] = i*j;
    }
  }
  printf("1から9の中で好きなものを入力して下さい。=>");
  scanf("%d",&m);
  if (m>=49 && m<=57) {
    m = m-48;
  }
  else  if( !(m>=1 && m<=9) ){
    printf("ちゃんと入力して下さい。\n");
    return(0);
  }
  printf("%d の段のかけ算を表示します\n",m);
  for (l = 0; l < 9 ; l++) {
    printf("%d * %d =  %d \n",m,l+1,ku[m][l]);
  }
  return(0);
}

INDEXへ戻ります?


出力結果

Javaの場合
[nw0411:~/prog2/report04] J04011% javac -encoding euc-jp Repo4.java 
[nw0411:~/prog2/report04] J04011% java Repo4
1から9までの中で好きな数字を入力して下さい =>2
2 の段のかけ算を表示します。
2 * 1 = 2 
2 * 2 = 4 
2 * 3 = 6 
2 * 4 = 8 
2 * 5 = 10 
2 * 6 = 12 
2 * 7 = 14 
2 * 8 = 16 
2 * 9 = 18
[nw0411:~/prog2/report04] J04011% java Repo4
1から9までの中で好きな数字を入力して下さい =>23
ちゃんと入力して下さい。


Cの場合
[nw0411:~/prog2/report04] J04011% gcc -o repo4 repo4.c
[nw0411:~/prog2/report04] J04011% ./repo4
[nw0411:~/prog2/report04] J04011% ./repo4
1から9の中で好きなものを入力して下さい。=>6
6 の段のかけ算を表示します
6 * 1 =  6 
6 * 2 =  12 
6 * 3 =  18 
6 * 4 =  24 
6 * 5 =  30 
6 * 6 =  36 
6 * 7 =  42 
6 * 8 =  48 
6 * 9 =  54 
[nw0411:~/prog2/report04] J04011% ./repo4
1から9の中で好きなものを入力して下さい。=>42
ちゃんと入力して下さい。

INDEXへ戻ります?


考察

INDEXへ戻ります?


感想

考察が難しく、行き詰まった所があったが、なんとかカバー。
今回はJavaと同時にCも書くということで気付いたことが一つ。
Javaはプログラムの実行が遅い。でもCよりプログラムの作成が楽。ということ。
でもまぁ期限に間に合って良かったです。

INDEXへ戻ります?


参考文献など

独習Java 第2版

INDEXへ戻ります?


ひとつ前の画面に戻ります? homeに戻ります?