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

587 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

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

  1. 1. プログラミング技法特論#04<br />N.Shimizu<br />chiko at kaetsu.ac.jp<br />10.5.10<br />1<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  2. 2. 先週の内容<br />変数<br />値に名前をつけたもの<br />型<br />繰り返し<br />条件が成り立っている間<br />同じ処理を繰り返す<br />10.5.10<br />2<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  3. 3. 問題その1<br />ウィンドウサイズは400x400<br />背景は黒<br />2000本の線がランダムに引かれている<br />線の色はランダム<br />2010.4.27<br />3<br />プログラミング技法特論 N.Shimizu <chikoski at kaetsu.ac.jp><br />
  4. 4. size(400, 400);colorMode(RGB, 100, 100, 100, 100);background(0, 0, 0, 100);noStroke();int n = 0;while(n < 2000){ float fr = random(0, 100); float fg = random(0, 100); float fb = random(0, 100); float fo = random(0, 100); stroke(fr, fg, fb, fo); float xa = random(0, width); float xb = random(0, width); float ya = random(0, height); float yb = random(0, height); line(xa, ya, xb, yb); n = n + 1;}<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />4<br />
  5. 5. 問題その2<br />ウィンドウサイズは400x400<br />背景は黒<br />200個の正方形と200個の長方形がランダムな場所に描かれている<br />塗りの色はランダム<br />各辺の長さはランダム<br />2010.4.27<br />5<br />プログラミング技法特論 N.Shimizu <chikoski at kaetsu.ac.jp><br />
  6. 6. size(400, 400);colorMode(RGB, 100, 100, 100, 100);background(0, 0, 0, 100);noStroke();int n = 0;while(n < 400){ float fr = random(0, 100); float fg = random(0, 100); float fb = random(0, 100); float fo = random(0, 100); fill(fr, fg, fb, fo); float w = random(20, 80); float h = random(20, 80); float x = random(0, width - w); float y = random(0, height - h); rect(x, y, w, h); n = n + 1;}<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />6<br />
  7. 7. 問題その3<br />ウィンドウサイズは400x400<br />背景は黒<br />20x20の正方形をびっちり敷き詰める<br />一つ一つの色はランダム<br />2010.4.27<br />7<br />プログラミング技法特論 N.Shimizu <chikoski at kaetsu.ac.jp><br />
  8. 8. size(400, 400);colorMode(RGB, 100, 100, 100, 100);background(0, 0, 0, 100);stroke(90, 90, 90, 100);int i = 0;int l = 20;while(i < width / l){ int j = 0; while(j < height / l){ float fr = random(0, 100); float fg = random(0, 100); float fb = random(0, 100); fill(fr, fg, fb, 100); rect(i * l, j * l, l, l); j = j + 1; } i = i + 1;}<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />8<br />
  9. 9. こういう絵を描いてみよう<br />黒地に円を書く<br />塗りはなし<br />上3分の1は赤の円<br />次の3分の1は青の円<br />最後の3分の1は緑の円<br />円の大きさ、位置はランダム<br />10.5.10<br />9<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  10. 10. 条件分岐<br />ある条件が成立しているかどうかによって処理を変えること<br />Processingではif文を使って表現する<br />10.5.10<br />10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  11. 11. if文<br />if(条件){<br />条件が成り立っている場合の処理<br />}else{<br />条件が成り立たない場合の処理<br />}<br />10.5.10<br />11<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  12. 12. 3つの場合<br />if(条件1){<br />条件1が成り立っている場合の処理<br />}else if(条件2){<br />条件2の成り立っている場合の処理<br />}else{<br />条件1も2も成り立たない場合の処理<br />}<br />10.5.10<br />12<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  13. 13. こういう絵を描いてみよう<br />黒地に円を書く<br />塗りはなし<br />上3分の1は赤の円<br />次の3分の1は青の円<br />最後の3分の1は緑の円<br />円の大きさ、位置はランダム<br />10.5.10<br />13<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  14. 14. プログラムの骨組み<br />size(400, 400);<br />colorMode(RGB, 100, 100, 100, 100);<br />background(0, 0, 0, 100);<br />noFill();<br />intn = 0;<br />while(n < 400){<br /> float r = random(20, 80);<br /> float x = random(r, width – r);<br /> float y = random(r, height – r);<br />円を描く<br />n = n + 1;<br />}<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />14<br />
  15. 15. 円の描き方<br />if(上3分の1に描く場合){<br />赤い円を描く<br />}else if(次の3分の1に描く場合){<br />青い円を描く<br />}else{<br />緑の円を描く<br />}<br />10.5.10<br />15<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  16. 16. 円の描き方<br />if(上3分の1に描く場合){<br /> stroke(100, 0, 0, 100);<br />ellipse(x, y, r, r);<br />}else if(次の3分の1に描く場合){<br /> stroke(0, 100, 0, 100);<br />ellipse(x, y, r, r);<br />}else{<br /> stroke(0, 0, 100, 100);<br />ellipse(x, y, r, r);<br />}<br />10.5.10<br />16<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  17. 17. 共通部分を外に出す<br />if(上3分の1に描く場合){<br /> stroke(100, 0, 0, 100);<br />}else if(次の3分の1に描く場合){<br /> stroke(0, 100, 0, 100);<br />}else{<br /> stroke(0, 0, 100, 100);<br />}<br />ellipse(x, y, r, r);<br />10.5.10<br />17<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  18. 18. Processingの座標系<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />18<br />Y座標<br />
  19. 19. 各場合とY座標の範囲<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />19<br />
  20. 20. 円を描く部分<br />if(y < height / 3){<br /> stroke(100, 0, 0, 100);<br />}else if(y < height * 2 / 3){<br /> stroke(0, 100, 0, 100);<br />}else{<br /> stroke(0, 0, 100, 100);<br />}<br />ellipse(x, y, r, r);<br />10.5.10<br />20<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />
  21. 21. 全体<br />size(400, 400);<br />colorMode(RGB, 100, 100, 100, 100);<br />background(0, 0, 0, 100);<br />noFill();<br />intn = 0;<br />while(n < 400){<br /> float r = random(20, 80);<br /> float x = random(r, width – r);<br /> float y = random(r, height – r);<br />if(y < height / 3){<br /> stroke(100, 0, 0, 100);<br /> }else if(y < height * 2 / 3){<br /> stroke(0, 100, 0, 100);<br /> }else{<br /> stroke(0, 0, 100, 100);<br />}<br />ellipse(x, y, r, r);<br /> n = n + 1;<br />}<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />21<br />
  22. 22. こういう絵を描いてみよう<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />22<br />
  23. 23. 数値の比較<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />23<br />
  24. 24. こういう絵を描いてみよう<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />24<br />
  25. 25. こういう絵を描いてみよう<br />25<br />論理思考とプログラミング #08 N.Shimizu<br />09.12.3<br />
  26. 26. AかつB<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />26<br />ココ<br />
  27. 27. AまたはB<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />27<br />A,B全部<br />
  28. 28. 論理演算子<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />28<br />
  29. 29. こういう絵を描いてみよう<br />29<br />論理思考とプログラミング #08 N.Shimizu<br />09.12.3<br />
  30. 30. for文:繰り返しを書く第二の記法<br />for(事前にやる処理; 条件; 毎回最後にやる処理){繰り返しの処理<br />}<br />事前にやる処理;<br />while(条件){繰り返しの処理毎回最後にやる処理;<br />}<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />30<br />
  31. 31. for文で書き直してみよう<br />ウィンドウサイズは400x400<br />背景は黒<br />200個の正方形と200個の長方形がランダムな場所に描かれている<br />塗りの色はランダム<br />各辺の長さはランダム<br />2010.4.27<br />31<br />プログラミング技法特論 N.Shimizu <chikoski at kaetsu.ac.jp><br />
  32. 32. for文で書き直してみよう<br />ウィンドウサイズは400x400<br />背景は黒<br />20x20の正方形をびっちり敷き詰める<br />一つ一つの色はランダム<br />2010.4.27<br />32<br />プログラミング技法特論 N.Shimizu <chikoski at kaetsu.ac.jp><br />
  33. 33. 今日のまとめ<br />if文:条件分岐<br />条件式<br />条件式の例:数値比較<br />&&と||を使って条件を組み合わせられる<br />for文:繰り返しの第2の書き方<br />10.5.10<br />プログラミング技法特論 N.Shimizu<chiko at kaetsu.ac.jp><br />33<br />

×