プログラミング 平成23年12月21日 森田 彦
課題進行状況(12/14終了時点) 挽回を! 7章終了→2名 7章→62.1% 6章に入っていない人 →11名 6章に入っていない人 →11名 平均的には【基礎課題6-10-1】まで終了
応用課題提出状況(12/14終了時点) 1.22題:1名 2.11題:12名 3.10題:7名 8章以降に進んでいる人 →1名 平均6.09題 8章以降に進んでいる人 →1名 1.22題:1名 2.11題:12名 3.10題:7名
第2回テストのアナウンス 第2回テストを以下の要領で行います。 日時:1月18日13:15~14:15 範囲:テキスト7-4節まで(p.195まで) 形式:ペーパーテスト形式 その他:要領は基本的に第1回と同様です。テキストは参照可です。 理解度確認テストを掲載しています。→各自取り組んで下さい。(特に1回目のテストで50点未満だった人は、必ずこれに取り組み、2回目テストで挽回して下さい)
成績について 成績=2回のテストの平均点+応用課題数-未提出の基礎課題数 (50点未満の場合は単位取得ができません。) (50点未満の場合は単位取得ができません。) 特に前回のテストであまり良い成績を収められなかった人はできる限り応用課題を解いて、2回目テストでの挽回に備えて下さい。また、理解度確認テストを行って確実に理解しておいて下さい。 課題の受付は、1/25の演習終了までです。それ以降は原則として受け付けないので注意して下さい。
理解度チェック1 1.3 2.5 3.2 4.-2 5.8 int a=3; int b=5; MethodA(a,b); 左の様なプログラムを考えましょう。 ここに、MethodA()は左のように定義されています。 void MethodA(int b,int a) { int Ans=b-a; jTextField1.setText( String.valueOf(Ans) ); } このプログラムが実行された時、テキストフィールドjTextField1に表示される答えは? 1.3 2.5 3.2 4.-2 5.8
理解度チェック1 解答 1.3 2.5 3.2 4.-2 5.8 3 5 3 5 int a=3; int b=5; 理解度チェック1 解答 int a=3; int b=5; MethodA(a,b); 3 5 引数の順番通りに対応 void MethodA(int b,int a) { int Ans=b-a; jTextField1.setText( String.valueOf(Ans) ); } 3 5 1.3 2.5 3.2 4.-2 5.8
理解度チェック2 1.public 2.void 3.int 4.double 5.String 左の様なプログラムを考えましょう。 int a=1; int b=2; double c; c=MethodA(a,b); ここに、MethodA(a,b)は次のように二つの引数の平均値を返すメソッドとします。 double MethodA(int b,int a){ double c=(a+b)/2.0; return c; } このとき、空欄に入る適切な用語は? 1.public 2.void 3.int 4.double 5.String
理解度チェック2 解答 1.public 2.void 3.int 4.double 5.String int a=1; int b=2; 理解度チェック2 解答 int a=1; int b=2; double c; c=MethodA(a,b); 戻り値のあるメソッド 空欄には戻り値の型が入る。 MethodAの型は・・・ double double MethodA(int b,int a){ double c=(a+b)/2.0; return c; } double 1.public 2.void 3.int 4.double 5.String
理解度チェック3 このとき、空欄に入る適切な式は? 1.Math.random() 2.2* Math.random() 0,1の乱数cを発生させ、その値によってA,Bの2グループにクラス分けを行うプログラムを考えましょう。 int c = (int) ( *************** ); switch(c) { case 0: jTextField1.setText("あなたはAグループです。"); break; case 1: jTextField1.setText("あなたはBグループです。"); } このとき、空欄に入る適切な式は? 1.Math.random() 2.2* Math.random() 3.Math.random(0) 4.Math.random(1) 5.Math.random(2)
理解度チェック3 解答 乱数はMath.random()で発生。 0≦Math.random()<1 理解度チェック3 解答 int c = (int) ( *************** ); switch(c) { case 0: jTextField1.setText("あなたはAグループです。"); break; case 1: jTextField1.setText("あなたはBグループです。"); } 乱数はMath.random()で発生。 0≦Math.random()<1 n個の乱数は(int) (n*Math.random())で発生 1.Math.random() 2.2* Math.random() 3.Math.random(0) 4.Math.random(1) 5.Math.random(2)
理解度チェック4 jButton1→jButton2→jButton3の順番でクリックした時に、テキストフィールドjTextField1に表示される結果は何でしょうか? int a=1; void jButton1ActionPerformed(ActionEvent evt){ a=a+1; } void jButton2ActionPerformed(ActionEvent evt){ a=a*2; void jButton3ActionPerformed(ActionEvent evt){ jTextField1.setText(String.valueOf(a)); 1.1 2.2 3.3 4.4 5.5
1 2(=1+1) 4(=2*2) 理解度チェック4 解答 aの値 1.1 2.2 3.3 4.4 5.5 jButton1クリック 理解度チェック4 解答 aの値 1 int a=1; void jButton1ActionPerformed(ActionEvent evt) { a=a+1; } void jButton2ActionPerformed(ActionEvent evt) { a=a*2; void jButton3ActionPerformed(ActionEvent evt) { jTextField1.setText(String.valueOf(a)); jButton1クリック 2(=1+1) jButton2クリック 4(=2*2) 1.1 2.2 3.3 4.4 5.5
理解度チェック5 jButton1→jButton2→jButton3の順番でクリックした時に、テキストフィールドjTextField1に表示される結果は何でしょうか? int a=1; void jButton1ActionPerformed(ActionEvent evt){ int a=0; a=a+2; } void jButton2ActionPerformed(ActionEvent evt){ a=a*2; void jButton3ActionPerformed(ActionEvent evt){ jTextField1.setText(String.valueOf(a)); 1.1 2.2 3.3 4.4 5.5
理解度チェック5 解答 aの値 1 2(=1*2) aの値 2(=0+2) 1.1 2.2 3.3 4.4 5.5 インスタンス変数 理解度チェック5 解答 aの値 1 int a=1; void jButton1ActionPerformed(ActionEvent evt) { int a=0; a=a+2; } void jButton2ActionPerformed(ActionEvent evt) { a=a*2; void jButton3ActionPerformed(ActionEvent evt) { jTextField1.setText(String.valueOf(a)); インスタンス変数 ローカル変数 aの値 2(=0+2) jButton1クリック 2(=1*2) jButton2クリック 1.1 2.2 3.3 4.4 5.5
今後の予定 1/11 1/18 第2回テスト、テスト後は通常の演習 1/11 理解度チェック(クラス定義について) 「理解度確認テスト」(テスト範囲)の実施 その後は通常の演習 1/18 第2回テスト、テスト後は通常の演習 1/25 テスト結果の講評と通常の演習(この日の4講時終了後は課題を受け付けません)
理解度確認テストについて テストを行った後は、間違った箇所の解説をよく読んで、なぜ間違ったのかを理解しておいて下さい。 解説を読んでも理解できない場合は、テストには対応できません。→テキストの該当箇所を読んで、内容を確認するようにして下さい。 また、友人に尋ねても結構です。お互いに教え合って下さい。 それでも、よく分からない点があれば、森田まで質問に来て疑問点を解消しておいて下さい。
進度について 本日は、7章までの基礎課題を全て終えた人は、次のいずれかを終えれば演習を終えて結構です。ただし、その際は補助員にきちんとその旨断って下さい。 1.(代替)理解度確認テスト(「分岐処理2」~「メソッドの定義」まで)を行う。 2.応用課題を8題以上提出する(8章以降の応用課題でもOK)。