YouTube

Got a YouTube account?

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

Portuguese, Brazilian subtitles

← Using Variables

Get Embed Code
13 Languages

Showing Revision 1 created 10/09/2015 by sp16.

  1. No próximo grupo de testes
  2. vou mostrar para você como
    variáveis são usadas.
  3. Todos os programas que você está prestes
    a fazer na parte 2 serão compilados.
  4. O que significa que o computador
    pode entender o código escrito
  5. para ele, e seremos capazes de
    criar um aplicativo.
  6. Ao passo que os programas
    poderão rodar no telefone,
  7. há uma chance de que eles não façam
    aquilo que pretendíamos.
  8. Isto é algo conhecido como
    erro lógico.
  9. Um erro lógico significa que há
    algo errado com a lógica que você
  10. usou para escrever o código.
  11. Vejamos um programa curto e
  12. um cenário exemplo e eu vou guiá-lo
    na solução de um destes erros.
  13. Aqui está um exemplo.
  14. Cada um destes programas tem um
    objetivo, que será escrito aqui.
  15. O programa em si estará
    dentro da caixa verde.
  16. O objetivo deste programa é calcular
    algo chamado Débito de Sono.
  17. O tempo de sono necessário varia um
    pouco com a idade, mas na média
  18. pessoas precisam cerca de 8 horas
    de sono por noite.
  19. Portanto o que este programa tenta fazer
    é calcular o débito de sono numa semana.
  20. O usuário do programa vai estimar
    o quanto ele dorme num dia de semana
  21. normal e o quanto ele dorme num dia
    de fim de semana normal.
  22. Para este exemplo, presumimos que o
    usuário dorme 5 horas em dias de semana
  23. e 9 horas no fim de semana.
  24. O código para esta tarefa está
    na caixa verde.
  25. E a primeira coisa que você vai tentar
    fazer é ler o código e
  26. decidir se o objetivo foi
    alcançado ou não.
  27. Daí o que você também vai fazer é
    passar por cada declaração que
  28. ocorreu no código e decidir o que
    foi exibido de fato na tela.
  29. Presuma que estas chamadas de método aqui,
    coisas que se parecem com display e
  30. têm parênteses e
  31. algo entre eles, exibirão
    conteúdo na tela.
  32. Alguns destes problemas terão muitas
    partes de conteúdos que precisam
  33. exibir, portanto você pode ver
    display1, display2, display3.
  34. Se você ainda estiver vendo este vídeo,
  35. você está provavelmente imaginando
    como resolver algum destes problemas.
  36. Esta não é a primeira vez que você
    interage com múltiplas variáveis,
  37. cujos valores podem mudar algumas
    vezes durante o problema.
  38. Então deixe-me fazer o primeiro
    com você antes de liberá-lo
  39. Agora vou usar uma técnica chamada
    simulação manual e o que esta técnica
  40. envolve é tentar descobrir o que
    o computador está fazendo, mas
  41. sem ficar preso ao computador.
  42. Para nós é apenas uma maneira organizada
    de acompanhar o que se passa com
  43. as variáveis.
  44. Agora você vai linha por linha.
    Deixe-me começar com você.
  45. Na primeira linha eu vejo a
    declaração de uma variável, assim
  46. vou escrever o nome da variável,
    que é weekday [dia de semana].
  47. Ela também é inicializada com
    um valor, que é 5,
  48. portanto abaixo de weekday
    colocarei o valor 5.
  49. Isto representa que a variável
    weekday agora armazena 5.
  50. Esta foi a primeira linha.
    Vou para a próxima linha.
  51. Há variável chamada weekend
    [fim de semana], então escreverei isso,
  52. e o valor da variável é 9.
  53. Parece bom, portanto
  54. vou para a próxima linha, que
    é uma declaração e
  55. instanciação da variável optimalHours
    [horas ótimas], então farei o mesmo.
  56. Não escreverei o valor 7*8.
  57. Calcularei isso pois é isso
  58. que fica armazenado em optimalHours
  59. Assim, com um pouco de matemática
    mental, 7 vezes 8 é igual a 56.
  60. Certo. Temos outra declaração aqui.
  61. Criamos uma variável chamada actualHours
    [horas de fato], portanto escrevemos isso.
  62. Bem, é igual ao valor de weekday, e
  63. este é o valor atual de weekday.
  64. Não é algum valor passado
    ou futuro de weekday.
  65. Estamos acompanhando qual o valor
    atual de weekday aqui.
  66. Portanto posso apenas olhar aqui
    e ver que é 5.
  67. Portanto devo pensar sobre
    isso como sendo o número 5.
  68. Ele está dizendo int
    actualHours
    é igual a 5.
  69. Vou escrever isso aqui.
  70. Certo. Vamos para a próxima linha.
  71. Então agora mudamos actualHours
    de novo para ser igual ao valor atual de
  72. actualHours mais weekend vezes 2.
  73. Posso olhar aqui. O valor atual de
    actualHours é 5 e
  74. o valor atual de weekend é 9.
  75. E agora eu tenho esta pequena
    equação aqui.
  76. Eu faço a multiplicação antes
    da adição, portanto
  77. 9 vezes 2 é 18, e então eu somo 5.
  78. E com um pouco mais de matemática
    mental, 18 mais 5 é 23.
  79. Então isso é igual a 23.
  80. E o que tenho que fazer é cortar
    o valor antigo de actualHours e
  81. escrever o novo valor de actualHours.
  82. Certo. Está feito.
  83. Vamos para a próxima linha.
  84. Temos int solution, portanto
    esta é uma declaração de variável.
  85. E ela está sendo igual a algo, mas
  86. escreverei a palavra
    solution [solução] antes.
  87. E solution é igual a optimalHours
    menos actualHours.
  88. Vamos para cá. optimalHours é 56,
    e actualHours é 23.
  89. Tudo bem usar a calculadora.
  90. Eu fiz isso antes e sei que
    56 menos 23 é 33.
  91. Então seguimos para a próxima e
  92. última linha, que diz display (solution).
  93. Podemos olhar aqui para ver qual o
    valor de solution, que é 33.
  94. Portanto ele exibirá o número 33.
  95. É assim que eu, ou você, ou
  96. qualquer pessoa pode descobrir o
    que este programa acabou de fazer.
  97. Mas a questão real é:
    ele fez a coisa certa?
  98. Há um erro lógico em algum lugar aqui ou
  99. alguém que dorme 5h por noite em dias
    de semana e 9h nos finais de semana
  100. terá um débito de sono de 33h ao
    final de uma semana?
  101. Quero saber o que você acha.
  102. Só um aparte, agora que você criou
    este aplicativo do Conjunto de Prática 2,
  103. eu só vou mostrar como você poderia
    também colocar o código dentro do
  104. Conjunto de Prática 2 se
    você quisesse testá-lo.
  105. Recomendo muito testar
    manualmente primeiro
  106. pois isso dará ao seu cérebro
    uma noção melhor do que está acontecendo.
  107. Mas também é bom poder por o
    código no Android Studio e
  108. brincar um pouco com ele.
  109. Sugiro que você copie e cole o
    código do problema,
  110. que será fornecido nas notas do
    instrutor, dentro do método onCreate.
  111. Este é o primeiro método que você verá
    aqui no seu MainActivity class.
  112. Só para ficar bem claro, é assim
    que seu onCreate se parece
  113. antes de ser modificado, e então você
    pode colar o código, como eu fiz.
  114. A outra coisa que você
    precisará copiar e colar,
  115. que fará esta linha de código
    funcionar, está aqui embaixo.
  116. É este código, e eu também o
    incluí nas notas do instrutor.
  117. A última coisa que você precisará
    fazer é ir ao seu XML, e
  118. certificar-se de que seu TextView tenha
    um id display_text_view,
  119. que deve ser exatamente como
    o que é mostrado aqui.
  120. Contanto que estas duas coisas
    estejam certas quando você rodar este
  121. código, você terá o valor
    exibido na tela.
  122. É um pouco difícil de ver, mas
    diz 33 aqui.
  123. E com tudo isso, o conhecimento
    que teve ao simular manualmente e
  124. alguma ajuda para fazer
    funcionar no seu telefone,
  125. siga em frente e tente descobrir: este
    programa está fazendo o que deveria?