Shake Hands

(A)1~3時ショートテニス
(A1)このところ手首が痛かったのですが、サポーターでごまかしてきました。今日は、ショートテニスなら問題ないだろうと甘く見て出かけていったのですが、帰りには痛みが出て、腫れてきたようなので、怖くて見ないようにしています。
(A2)ショートテニスではゲーム終了のたびに軽いハイタッチをします。私が入部した昨年は皆さん割とベタッとタッチしていましたが、おばさんが多いので爺さんとは触れたくないだろうと思い、軽い指先タッチをするようにしたら、それが標準になってきました。おばさんも女性なので、接触には気を使ってしまいます。
(A3)私の所属している市民テニスクラブでのゲームでは、ゲーム終了後握手をしません。礼に始まり礼に終わる、という形態です。しかし、市民テニスサークルでないグループとテニスをすることもあり、そこではゲーム終了後に握手をします。そのグループにはご夫婦で来られている方もあり、奥さんと握手する時は、旦那さん不愉快に思ってやしないかな、といつも気になります。気を使いすぎかしらね?

(B)午前中、配列の理解度を調べる問題を作る。
問題1:
for(int i=0; i<30; ;i++){
System.out.print(???);
}

上のプログラムで次のように出力するための、???は何でしょう。
(「,」も出力すること)
(1)0,1,2,3,0,1,2,3,0,1,2,3,….
(2)0,2,4,6,8,….
(3)1,3,5,7,….
(4)0,1,4,9,16,25,36,49,64,81,….

問題2:
次のプログラムを実行すると、配列sの中身はどのように変化しますか?
(1)
int[] s={5,6,8,3,3};
for(int i=0; i<4; i++){
s[i+1]=s[i];
}

(2)
int[] s={5,6,8,3,3};
for(int i=0; i<4; i++){
s[4-i]=s[3-i];
}

(3)
int[] s={5,6,8,3,3};
for(int i=0; i<4; i++){
s[i]=s[i+1];
}
問題3:
次のプログラムで出力される数を書きなさい。
(1)
int[] a={1,0};
for(int i=0; i<5; i++){
a[1]=a[0]+3;
System.out.print(a[1]);
a[0]=a[1];
}

(2)
int[] a={1,0};
for(int i=0; i<5; i++){
a[1]=a[0]*3;
System.out.print(a[1]);
a[0]=a[1];
}

(3)
int[] a={1,1,0};
for(int i=0; i<5; i++){
a[2]=a[0]+a[1];
System.out.print(a[2]);
a[0]=a[1];
a[1]=a[2];
}

問題4:
次のプログラムで出力される数を書きなさい。
(1)
int[] a={1,1,0};
for(int i=0; i<5; i++){
a[2]=a[0]+a[1];
System.out.print(a[2]);
for(int j=0; j<2; j++){
a[j]=a[j+1];
}
}

(2)
int[] a={1,1,0};
for(int i=0; i<5; i++){
a[2]=0;
for(int j=0; j<2; j++){
a[2]=a[2]+a[j];
}
System.out.print(a[2]);
for(int j=0; j<2; j++){
a[j]=a[j+1];
}
}
解答
問題1
(1)(i%4)+”,”
(2)(i*2)+”,”
(3)(i*2+1)+”,”

問題2
(1)55555
(2)55683
(3)68333

問題3
(1)47101316
(2)392781243
(3)235813

問題4
(1)235813
(2)235813