プログラミング 平成24年12月11日 森田 彦.

Slides:



Advertisements
Similar presentations
プログラミング 平成24年1月11日 森田 彦.
Advertisements

プログラミング 平成25年10月29日 森田 彦.
プログラミング 平成22年10月20日 森田 彦.
プログラミング 平成24年10月16日 森田 彦.
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
プログラミング 平成25年12月3日 森田 彦.
プログラミング 平成25年11月19日 森田 彦.
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
データ構造とアルゴリズム論 第5章 レコード構造を使った処理-クラスの利用
プログラミング 平成24年10月23日 森田 彦.
プログラミング 平成23年10月19日 森田 彦.
プログラミング基礎I(再) 山元進.
データ構造とアルゴリズム論 第4章 レコード構造を使った処理-クラスの利用
データ構造とアルゴリズム論 第9章 木構造 平成16年12月21日 森田 彦.
情報数理Ⅱ 平成27年9月30日 森田 彦.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
CGプログラミング論 平成28年4月27日 森田 彦.
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
プログラミング 平成25年12月10日 森田 彦.
ネットワークプログラミング論 平成28年12月12日 森田 彦.
プログラミング 平成24年10月30日 森田 彦.
プログラミング 平成23年10月5日 森田 彦.
データ構造とアルゴリズム論 第7章 探索のアルゴリズム
データ構造とアルゴリズム論 第9章 木構造 平成17年12月20日 森田 彦.
データ構造とアルゴリズム論 第2回目テスト 平成15年12月9日 森田 彦.
データ構造とアルゴリズム論 第8章 再帰処理 平成15年12月2日 森田 彦.
プログラミング 平成25年11月5日 森田 彦.
データ構造と アルゴリズム論 平成29年9月27日 森田 彦.
CGプログラミング論 平成28年4月20日 森田 彦.
プログラミング 平成22年11月24日 森田 彦.
プログラミング 平成23年12月21日 森田 彦.
データ構造とアルゴリズム論 第4章 レコード構造を使った処理-クラスの利用
データ構造とアルゴリズム論 第3章 ファイルを用いたデータ入出力2
ソフトウェア制作論 平成30年10月3日.
データ構造とアルゴリズム論 第3章 ファイルを用いたデータ入出力
データ構造とアルゴリズム論 終章 専門科目におけるプログラミング
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
データ構造とアルゴリズム論 第7章 再帰処理 平成17年12月6日 森田 彦.
データ構造とアルゴリズム論 第6章 整列(ソート)のアルゴリズム
プログラミングⅠ 平成30年10月29日 森田 彦.
ソフトウェア制作論 平成30年9月26日.
データ構造とアルゴリズム論 第9章 木構造 平成29年12月20日 森田 彦.
データ構造とアルゴリズム論 第9章 木構造 平成30年6月27日 森田 彦.
データ構造とアルゴリズム論 第2回目テスト 平成16年12月14日 森田 彦.
データ構造とアルゴリズム論 第5章 整列(ソート)のアルゴリズム
データ構造とアルゴリズム論 第4章 レコード構造を使った処理-クラスの利用
プログラミングⅠ 平成30年10月15日 森田 彦.
ソフトウェア制作論 平成30年10月10日.
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
プログラミング 平成22年10月13日 森田 彦.
プログラミングⅠ 平成30年10月22日 森田 彦.
プログラミングⅠ 平成31年1月7日 森田 彦.
プログラミング 平成22年12月15日 森田 彦.
データ構造とアルゴリズム論 第4章 レコード構造を使った処理-クラスの利用
アルゴリズムとプログラミング (Algorithms and Programming)
データ構造とアルゴリズム論 終章 専門科目におけるプログラミング
プログラミング 平成24年11月13日 森田 彦.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
データ構造とアルゴリズム論 第7章 再帰処理 平成16年11月30日 森田 彦.
プログラミング 平成24年10月9日 森田 彦.
プログラミングⅠ 平成30年12月10日 森田 彦.
CGプログラミング論 平成28年7月6日 森田 彦.
情報数理Ⅱ 平成28年9月21日 森田 彦.
プログラミング 平成28年11月15日 森田 彦.
データ構造とアルゴリズム論 第9章 連結リスト
CGプログラミング論 平成28年6月29日 森田 彦.
プログラミング 平成28年10月25日 森田 彦.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
プログラミング 平成28年10月18日 森田 彦.
Presentation transcript:

プログラミング 平成24年12月11日 森田 彦

課題進行状況(12/4終了時点) 挽回を! 7-2節終了→70.2% 6章に入っていない人 →6名 7章終了→3名 6章に入っていない人 →6名 7章終了→3名 平均的には【基礎課題6-11-1】まで終了

応用課題提出状況(12/4終了時点) 平均7.36題 8章以降に進んでいる人 →2名 1.34題:1名  2.20題:1名  3.12題:1名

第2回テストのアナウンス 第2回テストを以下の要領で行います。 日時:1月8日13:15~14:05 範囲:テキスト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の実施 次の問題に進みます。 ステップ6の[戻る]ボタンをクリックして下さい。 再びプリントのステップ4を行います→[回答する]ボタンを押してそのまま待機。 これから次の問題を提示しますので、ステップ5に従って回答を選択した後、ステップ6の状態で待機して下さい。 正解した人には応用課題と同じく1点を加算します。

理解度チェック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

今後の予定 12/18 1/8 第2回テスト、テスト後は通常の演習 12/18  理解度チェック(クラス定義について) 「理解度確認テスト」(テスト範囲)の実施 演習(特に応用課題に取り組む) 1/8 第2回テスト、テスト後は通常の演習 1/22 テスト結果の講評と通常の演習(この日の4講時終了後は課題を受け付けません)

理解度確認テストについて テストを行った後は、間違った箇所の解説をよく読んで、なぜ間違ったのかを理解しておいて下さい。 解説を読んでも理解できない場合は、テストには対応できません。→テキストの該当箇所を読んで、内容を確認するようにして下さい。 また、友人に尋ねても結構です。お互いに教え合って下さい。 それでも、よく分からない点があれば、森田まで質問に来て疑問点を解消しておいて下さい。

進度について 本日は、7章までの基礎課題を全て終えた人は、次のいずれかを終えれば演習を終えて結構です。ただし、その際は補助員にきちんとその旨断って下さい。 1.理解度確認テスト(「分岐処理2」~「クラスの定義」まで)を行う。 2.応用課題を10題以上提出する(8章以降の応用課題でもOK)。