プログラミング指導 第五章_制御文 其ノ三_while文 -...
TRANSCRIPT
![Page 1: プログラミング指導 第五章_制御文 其ノ三_while文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022071701/55c2b840bb61ebed508b45ab/html5/thumbnails/1.jpg)
WHILE文 寝不足から始まる悪循環もループするからな!
![Page 2: プログラミング指導 第五章_制御文 其ノ三_while文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022071701/55c2b840bb61ebed508b45ab/html5/thumbnails/2.jpg)
WHILEについて
結局はループ。Forでは指定した回数のループしか出来なかったけど、 条件式でループさせることができるから便利だね。
使い方 while(条件式) { ループさせるヤツ }
条件式が満たされている、つまり真のときはループし続ける。 条件式が満たされなくなった時、つまり偽のときにループを抜ける。 とりあえず、やってみよう
![Page 3: プログラミング指導 第五章_制御文 其ノ三_while文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022071701/55c2b840bb61ebed508b45ab/html5/thumbnails/3.jpg)
やってみよう
#include <stdio.h> int main() { int a=0; while(a<10) //aが10未満の時だけループ { printf("%d¥n",a); a++; } return 0; }
0~9までの数が表示されたら成功
次の例はちょっとだけゲーム風味に仕上げてみました。 さて皆さん、「&&」や「||」を忘れてませんか?忘れてしまった方はifのパワポに書いてありますよ
![Page 4: プログラミング指導 第五章_制御文 其ノ三_while文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022071701/55c2b840bb61ebed508b45ab/html5/thumbnails/4.jpg)
#include <stdio.h> int main() { int HP=100,AT=30;//勇者のステータス int eHP=200,eAT=40;//エネミーのステータス int a=0; printf("数値を入力してください¥n"); while(HP>0 && eHP>0) { printf("1.たたかう 2.かいふく 残りHP%d¥n",HP); scanf_s("%d",&a); if(a==1) { printf("ゆうしゃは テキに %dダメージを あたえた¥n",AT); printf("テキの こうげき %dダメージを くらった¥n",eAT);
eHP -= AT; HP -= eAT; } else if(a==2) { printf("ゆうしゃは かいふくした¥n"); HP=100; } else printf("1か2を半角で入力してください¥n"); //一行だけなら{}を省略できる } printf("¥n¥n¥nGAME OVER¥n¥n¥n"); return 0; }
応用編
![Page 5: プログラミング指導 第五章_制御文 其ノ三_while文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022071701/55c2b840bb61ebed508b45ab/html5/thumbnails/5.jpg)
まとめ
おつかれさまでした。もっと短いコードにした方が良かった気がする。 例えば、4の倍数の数が10個表示されるまでループとか、 素数を10個見つけるとか、 フィボナッチ数列で数値が1000以上になるまでループとか、 いやぁ、うん。興味があったらやってみてね!
さて、さっそく……
第五章の課題にGO!!!