YouTube

Got a YouTube account?

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

Spanish subtitles

← Using Variables

Get Embed Code
13 Languages

Showing Revision 1 created 10/06/2015 by sp12.

  1. A continuación, vamos a ver
    cómo se usan en realidad las variables.
  2. Todos los programas que harás
    en esta segunda parte van a compilarse,
  3. que quiere decir que el ordenador
    entenderá el código que le has escrito
  4. y nosotros podremos crear una app.
  5. Aunque los programas
    se puedan ejecutar en el teléfono,
  6. es posible que no hagan
    lo que se supone que debían hacer.
  7. A esto se le conoce como errores lógicos.
  8. En un error lógico hay algo mal
    con la lógica usada para crear un código.
  9. Veamos ahora un programa corto
    y un ejemplo
  10. y veremos cómo solucionar estos errores.
  11. Este es el ejemplo.
  12. Cada uno de los programas tendrá
    un objetivo, que aparecerá arriba.
  13. El programa en sí
    aparecerá en el recuadro verde.
  14. El objetivo de este programa es calcular
    algo que se llama "la deuda de sueño".
  15. La cantidad de sueño que se necesita
    depende de la edad,
  16. pero de media, la gente necesita
    unas ocho horas de sueño por noche.
  17. Este programa calcula la cantidad
    de deuda de sueño en una semana.
  18. El usuario debe estimar cuánto duerme
    de media en un día de semana
  19. y cuánto duerme de media
    en un día en fin de semana.
  20. Aquí suponemos que el usuario duerme
    cinco horas en un día de semana
  21. y nueve horas en un día de fin de semana.
  22. El código de esta tarea
    está en el recuadro verde.
  23. Lo primero que tienes que hacer
    es leer este código
  24. y decidir si se cumple o no
    con el objetivo.
  25. También debes repasar
    cada una de las instrucciones del código
  26. y decidir qué es lo que se ve
    en realidad en la pantalla.
  27. Supongamos
    que este método se enuncia así,
  28. que las partes donde pone display
    y que tienen paréntesis y algo en medio
  29. mostrarán el contenido en la pantalla.
  30. Algunos problemas tendrán
    varios elementos que se deben ver,
  31. así que por eso verás
    display 1, display 2, display 3...
  32. Si sigues viendo el vídeo, te preguntarás
    cómo resolver los problemas.
  33. Es la primera vez
    que interactúas con muchas variables,
  34. con unos valores que pueden cambiar
    a lo largo del problema.
  35. Voy a hacer el primero contigo
    para que no te pierdas.
  36. Voy a usar una técnica llamada
    "simulación manual",
  37. y lo que hace esta técnica
    es averiguar qué hace el ordenador
  38. pero sin ceñirse solo al ordenador.
  39. Para nosotros es una forma
    muy organizada de seguir las variables.
  40. Vamos a ir línea por línea,
    yo lo haré contigo.
  41. En la primera línea veo
    la declaración de una variable,
  42. voy a escribir el nombre
    de la variable, que es weekday.
  43. Está iniciada con un valor,
    que es de cinco,
  44. así que debajo de weekday
    voy a poner el valor cinco.
  45. Esto representa que la variable weekday
    tiene un valor de cinco.
  46. Eso era de la primera línea,
    vamos con la siguiente.
  47. Tenemos una variable
    que se llama weekend, la voy a escribir.
  48. Y el valor de esa variable es nueve.
  49. Por ahora vamos bien,
    vamos con la siguiente línea,
  50. que es la declaración
    y la creación de una instancia
  51. de la variable optimalHours,
    así que voy a hacer lo mismo.
  52. No voy a escribir el valor 7*8,
    sino que lo voy a calcular,
  53. porque ese es el valor real
    de optimalHours.
  54. Hacemos unos cálculos matemáticos,
  55. y 7x8 es igual a 56.
  56. Aquí tenemos otra declaración,
  57. tenemos una variable
    que se llama actualHours,
  58. lo voy a escribir.
  59. Es lo mismo
    que el valor de weekday,
  60. es el valor actual de weekday,
    no el valor pasado o futuro de weekday.
  61. Y sabemos cuál es el valor actual
    de weekday, lo tenemos aquí,
  62. así que podríamos suponer que es cinco.
  63. Yo voy a asumir que es cinco.
  64. Entonces,
    int actualHours es igual a cinco,
  65. así que lo voy a escribir también.
  66. Vamos con la siguiente línea.
  67. Vamos a volver a cambiar actualHours
  68. para que sea igual
    al valor actual de actualHours
  69. más weekend*2.
  70. Aquí pone que el valor actual
    de actualHours es cinco.
  71. Y el valor actual de weekend es nueve.
  72. Y aquí tenemos una ecuación.
  73. Voy a multiplicar antes de sumar,
    así que 9x2 es 18
  74. y luego sumo 5.
  75. Y si hacemos cálculos,
    18+5 es 23.
  76. Todo esto es igual a 23.
  77. Lo que tengo que hacer es tachar
    el valor antiguo de actualHours
  78. y escribir el valor nuevo de actualHours.
  79. Muy bien,
    vamos con la siguiente línea.
  80. Tenemos int solution,
    que es una variable de declaración,
  81. que es igual a algo,
    pero antes escribo la palabra solution.
  82. Y solution es igual
    a optimalHours menos actualHours.
  83. Si venimos aquí,
    optimalHours es 56,
  84. y actualHours es 23.
  85. No pasa nada si usas calculadora,
  86. yo la he usado antes,
    y sé que 56-23 es 33.
  87. Bien, nos vamos a la última línea,
    que dice display (solution).
  88. Así que podemos venir aquí
    y ver el valor de solution, que es 33,
  89. por lo que mostrará este número, el 33.
  90. Así es como yo, tú o cualquiera
    puede averiguar qué hace este programa.
  91. Pero la pregunta es:
    ¿ha hecho lo que debía hacer?
  92. ¿Hay algún error lógico?
  93. ¿O alguien que duerme cinco horas al día
    entre semana y nueve el fin de semana
  94. tendrá una deuda de sueño
    de 33 horas al final de la semana?
  95. Quiero saber qué piensas.
  96. Un apunte rápido:
    has creado esta app, PracticeSet2.
  97. Vamos a ver cómo puedes meter
    el código en la app de PracticeSet2,
  98. por si quieres probarlo.
  99. Aconsejo que primero hagas
    una simulación manual,
  100. para que tu cerebro entienda mejor
    qué está pasando.
  101. Pero también está bien meter el código
    en Android Studio y jugar un poco con él.
  102. Te sugiero que copies y pegues el código
  103. para solucionar el problema,
    lo verás en las notas del profesor,
  104. en el método onCreate,
  105. que es el primer método en MainActivity.
  106. Para que quede muy claro,
  107. así es como vemos onCreate
    antes de modificarlo,
  108. y ahora podemos pegar el código,
    tal y como he hecho antes.
  109. La otra cosa que tendrás
    que copiar y pegar,
  110. que hará que esta línea
    de código funcione, está...
  111. aquí abajo.
  112. Es este código.
  113. Esto también lo he puesto
    en las notas del profesor.
  114. Una última cosa que tendrás que hacer
  115. es ir a tu XML
  116. y asegurarte
    de que en TextView está este ID:
  117. display_text_view.
  118. Y esto debería coincidir exactamente
  119. con lo que aparece aquí.
  120. Si estos dos elementos coinciden
    cuando ejecutes el código,
  121. verás el valor en la pantalla.
  122. Es un poco difícil de ver,
    pero se ve un 33.
  123. Y con todo esto,
    vamos a hacer una simulación manual
  124. y con un poco de ayuda
    intentar que funcione en el teléfono.
  125. Ahora intenta averiguar
    si el programa hace lo que debería hacer.