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