YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← Using Variables

Get Embed Code
13 Languages

Showing Revision 17 created 10/20/2015 by Nobuko Hamaguchi.

  1. これからの一連のクイズで
  2. 変数の使い方をお見せします
  3. パート 2 で行うプログラムは
    全てコンパイルになるでしょう
  4. つまり パソコンが書かれているコードを
    理解することができ―
  5. アプリを作成できるということです
  6. プログラムがスマホで
    実行出来ようになるまでの間は―
  7. 予定された目標を
    達成しない事があるかもしれません
  8. それはいわゆる「ロジカルエラー」です
  9. ロジカルエラーとは
    コードを作るに使われたロジックに
  10. 何か間違いがあることを意味します
  11. 短いプログラムとシナリオの例を見て―
  12. そのうちの 1 つを
    一緒に解決していきましょう
  13. ここに 1 つの例があります
  14. それぞれのプログラムに目標があり
    ここに書きだされています
  15. そのプログラム自体は
    この緑の枠内にあります
  16. このプログラムの目標は
    「睡眠不足」というものを計算することです
  17. 必要となる睡眠量は年齢によって
    若干変わりますが
  18. 平均では一晩に 8 時間の睡眠が必要です
  19. ですので このプログラムは 1 週間分の
    睡眠不足を計算しようというものです
  20. プログラムのユーザーは
    平日と週末の平均睡眠時間の―
  21. 概算をすることになっています
  22. この場合 ユーザーの睡眠は
    平日 5 時間で 週末 9 時間だと―
  23. 仮定しています
  24. このタスクのコードは この緑枠の中です
  25. まず最初にすることは
    このコードを解読して―
  26. 目標が達成できたか否かを
    見極めることです
  27. コード内のステートメントを
    1 つずつやってみて―
  28. 実際にスクリーン上に表示される
    状態を見極めます
  29. ここで呼び出されるメソッドには
  30. displayと括弧内の要素があり
  31. スクリーン上にこれを表示すると
    予想されます
  32. これらの問題では
    複数の表示があり
  33. display1, display2, display3等が
    見られるでしょう
  34. このビデオを見続けていると
  35. 問題の 1 つくらい 解決方法を
    知りたいと思うでしょう
  36. 複数の変数の情報交換するのは
    これが最初ではありません
  37. 変数はこの問題に取り組んでいる間
    何度か値が変わるかもしれません
  38. では 取り組んでもらう前に
    最初の問題を一緒に解いてみましょう
  39. 今回は「ハンドシミュレーション」
    という技術を使っていきます
  40. この技術はパソコンからいったん離れて―
  41. パソコンが実行しているモノを
    把握する試みです
  42. これは変数がどうなるかを追跡するのに―
  43. 本当に効率的な方法なのです
  44. では 一行ずつ行きます
    ここからいきますよ
  45. 一行目は変数の宣言ですので
  46. 変数の名前を書き入れます
    「weekday (平日) 」ですね
  47. この初期の値は 5 ですので
  48. 「 weekday 」の下に値の「 5 」を入れます
  49. これは「平日の値が現在 5 である」
    と言うことを表しています
  50. 一行目は終わりました
    次の行へ移ります
  51. 「weekend (週末) 」という変数が
    ありますので 書きだします
  52. その変数の値は 9 です
  53. 良さそうですね
  54. 次の行に行きます これは変数
    「 optimalHours (理想的睡眠時間)」の―
  55. 宣言と具現化ですので
    同じことをやります
  56. よし
    でも値を「 7*8 」とはしません
  57. 実際に計算して値を出します
  58. なぜなら それがoptimalHours の中に
    保存されるからです
  59. では 暗算で 7 × 8 =56
  60. いいですね
    もう 1 つ ここに宣言があります
  61. 「 actualHours (実際の睡眠時間)」
    という変数を作りますので 書きだします
  62. これは weekday の値と同じです
  63. ちなみに 現在の weekday の値です
  64. 過去や未来の weekday の値ではありません
  65. 現在の weekday の値を追跡しているのは
    こちらにありますね
  66. これを確認すると 5 です
  67. なので これは数字の 5 となるはずです
  68. 「 int actualHours = 5 」となるので―
  69. こっちにそう書いていきます
  70. OK 次の行です
  71. 再び actualHours を変更します
  72. 現在の actualHours の値 +
    weekend の値 × 2
  73. こちらを見ると
    現在の actualHours の値は 5
  74. 現在の weekend の値は
    9 となっています
  75. そして ここに小さな方程式があります
  76. 掛け算を足し算の前にするので
  77. 9 × 2 = 18
    そこに 5 を足します
  78. 暗算すると 18 + 5 = 23
  79. この答えは 23 ですね
  80. そうしたら actualHours の
    古い値を消していく必要があります
  81. そして 新しい値を書きます
  82. よし 終わりました
  83. 次の行へ行きます
  84. 「 int solution ( 整数の解答)」とあるので
    これは変数の宣言ですね
  85. そして これは何かと
    等しくなっているのですが
  86. 言葉の solution を先に書きます
  87. solution = optimalHours - actualHours
    ですので
  88. optimalHours は 56 で
    actualHours は 23 です
  89. さあ 電卓を使ってもいいです
  90. 簡単ですね 56 - 23 = 33
  91. OK そして 次の行
  92. 最後の行は「 display(solution)」
    表示(解答)です
  93. solution は 33 ですね
  94. ですから「 33 」と表示されることになります
  95. さて これが
  96. プログラムの実行をすることを
    見つける方法です
  97. しかし 正しいことをしたか?
    という疑問が実際のところありますね
  98. ロジカルエラーが
    このどこかにあるんじゃないか?
  99. 「誰かが平日に 5 時間寝て
    週末は9時間寝ると
  100. その週の終わりには 33 時間の
    睡眠不足になる?」
  101. どう思いますか? 知りたいですね
  102. では やってみましょう
    今 この実践セット2 のアプリを作りました
  103. これを試すために
    このコードをこの実践セット 2 に
  104. 入力する方法もお見せします
  105. まずは ハンドシミュレーションを
    することをお勧めします
  106. なぜならどうなるかを
    よりよく把握することができるからです
  107. でも このコードを
    AndroidStudio に入れて―
  108. 試してみることも有益です
  109. お勧めは インストラクターノートにある
    問題のあるコードを―
  110. コピー & ペーストして
    onCreate メソッドに入れることです
  111. これが MainActivity クラスの
    最初にあるメソッドです
  112. 見ていてください
    ここに変更前の onCreate があります
  113. そこへ この様に コードを貼り付けました
  114. 次にコピー & ペーストが必要なのは
  115. このコードが機能するに必要な物で
    下の方に行って このコードです
  116. この部分を入れてコピーします
  117. 最後に必要なのは XMLに行って―
  118. TextView に「 id/display_text_view 」
    があるかを確認します
  119. これが完全にこの部分に
    一致しているかを確認してください
  120. この 2 つが一致している限り
    このコードを実行すれば―
  121. スクリーン上に値が表示されます
  122. 見えにくいですが
    こちらに「 33 」とあります
  123. いいですね これで終わりです
  124. ハンドシミュレーションを行い
    作り方と実行の仕方も一緒にやりました
  125. では引き続きプログラムの実行事項を
    理解していきましょう