‫お帰りなさい｡
‫なんとか課題の解決につながったでしょうか｡
‫そして今度は､ 私ならどうするか､ 考えてみましょう｡
‫もちろん､ この課題には複数の解決策があり､ そのうちのひとつが今回ご紹介するものです｡
‫だから､ もしそれができなかったとしても､ 心配はいらない｡
‫このビデオでお見せします｡
‫そこで､ まず必要なのは入力変数で､ これはゼロに設定することになります｡
‫次に､ エントリー数が必要です｡
‫あるいは､ 実際にカウントと呼ぶこともできますが､ これもゼロに設定しました｡
‫しかし､ 今回は整数である｡
‫次に､ totalが必要ですが､ これもゼロにします｡
‫そして､ 現在の数値が必要です｡
‫現在の数字､ あれもゼロになるんですよ｡
‫というのも､ 私たちがチェックしなければならないのは､ ユーザーが何を入力したのか､ あるいは先生が何を入力したのか､
‫ということだからです｡
‫数字だったんですか？
‫数字だったら問題ない｡
‫じゃあ､ 合計を増やそう､ カウントを増やそう､ まあ､ 一般的には入力を解析して､ それを合計に加えましょう｡
‫そして､ 現在の数値が数値として入力されることになる｡
‫つまり､ ここで関係してくるのはこの4つの変数です｡
‫そこで､ 入力がマイナス1と等しくないかどうかを確認したいので､ whileループを作ってみましょう｡
‫というのも､ もしそうなら､ それは先生がこれ以上値を増やしたくないということだからです｡
‫では､ まず先生に何が求められているのかを伝えましょう｡
‫だから､ 手紙を書こう｡
‫最後の数字が､ そして､ 例えば､ ここに私たちのゼロと現在の数字があります｡
‫だから､ まだ何も入力していないように､ スタートがうまくいっていないので､ それは最初にゼロで表示されるものなのです｡
‫そのため､ 現在の数値は0になります｡
‫そしてそれは､ 先生が自分に関係するさまざまな州の情報を得るためのテキストに過ぎないのです｡
‫その後､ 次のスコアを入力してください｡
‫それは､ 彼女が点数を入力することを知らせるためだけです｡
‫そして､ もう一度コンソール右側のライン｡
‫そして現在のエントリー数｡
‫だから､ 彼は自分が何回エントリーしたかを知っているのです｡
‫そして､ これもまた､ 中括弧「0」であるべきです｡
‫そして､ それがカウントとなる｡
‫さて､ いよいよコンソール・ドット・ライトのラインです｡
‫先生にも「マイナス1を入力すると､ アプリケーションが全部終わってしまう」ということを伝えておく必要があります｡
‫まあ､ かなりの計算をして､ 平均値を出しているはずです｡
‫ということで､ マイナス1を入力してください｡
‫平均を計算する準備ができたら､ あるいはすべてのスコアを入力したら､ といった具合に｡
‫だから､ テキストはもちろん自分で選ばなければならないものです｡
‫何を知らせたいのですか？
‫さて､ 入力が必要なので､ 先生の入力を取得しましょう｡ これはコンソールのドットリード行になります｡
‫次に､ 入力がマイナスに等しいかどうかをチェックする必要があります｡
‫だからマイナス1｡
‫そして､ その方法でやるか､ イコールを使うかのどちらかです｡
‫マイナス1に等しい｡
‫では､ 先生がマイナス1を入力した場合､ どうしたいのか｡
‫さて､ 平均値を算出したい｡
‫それでは､ コンソールの右側のラインです｡
‫そして､ ここでやりたいことは､ ただ単に見やすくするため､ あるいは見やすくするためです｡
‫この点線を追加して､ このハッシュ線が見えるようにすると､ 平均がもう少しよく見えるようになり､ 前のステップがすべて分離されていることがわかるようになります｡
‫あとは､ 入力されたものの平均を計算する｡
‫そしてそれは､ 後で平均値を計算して先生に知らせることができるのです｡
‫だから､ それは後からできることなんです｡
‫しかし､ 今はそれ以外にもやらなければならないことがあります｡
‫そこで､ 例えば､ その入力が実際に数字であったかどうかをチェックする必要があります｡
‫そこで､ intはparseを試してみます｡
‫だから､ 彼が正しくパースしたことが効いたのなら｡
‫そして､ 解析したいのは何なのか？
‫さて､ 入力をパースして､ 出力は現在の数字にする必要があります｡
‫ということは､ もしうまくいったとしたら､ 現在の数値を出力させたいわけですよね｡
‫次に､ 現在の数値が0より大きいかどうか､ 現在の数値が21より小さいかどうかをチェックします｡
‫だから､ ここで確認しているのは､ 単純にそういうことです｡
‫だから､ 確認しているんです｡
‫実際に効果があったものなのでしょうか？
‫ということは､ 彼が入力したのは､ 0から20の間の数字なのか､ それとも1から20の間の数字なのか｡
‫その場合は､ その分を加算して行ってください｡
‫ということで､ ここまでの累計はゼロです｡
‫そして､ 今欲しいのは､ トータルイコール､ トータル＋現在の数字です｡
‫つまり､ トータル＝トータルプラスか､ プラス＝現在の数字か､ どちらかの方法で行うことができます｡
‫つまり､ それが近道なんですね｡
‫でも､ 好みに応じてもう一方の方が読みやすいかもしれませんね｡
‫つまり､ それが数字に解析できれば実行されるわけです｡
‫だから､ ユーザーが入力したものは何でも数字に解析することができる｡
‫そうでなかったらどうでしょう｡
‫ですから､ もし数値に解析できなかったり､ 21より大きいか0より小さい場合は､ まず入力がマイナス1でないかどうかをチェックします｡
‫なぜなら､ もしマイナス1を入力したなら､ とにかくプログラムを終了させたいからです｡
‫そうですね｡
‫だから､ ここで必要なのは､ 彼に情報を伝えることです｡
‫コンソールの右側ラインをお願いします｡
‫1から20の間の値を入力してください｡ この条件は､ 彼が1から20の間でないものを入力した場合にのみ満たされるからです｡
‫だから､ 文字なら文字､ 全文なら全文､ 25などの数字なら数字が印刷されます｡
‫そして､ もしそうなったら､ 続けたいと考えています｡
‫だから､ 単純に次のステップに進みたいのです｡
‫そして今度は､ 私たちのワイルドコードの中で何かを実行する必要があります｡
‫だから､ もう少し小さくしようと思っているんです｡
‫つまり､ 1つの画面にすべてが表示されているので､ あとは反復回数を追加していくだけです｡
‫そこで､ ここでは､ カウントである量を増やす必要があります｡
‫なるほど｡
‫エントリー数がカウントになるのですが､ ここでカウントを咎めることにします｡
‫なぜ､ ここで増量するのか？
‫まあ､ あくまで実行されることを確認するためにそうしているのですが｡
‫そのため､ 実際にカウントを増加させたい場合のみ､ カウントを増加させるようにしています｡
‫というのも､ もし､ このまま､ ここで続けてやってしまうと､ 入力された数字が0と1～20の間でない場合､
‫あるいは後者のような別の種類の入力であった場合､ さらに入力量が増えてしまうからです｡
‫ここでは､ すべてがうまくいった場合にのみ実行されることを確認します｡
‫だから､ 彼は良いという値を入力したので､ 先に進むことができる｡
‫わかりました｡
‫それで､ あとは一つ､ 平均を計算することです｡
‫そして､ どうすればいいのか？
‫さて､ ここで先に進みます｡
‫ダブルを作成するのです｡
‫なぜなら､ そうしないと平均値が整数になってしまい､ 切り捨てられたりして､ 思うような精度にならないからです｡
‫そこで､ 合計の2倍をカウントの2倍で割ったものを平均と呼ぶことにします｡
‫つまり､ ここで言う平均とは､ ここにある総額のことなのです｡
‫何かを入力するたびにインクリメントされます｡
‫を入力する量で割ったものです｡
‫だから､ 基本的にはそういう計算というか､ 平均値を算出するための計算式があるわけです｡
‫そうですね｡
‫次にやりたいことは､ それをコンソールに書き込むことです｡
‫では､ そのように書いてみましょう｡
‫生徒の平均点はというと､ また中括弧ゼロを使って､ 平均点を渡すと､ それでほぼ終了です｡
‫さて､ これでユーザーの入力を利用するプログラムが完成しました｡
‫あ､ 実は1つだけ足りないものがあるんです｡
‫最後の方の赤い線が抜けているのは､ そうしないとここに結果が表示されないからです｡
‫そこで､ 読んだり､ 実際に読んだりしたそのコンソールを追加してみましょう｡
‫赤い線を読んでも､ コードを見ることができれば問題ないのです｡
‫それを実行しよう｡
‫最後の数字は0だった｡
‫次のスコアを入力してください｡
‫エントリーゼロの現在量｡
‫マイナス1を入力してください｡
‫準備ができたら､ 平均値を計算します｡
‫わかりました｡
‫先に進みましょう｡
‫このプログラムがまだ動くかどうかを確認するために､ ジャストを入力してみましょう｡
‫1〜20の値を入力してください｡
‫完璧です｡
‫最後の数字はゼロ｡
‫次のスコアを入力してください｡
‫現在のエントリー数は0です｡
‫今のところ､ すべて順調です｡
‫ここで多少ちんぷんかんぷんなことを入力しても､ まったく問題なく動作する｡
‫では､ 次に10を入力してみましょう｡
‫最後の数字は10だった｡
‫では､ 15､ 13､ 12と入力してみましょう｡
‫そこで､ ここに数字を書き加えてみる｡
‫また､ 31のようなものを追加すると､ 1〜20の値を入力してくださいと表示されます｡
‫それはいいことだ｡
‫だから､ 私が何か間違ったことをしても､ それがわかるのです｡
‫そのため､ 先生が誤って誤った値を入力した場合､ ここでストップがかかります｡
‫だから､ 現在のエントリー数があるのです｡
‫11 では､ マイナス1を入力し､ どうなるか見てみましょう｡
‫そして､ 生徒の平均点が11点だと書いてありますね｡ 09､ ゼロナイン､ ゼロナインといった具合に｡
‫素晴らしい｡
‫では､ これまで得た知識で何ができるのか､ ここで確認しておきましょう｡
‫ちょっとした平均的なプログラムを作れば､ もっといろいろなことができるようになります｡
‫ですから､ 優れたユーザーインターフェースの使い方をまだ見ていないのです｡
‫コンソールとの連携はまだこれからですが､ 必ずや実現します｡
‫そこで､ Visual Studioで優れたUIを作成するためのツールであるWPFを使って､ ユーザーインターフェースを作成する方法を紹介します｡
‫だから､ 今のところ､ いい進歩だと思います｡
‫そして､ 次のビデオでは､ 次のトピックに進みます｡
‫そこで､ その問題や課題､ あるいは少なくとも課題の一部を解決していただけたらと思います｡
‫そして､ あなたがどのように解決したかを教えてください｡ そうすれば､ 他の生徒や私があなたの作ったものと比較したり､
‫フィードバックをしたりすることができます｡
‫それでは､ ありがとうございました！次のビデオでお会いしましょう｡