Al final de esta lección, tendrás la oportunidad de empezar a escribir código sencillo, no solo de editar algo que ya existe.
Pero primero, un poco más de información.
Qué hacen los buenos programadores (en vez de memorizar)
Un programador experimentado hará anotaciones en el código que no forman parte del programa, son comentarios sobre lo que hizo o por qué lo hizo. Cuando el programa se ejecuta, estos comentarios se ignoran, pero las notas del programador, llamadas comentarios de código o simplemente comentarios, permanecen en el código.
Comentarios del código
Escribir comentarios en el código es una buena práctica en general, pero es especialmente útil cuando solo estás empezando a programar y vas descubriendo cosas sobre la marcha. Estos comentarios pueden ser realmente útiles cuando intentas comprender por qué tú (u otra persona) hicisteis algo.
La forma más sencilla de escribir un comentario de código es poner un # delante del comentario, pero también hay otras formas de hacerlo:
|
Comentario de una línea: todo lo que aparece entre # y el final de línea forma parte del comentario del código. |
|
Comentario de bloque insertado: todo lo que aparece entre <# y #> forma parte del comentario del código. Los comentarios de bloque insertados pueden ir entre expresiones de una sola línea y no modifican las expresiones. |
|
Comentario de bloque de varias líneas: todo lo que aparece entre <# y #> forma parte del comentario del código. Los comentarios en bloque de varias líneas pueden abarcar varias líneas. |
|
Comentario de bloque anidado: todo lo que aparece entre <# y #> forma parte del comentario del código, y puede anidarse. Esto puede resultar útil si deseas comentar algunas expresiones en una línea para probar y depurar sin modificar un comentario del código existente. |
|
Comentario con sangría: todo lo que aparezca en líneas nuevas después de <#> y tenga una sangría de cuatro espacios forma parte del comentario del código. La primera línea que no tiene una sangría de cuatro espacios no forma parte del comentario del código y marca el final del comentario del código. |
Cómo utilizar condicionales para tomar decisiones en el código
¿Recuerdas las expresiones if .. else que viste en la lección 2? Se conocen como expresiones condicionales.
Las expresiones condicionales, o condicionales para abreviar, son la forma de indicar al programa que tome decisiones.
La expresión if comprueba si algo se ha cumplido o ha fallado. Si se ha cumplido, se ejecuta cierto código. Si ha fallado, se ejecuta otro código en su lugar.
Puedes pensar en esto como una forma de hacerle al programa una pregunta de sí o no.
En la vida real, tomas decisiones todo el tiempo basándote en la respuesta a una pregunta de sí o no. Por ejemplo, ¿tienes sueño? Si la respuesta es sí, te vas a dormir. Si la respuesta es no (else), te quedas a ver dibujos animados en la tele.
Si tuvieras que programar este comportamiento, podría ser así:
var Tired: logic = false
var WhatToWatch: string = "nada"
if (Tired?):
set WhatToWatch = "la almohada"
else:
set WhatToWatch = "los dibujos"
Print("Deberías ver {WhatToWatch}")
# Deberías ver dibujos animados
¿Te has fijado en el signo de interrogación ? en la expresión if? Así es cómo un programa de Verse comprueba si un tipo logic es true o false.
Anidado
Cuando el código está anidado, significa que está con sangría bajo una expresión clave como if o else. Estas expresiones crean un nuevo ámbito.
El ámbito se refiere a un fragmento de código en el que se pueden utilizar nombres y sus valores asociados. El ámbito está contenido en un bloque de código con sangría.
Por ejemplo:
if (Tired?):
set WhatToWatch = "la almohada"
else:
set WhatToWatch = "los dibujos"
La línea set WhatToWatch = "la almohada" aparece con sangría debajo de la línea if (Tired?): El mismo patrón se repite para la línea else:.
Puedes anidar una única línea de código, o puedes anidar un bloque (varias líneas) de código.
Lo que esto significa es que cuando el código se ejecuta, el código anidado solo se ejecutará dentro del contexto del código bajo el que está anidado.
Uso de varias condiciones
A veces es necesario hacer más de una pregunta antes de tomar una decisión. En Verse, esto se hace con los operadores and y or. Se denominan operadores de decisión.
Cuando se utiliza and, las condiciones a ambos lados del operador tienen que devolver true o cumplirse para que toda la expresión se cumpla.
Cuando se utiliza or, solo es necesario que una condición devuelva true o se cumpla para que toda la expresión lo haga.
| Primera condición | Operador | Segunda condición | Expresión completa |
|---|---|---|---|
| éxito | and | éxito | éxito |
| éxito | and | fallo | fallo |
| fallo | and | fallo | fallo |
| éxito | or | éxito | éxito |
| éxito | or | fallo | éxito |
| fallo | or | fallo | fallo |
Para ver cómo funcionan estos operadores, revisemos el código.
Aunque no sientas mucho cansancio, puede ser una buena idea dormir si mañana tienes clase. Vamos a comprobarlo creando una variable nombrada SchoolTomorrow y con or para comprobar ambas variables logic.
var Tired: logic = false
var SchoolTomorrow: logic = true
var WhatToWatch: string = "nada"
if (Tired? or SchoolTomorrow?):
set WhatToWatch = "la almohada"
else:
set WhatToWatch = "los dibujos"
Print("Deberías ver {WhatToWatch}")
# Deberías ver la almohada
Tired sigue siendo false, pero como SchoolTomorrow es true, toda la expresión se cumple, y WhatToWatch es "la almohada".
Hay otra forma de comprobar varias condiciones.
Con if ... else if ... else se pone una secuencia a las cosas que estás comprobando. Esto significa que si compruebas la primera condición, solo tendrás que comprobar la siguiente si la anterior ha fallado.
¿Y si mañana no hay clase y no tienes cansancio? Quizá quieras ir a ver una película con tus amigos. Revisemos el código una vez más para ver cómo funciona.
Actualiza el valor de la variable SchoolTomorrow y declara una nueva variable, FriendsAvailable.
var FriendsAvailable : logic = true
set SchoolTomorrow = false
A continuación, tendrías que actualizar el código para comprobar si tus amigos están disponibles, pero solo si no tienes cansancio o no tienes clase mañana.
if (Tired? or SchoolTomorrow?):
set WhatToWatch = "la almohada"
else if (FriendsAvailable?):
set WhatToWatch = "una película con tus amigos"
else:
set WhatToWatch = "los dibujos"
¡Miaugistral! Ahora solo dormirás si sientes cansancio o mañana hay clase. Si la respuesta a cualquiera de las dos preguntas es negativa, verás una película con tus amigos, o te quedarás en casa viendo dibujos animados si tus amigos no están disponibles.
Planificar tus veladas es ahora mucho más fácil gracias a Verse.
Resolución de problemas
¿Recuerdas que en la lección 1 aprendiste sobre errores del compilador?
Otra cosa que te puedes encontrar cuando escribes código son los bugs.
Bugs
Error de un programa de ordenador que causa que produzca un resultado incorrecto o inesperado. El efecto de un bug puede ser algo pequeño, como cambiar el color del texto de un mensaje, o más dramático, como enviar el mensaje de texto a la pantalla en el momento equivocado, o incluso hacer que el programa se bloquee.
El término lo popularizó Grace Hopper, una de las primeras pioneras de la informática, cuando encontró una polilla dentro de un ordenador y la pegó en su registro manuscrito de solución de problemas con un comentario que decía «Primer caso real de hallazgo de un bug (bicho en inglés)».
Mientras que los errores del compilador impiden que un programa se compile, un bug no aparecerá hasta que el programa se esté ejecutando.
El proceso de identificar y eliminar bugs se llama depuración, y una herramienta que ayuda a encontrarlos es un depurador.
Resumen
- Utiliza comentarios de código para recordar por qué escribiste el código de una manera específica y para ayudar a otros programadores a entender lo que hiciste, y por qué.
- Utiliza constantes para los valores que deben permanecer constantes durante todo el programa.
- Utiliza variables para los valores que deben cambiar en función de la entrada.
- Los bugs y errores de compilación los causan errores en el código.