住人の世代交代

私のマンション(マンションってほどではありませんが)には最近若い人が大勢入居してきて世代交代を感じます。私がここを来たのは10年前で、当時の購入者はほとんどが50~70代でした。そして私よりひと回り上の年代の方々がどこかに去られ、若い人たちが入ってきたことになります。建物も10年を経過したり、前にマンションが建ったりして、だいぶ安くなっているようです。
若い人が増えると子供も増え、活気がでてきたように感じます。ただ、「大丈夫かな?」と思える人もたまに見かけるようになり、気になっていました。
昨日、マンション管理会社から「注意書き」が回ってきて、最近エレベータで吐いたり、エレベータにペットのフンを置きっぱなしにする人がいるので、やめてくださいとのことでした。
不安が的中した感じです。マンションはやがてスラム化するというのを聞いたことがあります。少し心配です。

==暑いですね==
昨夜から室温を測定してみました。
夜12:00~2時:エアコン28度設定で室温28.5度
2時エアコンを切る:4時29度
4時窓を全開5~8時29.5度
8時30.0度
9時30.5度(エアコンを入れる)
12:30~13:30プールへ行く。
この間、来週の模擬試験の問題を作る。

===
模擬試験問題

以下の問題1~10は配列の問題で、どの問題も次の h という配列を使います。
int h[] = { 5,2,3,4,8 };

問題1
配列 h の中身を後ろから順に8,4,3,2,5と出力するための、XXXは何か?

int h[] = { 5,2,3,4,8 };
for( int i=0; i<h.length; i++){
System.out.print(XXX);
}

問題2
配列 h の中身を左にシフトするための、X,Y,Zは何か?
演算結果は{2,3,4,8,5}になる。

int h[] = { 5,2,3,4,8 };
int buf= h[0];
for( int i=X; i<Y; i++){
ZZZ; }
h[4]= buf;

問題3(右の方から順にシフトしないと上書きしてしまうことに注意)
配列 h の中身を右にシフトするための、X、Y,Zは何か?
演算結果は{8,5,2,3,4}になる。

int h[] = { 5,2,3,4,8 };
int buf;
buf= h[4];
for( int i=X; i<Y; i++){
ZZZ;
}
h[0]= buf;

問題4
配列 h の中身のうち、偶数だけを2,4,8,と出力する、XXXは何か?
int h[] = { 5,2,3,4,8 };
for(int i=0; i<h.length; i++){
XXX
}

問題5
配列 h の中身のうち、奇数だけを合計するための、XXXは何か?

gokei=0;
int h[] = { 5,2,3,4,8 };
for( int i=0; i<h.length; i++){
XXX
}

問題6
配列 h の、最大値と最小値の差を求める、XXXとYYYは何か?
int max=-1000;
int min=1000;
int sa;
int h[] = { 5,2,3,4,8 };
for( int i=0; i<h.length; i++){
XXX
YYY
}
sa= max-min;

問題7
配列 h の他にもう一つ配列s={3,5,9,2,1}があった時、配列hと対応する各要素を比較し、大きい方の要素値(5,5,9,4,8,)を出力するXXX,YYY,ZZZは何か?

int h[] = { 5,2,3,4,8 };
int s[]= { 3,5,9,2,1 };
for( int i=0; i<h.length; i++){
if(XXX){ YYY}
else {ZZZ}
}

問題8
キーボードからindataに整数が入力されます。
indataが配列の要素番号とする時、その要素の値を出力するXXXは何か?

int indata;
int h[] = { 5,2,3,4,8 };
BufferedReader br= new BufferedReader( new InputStreamReader(System.in));
String str=br.readLine();
indata = Integer.parseInt(str);
System.out.println(XXX);

問題9
キーボードからindataに整数が入力されます。
indataと同じ値の要素の要素番号はいくつかを出力したい。XXXは何か?
int indata;
int yosobango=0;
int h[] = { 5,2,3,4,8 };
BufferedReader br= new BufferedReader( new InputStreamReader(System.in));
String str=br.readLine();
indata = Integer.parseInt(str);
for( int i=0; i<h.length; i++){
XXX
}
System.out.print(yosobango);

問題10
キーボードからindataに整数が入力されます。
indataと同じ値の要素の要素番号はいくつかを出力したい。XXXは何か?
int indata;
int yosobango=-1;
int h[] = { 5,2,3,4,8 };
BufferedReader br= new BufferedReader( new InputStreamReader(System.in));
String str=br.readLine();
indata = Integer.parseInt(str);
do{
XXX;
}while(YYY);
System.out.print(yosobango);

/*ここからは配列を使いません*/

問題11
キーボードから点数を入力していき、0が入力されたら入力を終了して合計と平均を出します。XXXは何でしょう。
int indata;
int gokei=0;
int count=0;
BufferedReader br= new BufferedReader( new InputStreamReader(System.in));
do{
String str= br.readLine();
indata = Integer.parseInt(str);
XXX;
YYY;
}while(indata!=0);
System.out.println(gokei+”,”+(gokei/(double)(count-1)));

問題12
うるう年は、以下のルールで決定される。入力された年に応じてうるう年か否かを決定する条件式を作れ。
基本的には4で割り切れればうるう年だが、
100で割り切れる時はうるう年ではないが、
400で割り切れる時はうるう年。

if(XXX)のXXX部

問題13
積分の計算です。y=x*x の曲線と、y=0、x=1の2本の直線で囲まれる面積を求めたい。
XXXは何ですか?

double deltaX=0.1;
double menseki=0.0;
for(int i=0; i<1/deltaX; i++){
menseki += XXX;
}

問題14
xの平方根(rootx)を求める。rootxを 0 から0.00001増やしていくことを、誤差が0.01になるまで繰り返す。

double rootx= 0.0;
double x, gosa=100;
BufferedReader br=  new BufferedReader(  new  InputStreamReader(System.in));
String str=br.readLine();
x =  Integer.parseInt(str);
while( gosa > 0.01) {
rootx += 0.00001;
gosa = XXX;
}
System.out.println(x+”,”+rootx);

問題15
AND,OR,LeftSHIFT,RightSHIFTの問題。
何が出力されるでしょう。
class A16 {
public static void main(String args[]) {
int a=3, b=5;
int an, or, ls,rs;
an= a & b;
or= a | b;
ls= a<<2;
rs= a>>1;
System.out.print(an + “,”+ or +”,”+ls+”,”+rs);
}
}

2013/7/18の課題
switch_caseを使った試験問題を一つ考え、問題と答えをメールで送る。

====
解答1
System.out.print(h[4-i]+”,”);

解答2
for( int i=0; i<4; i++){
h[i] = h[i+1];
}

解答3
for( int i=0; i<4; i++){
h[4-i]  = h[3-i];
}

解答4
if(h[i]%2==0){
System.out.print(h[i]+”,”);
}

解答5
if(h[i]%2!=0){
gokei += h[i];
}

解答6
if(h[i]>max){ max= h[i];}
if(h[i]<min){ min= h[i];}

解答7
if(h[i]>s[i]){ System.out.print(h[i]+”,”);}
else  {System.out.print(s[i]+”,”);}

解答8
System.out.println( h[indata] );

解答9
if(indata==h[i]) {
yosobango=i;
}

解答10
do{
yosobango++;
}while(indata!=h[yosobango]);

解答11
gokei += indata;
count++;

解答12
if( (year % 4 == 0 && year % 100 != 0 )|| year % 400 == 0 )

解答13
for(int i=0; i<1/deltaX; i++){
menseki += deltaX* (i*deltaX * i*deltaX);
}

解答14
while( gosa > 0.01) {
rootx += 0.00001;
gosa = x – rootx * rootx;
}

解答15
1,7,12,1