プログラミング技法特論第5回

729 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
729
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

プログラミング技法特論第5回

  1. 1. プログラミング技法特論#05<br />N.Shimizu<br />chiko at kaetsu.ac.jp<br />10.5.17<br />1<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  2. 2. 条件分岐<br />ある条件が成立しているかどうかによって処理を変えること<br />Processingではif文を使って表現する<br />10.5.17<br />2<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  3. 3. if文<br />if(条件){<br />条件が成り立っている場合の処理<br />}else{<br />条件が成り立たない場合の処理<br />}<br />10.5.17<br />3<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  4. 4. 3つの場合<br />if(条件1){<br />条件1が成り立っている場合の処理<br />}else if(条件2){<br />条件2の成り立っている場合の処理<br />}else{<br />条件1も2も成り立たない場合の処理<br />}<br />10.5.17<br />4<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  5. 5. 数値の比較<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />5<br />
  6. 6. こういう絵を描いてみよう<br />6<br />論理思考とプログラミング #08 N.Shimizu<br />09.12.3<br />
  7. 7. AかつB<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />7<br />ココ<br />
  8. 8. AまたはB<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />8<br />A,B全部<br />
  9. 9. 論理演算子<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />9<br />
  10. 10. こういう絵を描いてみよう<br />10<br />論理思考とプログラミング #08 N.Shimizu<br />09.12.3<br />
  11. 11. for文:繰り返しを書く第二の記法<br />for(事前にやる処理; 条件; 毎回最後にやる処理){繰り返しの処理<br />}<br />事前にやる処理;<br />while(条件){繰り返しの処理毎回最後にやる処理;<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />11<br />
  12. 12. for文で書き直してみよう<br />ウィンドウサイズは400x400<br />背景は黒<br />200個の正方形と200個の長方形がランダムな場所に描かれている<br />塗りの色はランダム<br />各辺の長さはランダム<br />2010.4.27<br />12<br />プログラミング技法特論 N.Shimizu <chikoski at kaetsu.ac.jp><br />
  13. 13. for文で書き直してみよう<br />ウィンドウサイズは400x400<br />背景は黒<br />20x20の正方形をびっちり敷き詰める<br />一つ一つの色はランダム<br />2010.4.27<br />13<br />プログラミング技法特論 N.Shimizu <chikoski at kaetsu.ac.jp><br />
  14. 14. インタラクションを加えてみよう<br />09.12.3<br />論理思考とプログラミング #08 N.Shimizu<br />14<br />
  15. 15. インタラクション<br />二つのものがお互いに影響しあうこと<br />相互作用<br />interaction<br />人間とコンピュータプログラム<br />人間の操作がプログラムの振る舞いを変える<br />プログラムが人間の操作を変える<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />15<br />
  16. 16. プログラミングのモデルが変わります<br />今まで:<br />上から順番に実行される<br />フロー駆動型 (flow driven)<br />これから<br />イベントに対応した部分のみ実行される<br />イベント駆動型 (event driven)<br />16<br />論理思考とプログラミング #08 N.Shimizu<br />09.12.3<br />
  17. 17. イベント<br />マウスのボタンが押される<br />マウスのボタンが離される<br />キーボードのキーが押される<br />キーボードのキーが離される<br />一定期間が過ぎる<br />17<br />論理思考とプログラミング #08 N.Shimizu<br />09.12.3<br />
  18. 18. Processingのテンプレート<br />void setup(){<br />}<br />void draw(){<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />18<br />
  19. 19. Processingのテンプレート<br />void setup(){<br />}<br />void draw(){<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />19<br />プログラム起動時に実行してほしいことを書く<br />
  20. 20. Processingのテンプレート<br />void setup(){<br />}<br />void draw(){<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />20<br />一定間隔で実行して欲しいことを書く<br />
  21. 21. プログラムの例<br />float x, y;<br />void setup(){<br /> size(400, 400);<br /> colorMode(RGB, 100, 100, 100, 100);<br /> background(0, 0, 0, 100);<br /> noStroke();<br /> x = 0;<br /> y = 0;<br />}<br />void draw(){<br /> background(0, 0, 0, 100);<br /> x = x + 0.5;<br /> y = y + 0.5;<br /> fill(100, 0, 0, 100);<br /> ellipse(x, y, 20, 20);<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />21<br />
  22. 22. メソッド<br />プログラムの一部分に名前をつけたもの<br />メソッドの宣言:名前をつけること<br />部分の指定:{}で囲む<br />引数と返り値を持つ<br />引数:パラメーター<br />返り値:仕事をした結果<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />22<br />
  23. 23. さっきのプログラムでは<br />void setup(){<br /> size(400, 400);<br /> colorMode(RGB, 100, 100, 100, 100);<br /> background(0, 0, 0, 100);<br /> noStroke();<br /> x = 0;<br /> y = 0;<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />23<br />この範囲に対してsetupという名前をつけた<br />
  24. 24. void setup()<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />24<br />返り値の型<br />名前<br />
  25. 25. 型<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />25<br />
  26. 26. void setup()<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />26<br />このメソッドは返り値を返さない<br />
  27. 27. draw: 一定間隔で実行される部分<br />void draw(){<br /> background(0, 0, 0, 100);<br /> x = x + 0.5;<br /> y = y + 0.5;<br /> fill(100, 0, 0, 100);<br /> ellipse(x, y, 20, 20);<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />27<br />
  28. 28. どうなるか考えよう<br />void draw(){<br /> background(0, 0, 0, 100);<br /> x = x + 0.5;<br /> y = y + 0.5;<br /> fill(100, 0, 0, 100);<br /> ellipse(x, y, 20, 20);<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />28<br />backgroundを消す<br />
  29. 29. マウスに関する変数<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />29<br />
  30. 30. mousePressedの使い方<br />if(mousePressed){<br />マウスが押された時の処理<br />}else{<br />マウスが押されなかった時の処理<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />30<br />
  31. 31. mouseButtonの使い方<br />if(mousePressed){<br />if(mouseButton == LEFT){<br />左ボタンが押されたときの処理<br /> }else if(mouseButton == RIGHT){<br />右ボタンが押された時の処理<br /> }<br />}<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />31<br />
  32. 32. 宿題その1<br />マウスがクリックされている間、四角が斜めに移動する<br />それ以外の時は円が斜めに移動する<br />例に使ったプログラムを変更して書こう<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />32<br />
  33. 33. 宿題その2<br />マウスカーソルのある位置に円を描く<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />33<br />カーソルが移動<br />
  34. 34. 宿題<br />左クリックした時だけ、マウスカーソルの位置に円を描く<br />マウスがクリックされる度に、ランダムな位置に、ランダムな大きさ、ランダムな色で円を10個書く<br />10.5.17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />34<br />

×