YouTube

Got a YouTube account?

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

Vietnamese subtitles

← Using Variables

Get Embed Code
13 Languages

Showing Revision 2 created 11/11/2015 by Fran Ontanaya.

  1. Trong loạt bài kiểm tra tiếp theo,
  2. Tôi sẽ chỉ cho các bạn cách
    các biến được sử dụng.
  3. Tất cả các chương trình mà bạn sẽ
    làm trong phần 2, sẽ biên dịch.
  4. Điều đó có nghĩa là máy tính có thể
    hiểu đoạn mã được viết ra
  5. cho chúng, và chúng ta
    sẽ có thể tạo ra một ứng dụng.
  6. Bây giờ, khi các chương trình
    có thể chạy trên điện thoại,
  7. có khả năng rằng chúng có thể
    không thực hiện được mục tiêu dự định.
  8. Điều này được gọi là lỗi logic.
  9. Lỗi logic nghĩa là có
    cái gì đó sai logic mà bạn
  10. thường viết mã.
  11. Hãy xem một chương trình ngắn và
  12. kịch bản ví dụ và tôi sẽ hướng dẫn bạn
    cách giải quyết một trong những lỗi này.
  13. Đây là ví dụ.
  14. Mỗi chương trình này sẽ có một mục tiêu,
    mà sẽ được viết ra ở đây.
  15. Bản thân chương trình sẽ
    được đóng khung màu xanh.
  16. Được rồi, mục tiêu của chương trình này là
    tính toán cái gọi là tình trạng thiếu ngủ.
  17. Bạn cần ngủ bao nhiêu thay đổi chút ít
    tùy theo độ tuổi, nhưng trung bình,
  18. con người cần ngủ khoảng tám
    tiếng mỗi đêm.
  19. Cái mà chương trình này cố gắng làm là
    tính toán sự thiếu ngủ trong một tuần.
  20. Người dùng của chương trình sẽ tiến tới
    và ước tính họ ngủ trung bình bao nhiêu
  21. vào ngày thường trong tuần, và ngủ
    trung bình bao nhiêu vào ngày cuối tuần.
  22. Ở ví dụ này, chúng ta giả sử
    người dùng ngủ năm giờ vào ngày thường
  23. và chín giờ vào ngày cuối tuần.
  24. Đoạn mã cho nhiệm vụ này là ở đây
    trong khung màu xanh lá cây.
  25. Điều đầu tiên mà bạn sẽ thử
    làm là đọc qua đoạn mã này và
  26. quyết định xem mục tiêu
    đã được hoàn thành hay chưa.
  27. Sau đó, bạn cũng sẽ
    đi qua từng dòng lệnh
  28. diễn ra trong đoạn mã và quyết định
    cái gì thực sự hiển thị trên màn hình.
  29. Giả sử rằng phương thức này gọi ra đây
    những thứ trông giống như hiển thị và
  30. có dấu ngoặc đơn và
  31. thứ gì đó ở giữa chúng,
    sẽ hiển thị nội dung lên màn hình.
  32. Bây giờ, một vài trong số vấn đề này
    sẽ có nhiều phần nội dung mà chúng
  33. cần hiển thị, nên bạn có thể thấy
    display1, display2, display3.
  34. Được rồi,
    nếu bạn vẫn đang theo dõi video này,
  35. có lẽ bạn đang tự hỏi làm thế nào
    để giải quyết một trong các vấn đề này.
  36. Đây không phải là lần đầu tiên bạn
    tương tác với nhiều biến,
  37. các giá trị có thể thay đổi
    một vài lần trong vấn đề.
  38. Để tôi thực hiện cái đầu tiên cùng
    bạn trước khi tôi để bạn thoải mái.
  39. Bây giờ tôi sẽ sử dụng kỹ thuật gọi là
    mô phỏng tay và kỹ thuật này
  40. liên quan đến việc cố gắng tìm hiểu
    máy tính đang làm gì,
  41. mà không gắn
    nó với máy tính.
  42. Với chúng ta, nó là một cách có tổ chức
    để theo dõi những gì đang xảy ra với
  43. các biến.
  44. Được rồi, giờ bạn sẽ đi từng dòng một
    để tôi bắt đầu dòng này với bạn.
  45. Trong dòng đầu tiên ở đây tôi thấy
    khai báo của một biến, vì vậy
  46. Tôi sẽ tiếp tục và viết tên biến
    là ngày trong tuần.
  47. Nó cũng được khởi tạo
    đến một giá trị là 5,
  48. vậy ở ngày trong tuần, tôi
    sẽ đặt giá trị 5.
  49. Nó thể hiện rằng biến
    ngày trong tuần hiện lưu trữ 5.
  50. Được rồi, đó là dòng đầu tiên,
    Tôi sẽ di chuyển đến dòng kế tiếp.
  51. Ta có một biến gọi là ngày cuối tuần,
    vì vậy tôi sẽ viết ra,
  52. và giá trị của biến đó là 9.
  53. Nó trông ổn rồi, nên
  54. tôi sẽ chuyển sang dòng tiếp theo
    là một khai báo và
  55. thuyết minh của biến
    optimalHours, nên tôi sẽ làm tương tự.
  56. Được rồi,
    Tôi sẽ không viết các giá trị 7*8.
  57. Thực ra, tôi sẽ tính toán nó ra,
    bởi vì nó là
  58. cái được lưu trữ trong optimalHours.
  59. Bằng cách tính nhẩm,
    7 lần 8 là 56.
  60. Rồi, chúng ta có một khai báo khác ở đây.
  61. Ta tạo ra một biến gọi là actualHours,
    vậy tôi sẽ viết nó ra.
  62. Nó bằng giá trị
    của ngày trong tuần, và
  63. là giá trị hiện tại của ngày trong tuần.
  64. Đó không phải giá trị quá khứ hay
    giá trị tương lai của ngày trong tuần.
  65. Giờ ta đang theo dõi giá trị hiện tại
    của ngày trong tuần kết thúc ở đây là gì.
  66. Vì vậy, tôi có thể tìm ở đây và
    thấy rằng nó là 5.
  67. Tôi thực sự nên nghĩ
    nó là con số 5.
  68. Nó nói rằng int
    actualHours bằng 5, nên
  69. Tôi sẽ tiếp tục và
    viết nó ở đó.
  70. Chúng ta sẽ chuyển đến dòng kế tiếp.
  71. Bây giờ chúng ta lại thay đổi giờ thực tế
    để bằng với giá trị hiện tại
  72. của actualHours cộng cuối tuần nhân 2.
  73. Tôi có thể xem đến đây, giá trị
    hiện tại của actualHours là 5 và
  74. giá trị hiện tại của cuối tuần là 9.
  75. Bây giờ tôi có phương trình
    nhỏ này ở đây.
  76. Tôi làm phép nhân trước
    phép cộng sau,
  77. 9 lần 2 là 18 và sau đó cộng thêm 5.
  78. Và tính nhẩm một chút,
    18 cộng 5 là 23.
  79. Nó bằng 23.
  80. Và tôi cần phải gạch đi giá trị cũ
    của số giờ thực tế, và
  81. điền vào giá trị mới của giờ thực tế.
  82. Xong rồi.
  83. Tiếp tục chuyển đến dòng kế tiếp.
  84. Chúng ta có n giải pháp, vậy
    đó là một khai báo biến.
  85. Nó được thiết lập bằng một cái gì đó,
  86. nhưng trước hết, tôi sẽ viết ra
    các giải pháp từ.
  87. Và giải pháp bằng số giờ tối ưu
    trừ đi giờ thực tế.
  88. Hãy chuyển qua đây, số giờ tối ưu
    là 56 và giờ thực tế là 23.
  89. Giờ bạn có thể sử dụng máy tính,
  90. Tôi đã làm việc đó trước rồi và
    Tôi biết 56 trừ 23 bằng 33.
  91. Được rồi,
    hãy đi tiếp đến dòng tiếp theo và
  92. dòng cuối cho biết giải pháp hiển thị.
  93. Chúng ta có thể nhìn qua đây để xem
    giá trị của giải pháp là gì, đó là 33.
  94. Vậy nó sẽ hiển thị số 33.
  95. Đó là cách mà tôi, hoặc bạn, hoặc
  96. bất cứ ai, có thể tìm ra
    chương trình này vừa thực hiện điều gì.
  97. Nhưng câu hỏi thực sự là,
    nó đã làm điều đúng?
  98. Có một lỗi logic ở đâu đó
    ngay đây hoặc
  99. liệu ai đó ngủ 5 giờ đêm ngày trong tuần
    và chín giờ vào đêm ngày cuối tuần
  100. sẽ có ba mươi ba giờ
    thiếu ngủ khi hết tuần.
  101. Và tôi muốn biết bạn nghĩ gì.
  102. Như một phụ chú nhanh, giờ bạn đã
    tạo ra bộ 2 ứng dụng thực hành này, nên
  103. Tôi chỉ sẽ cho bạn thấy làm thế nào bạn
    có thể đưa đoạn mã này vào bộ
  104. hai ứng dụng thực hành nếu bạn muốn thử.
  105. Tôi thực sự khuyên nên
    mô phỏng tay trước,
  106. bởi vì nó sẽ cho phép não của bạn
    nắm bắt tốt hơn về những gì đang xảy ra.
  107. Nhưng nó cũng có thể đưa
    mã vào Android Studio và
  108. thử nó một chút.
  109. Gợi ý của tôi là bạn sao chép và dán
    đoạn mã về vấn đề,
  110. vốn sẽ được cung cấp trong ghi chép
    hướng dẫn, vào phương thức onCreate.
  111. Đó là phương thức đầu tiên bạn thấy
    ở lớp hoạt động chính của bạn ở đây.
  112. Để rõ hơn,
    onCreate của bạn trông sẽ thế này
  113. trước khi nó được sửa đổi và sau đó bạn
    có thể dán lên đoạn mã, như tôi đã làm.
  114. Thứ khác mà bạn sẽ
    cần phải sao chép và dán,
  115. thứ sẽ làm dòng mã này hoạt động,
    là ở dưới đây.
  116. Nó là mã này, và tôi cũng đã
    đưa nó vào trong ghi chép hướng dẫn.
  117. Một thứ cuối cùng mà bạn cần làm
    là đi đến XML của mình, và
  118. đảm bảo rằng dạng xem văn bản
    của mình có Id/display_text_view,
  119. và nó cần khớp chính xác
    với những gì đang thể hiện ở đây.
  120. Miễn là hai thứ đó khớp nhau
    khi bạn chạy
  121. đoạn mã này, bạn sẽ thấy giá trị
    được in ra trên màn hình.
  122. Nó khá khó nhìn nhưng
    nó cho biết 33 ở ngay đó.
  123. Và với tất cả điều đó,
    tôi sẽ thử mô phỏng tay và
  124. một số có tác dụng và
    chạy trên điện thoại của bạn.
  125. Mạnh dạn và thử tìm hiểu xem chương trình
    này có đang hoạt động như mong muốn.