プログラミング 平成23年11月30日 森田 彦 基礎課題提出状況(11/16終了時点) 人数 基礎課題提出状況(11/16演習終了時点) 全体平均 49.0 → 【基礎課題5-6-2】に対応 45 40 35 5-4節まで終わっていな 30 い人→本日チェックを! 25 20 15 10 5 0 5-7節終了→63.2% 最も進んだ人→ 7章終了(1名) ~4-12節 ~5-1節 ~5-4節 ~5-5節 ~5-6節 ~5-7節 5-8節~ 平均的には【基礎課題5-6-2】まで終了 応用課題提出状況(11/16終了時点) 35 応用課題提出状況(11/16演習終了時点) =3.62 全体平均 今後取り組んで下さい! 30 まだ0題の人→16名 平均的には3.6題提出 人数 25 20 15 10 5 0 0 1~2 15題:1名 3~4 5~6 6題:25名 7~10 11~15 5題:7名 応用課題について(再掲) 第7章までの応用課題:12題 第8章は全て応用課題:11題 第9章は全て応用課題: 3題 第10章は全て応用課題:8題 34題 特に第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節までの課題を終了 できなかった人は、次週までに必ず残りの課題 をやっておいて下さい。 本日は、5-10節(p.146)まで課題チェックを終え た人は演習を終えて結構です。ただし、その際 は補助員にきちんとその旨断って下さい。 質問や学習相談について 演習中は、学習内容の質問を随時受け付けています。 また、「テキストを読んでいるのだが、中々理解できな い。少しじっくり説明して欲しい。」、「努力しているのだ が、中々学習がスムーズに進まない。何かアドバイスが あれば助かるのだが。」等の希望があれば、積極的に 森田まで尋ねて下さい。 あるいは「資格試験等を目指して勉強しているのだが、 理解できなかった部分があるので質問したい。」、「今後 少し本格的にプログラミングをやってみたいのだが、学 習の仕方等についてアドバイスがあれば参考にした い。」等の要望を持っている人も遠慮なく尋ねて下さい。 注意 講義室での飲食は厳禁です。 演習時間中に具合が悪くなったなどの理由で、 席を外したい場合は、補助員あるいは指導員に 断った上で廊下のベンチ等で休憩をとって結構 です。リフレッシュして戻って来て下さい。 課題チェックを受けるときは、必ず自分の席で チェックを受けて下さい。 本日は、5-10節(p.146)まで課題チェックを終え た人は演習を終えて結構です。ただし、その際 は補助員にきちんとその旨断って下さい。→途 中で退出すると欠席となるので注意して 下さい。
© Copyright 2024 ExpyDoc