プログラミング

プログラミング
平成22年12月1日
森田 彦
基礎課題提出状況(11/24終了時点)
基礎課題提出状況(11/24演習終了時点)
全体平均 48.5 → 【基礎課題5-6-2】に対応
40
5-4節まで終わっていな
35
い人→本日チェックを!
人数
30
5-5節以降→70.0%
25
危険!
20
15
10
最も進んだ人→
7章終了(2名)
5
0
4章
~5_1節 ~5_4節 ~5-7節 ~5-10節
6章
平均的には【基礎課題5-6-2】まで終了
7章
応用課題提出状況(11/24終了時点)
応用課題提出状況(11/24演習終了時点)
全体平均=3.13
25 まだ0題の人→22名
平均的には3.1題提出
20
人数
今後取り組んで下さい!
15
10
5
0
0
1~2
17題:1名
3~4
5~6
11題:1名
7~10
11~15
9題:1名
16~20
応用課題について(再掲)

第7章までの応用課題:12題

第8章は全て応用課題:11題

第9章は全て応用課題:




3題
第10章は全て応用課題:8題
特に第1回テストで50点未満だった人は、可能な
限り応用課題に取り組んで下さい。
応用課題に積極的に取り組めば、補助員が適
切にアドバイスしてくれるはずです。
また、友人同士で教え合うことも奨励します。
理解度チェック1
問題1のプログラムに従うと、年齢が60の人の料
金はいくらになるでしょうか?次の選択肢から選ん
で下さい。
1.無料
4.500円
2.200円
5.1000円
3.300円
理解度チェック1 解答
int Age=Integer.parseInt(jTextFieldAge.getText());
if( Age<=6 ) {
0
1 ・・・ 6
7 ・・・
jTextFieldMessage.setText("無料です。");
}
else if( Age<=12 ) {
0 ・・・ 6
7 ・・・ 12 13
jTextFieldMessage.setText("料金は300円です。");
・・・
}
else if( Age<=59 ) {
0
・・・
12
13 ・・・ 59
60
jTextFieldMessage.setText("料金は500円です。");
}
else {
0
・・・
59
60 ・・・
jTextFieldMessage.setText("料金は200円です。");
}
2.200円
・・・
理解度チェック2
問題2のプログラムが問題1のプログラムと(動作
結果が)同等となるためには( )内にどのような
条件式を記述すれば良いでしょうか。次の選択肢
の中から適切な条件式を選んで下さい。
1.Age<=6 && Age>=60
2.Age<6 && Age>60
3.Age<=6
4.Age<=6 || Age>=60
5.Age<6 || Age>60
理解度チェック2 解答
int Age=Integer.parseInt(jTextFieldAge.getText());
if(Age<=6) {
jTextFieldMessage.setText("無料です。");
}
else if(Age<=12) {
jTextFieldMessage.setText("料金は300円です。");
}
else if(Age<=59) {
jTextFieldMessage.setText("料金は500円です。");
}
無料
else {
300円
0 ・・・ 6
7 ・・・ 12 13 ・・・
jTextFieldMessage.setText("無料です。");
}
無料
500円
59
60
・・・
無料の年齢は、Age≦6 と Age≧60の和
理解度チェック2 解答
int Age=Integer.parseInt(jTextFieldAge.getText());
if(
) {
jTextFieldMessage.setText("無料です。");
}
else if(Age<=12) {
4. Age<=6 || Age>=60
jTextFieldMessage.setText("料金は300円です。");
}
else if(Age<=59) {
jTextFieldMessage.setText("料金は500円です。");
}
 無料の年齢は、Age≦6 と Age≧60
 Age≦6 または Age≧60
理解度チェック3
問題3のプログラムに従うと、3月生まれの人はど
のグループに所属する事になりますか?次の選
択肢から選んで下さい。
1. Aグループ
2. Bグループ
3. Cグループ
4. Dグループ
5. どのグループにも属さない
理解度チェック3 解答
int Month=Integer.parseInt(jTextFieldMonth.getText());
int a=Month % 4;
if(a ==0) {
jTextFieldMessage.setText("Aグループです。");
}
else if(a ==1) {
jTextFieldMessage.setText("Bグループです。");
}
else if(a ==2) {
jTextFieldMessage.setText("Cグループです。");
}
else {
4. Dグループ
jTextFieldMessage.setText("Dグループです。");
}
 月を4で割った時の余りで分類
 3月は3
理解度チェック4
問題4のプログラムが問題3のプログラムと同等
になるためには、( )内にどの様な式を記入す
れば良いですか?適切な式を下の選択肢から選
んで下さい。
1. Month
2. a
3. Month % a
4. case
5. break
理解度チェック4 解答
int
Month=Integer.parseInt(jTextFieldMonth.getText());
int a=Month % 4;
switch(
) {
2.
case 0:
jTextFieldMessage.setText("Aグループです。");
break;
case 1:
jTextFieldMessage.setText("Bグループです。");
break;
case 2:
jTextFieldMessage.setText("Cグループです。");
break;
case 3:
jTextFieldMessage.setText("Dグループです。");
break;
}
a
理解度チェック5
問題5の空欄に入る適切な式を次の選択肢から
選んで下さい。
1. case
2. break
3. else
4. default
5. case 1,2,4,5,6,9,10
理解度チェック5 解答
int
Number=Integer.parseInt(jTextFieldNo.getText());
switch(Number) {
case 7:
jTextFieldMessage.setText("おめでとう!一等賞です。");
break;
case 8:
jTextFieldMessage.setText("おめでとう!二等賞です。");
break;
case 3:
jTextFieldMessage.setText("おめでとう!三等賞です。");
break;
**************** :
jTextFieldMessage.setText("残念!外れです。");
break;
}
4. default
1ポイントアドバイス 字下げの徹底
プログラムの構造を明確にするために字下げを徹底して下さ
い。不要なミスを防げます。
void jButton1ActionPerformed(ActionEvent evt) {
int a=Integer.parseInt(jTextField1.getText());
if( (a%2)==0 ) {
jTextField1.setText("偶数です。");
}
else {
jTextField1.setText("奇数です。");
}
}
構造がよく分かる!
良い例
}の付け忘れを防げます。
字下げの徹底
プログラムの構造を明確にするために字下げを徹底して下さ
い。不要なミスを防げます。
<悪い例>
void jButton1ActionPerformed(ActionEvent evt) {
int a=Integer.parseInt(jTextField1.getText());
if( (a%2)==0 ) {
カッコが閉じているの
jTextField1.setText("偶数です。");
か分からない!
}
else {
jTextField1.setText("奇数です。");} }
void jButton1ActionPerformed(ActionEvent evt) {
int a=Integer.parseInt(jTextField1.getText());
if( (a%2)==0 ) {
jTextField1.setText("偶数です。");
}
<良い例>
else {
jTextField1.setText("奇数です。");
}
}
進度について



本日は、遅くとも5-7節(p.137)までは終了する
ようにして下さい。
本日の演習終了時点で5-7節までの課題を終了
できなかった人は、次週までに必ず残りの課題
をやっておいて下さい。
本日は、5-10節(p.146)まで課題チェックを終え
た人は演習を終えて結構です。ただし、その際
は補助員にきちんとその旨断って下さい。
質問や学習相談について



演習中は、学習内容の質問を随時受け付けています。
また、「テキストを読んでいるのだが、中々理解できな
い。少しじっくり説明して欲しい。」、「努力しているのだ
が、中々学習がスムーズに進まない。何かアドバイスが
あれば助かるのだが。」等の希望があれば、積極的に
森田まで尋ねて下さい。
あるいは「資格試験等を目指して勉強しているのだが、
理解できなかった部分があるので質問したい。」、「今後
少し本格的にプログラミングをやってみたいのだが、学
習の仕方等についてアドバイスがあれば参考にした
い。」等の要望を持っている人も遠慮なく尋ねて下さい。
注意




講義室での飲食は厳禁です。
演習時間中に具合が悪くなったなどの理由で、
席を外したい場合は、補助員あるいは指導員に
断った上で廊下のベンチ等で休憩をとって結構
です。リフレッシュして戻って来て下さい。
課題チェックを受けるときは、必ず自分の席で
チェックを受けて下さい。
本日は、5-10節(p.146)まで課題チェックを終え
た人は演習を終えて結構です。ただし、その際
は補助員にきちんとその旨断って下さい。→途
中で退出すると欠席となるので注意して
下さい。