Report#2


課題内容:JavaアプリケーションとC言語のオリジナル問題作成と解答例{〜11/20(Mon)}
* 制御文と配列を用いてオリジナルのJavaアプリケーションによる初級問題(なるべく短い行数で)を作成し、模範解答例を示せ。併せて、同様な動作を行うC言語のソースコードを示せ。
* 課題のWebページは、必ずスタイルシートを用いて作成すること。

オリジナルソースプログラム[java]

public class gyakuten1{ ........(1)
public static void main(String[] args){ .........(2)
int j,k; ........(3)
int[] i = {1,2,3,4,5,6,7}; .............(4)
for(j=0;j<3;j++){ ..........(5)
k=i[j]; ..........(6)
i[j]=i[6-j]; ..........(7)
i[6-j]=k; ...........(8)
}
for(j=0;j<7;j++) .........(9)
System.out.print(i[j]n); ..........(10)
}
}

実行結果[java]

[nw0654:~] j06054% javac gyakuten1.java
[nw0654:~] j06054% java gyakuten1
7654321[nw0654:~] j06054% .......(11)

考察[java]


                            

・このプログラムは値の順番を逆転させる(いれかえる)プログラムである。
                                        ・(3)で変数j,kを宣言。
                                                                  ・(4)で配列を宣言し、値を代入。
・(5)でfor文で変数jの範囲と増加量を指定。
・(6)で変数kに配列i[j]要素を代入。
・(7)で配列i[j]要素にi[6-j]要素を代入。
・(8)で配列i[4-j]要素にkを代入。
  ・(6)~(8)では配列の要素の入れ替えを行っている。
j=0のときの場合、i[0]要素の1をkに保存しておき、i[0]にi[6]要素の7を代入、 そして、kに保存しておいたi[0]要素であった1をi[6]に代入。これでi[0]とi[6]が入れ替わったことになる。
・(6)~(8)を3回繰り返して配列は(11)のようになる。
・(10)で実行結果の配列を出力する。

オリジナルソースプログラム[c]

#include
  int main(){
  int i[]={1,2,3,4,5,6,7};
  int k,j;
 for(j=0;j<3;j++){
 k=i[j];
 i[j]=i[6-j];
 i[6-j]=k;
}
 for(j=0;j<7;j++)
 printf("%d",i[j]);
}
}


感想・反省

  
自分でプログラムを作成する課題は今までにもあったが、やはり一番苦手で、オリ
ジナルな発想が全然思いつかないのが悲しかった。よくあるようなプログラムを作
ってしまい、残念だ。次はもっと頑張りたい。
トップページへ