Entras a tu correo desde una zona wifi, te equivocas de clave tres veces y la cuenta se bloquea. Detrás hay un programa, y por complejo que sea siempre se arma con las mismas piezas: variables que guardan datos, expresiones que calculan, contadores que llevan la cuenta y un orden de pasos bien definido. Aquí aprendes a leer y escribir algoritmos secuenciales en pseudocódigo y diagramas de flujo. Como ampliación verás las decisiones, las repeticiones y las funciones. Al final volveremos a la cuenta bloqueada.
Variables, constantes y tipos de dato
Piensa en un videojuego: la variable puntos empieza en 0 y sube cada vez que pasas de nivel con puntos ← puntos + 100. En cambio, la tasa de impuesto de 10 % de una tienda se guarda en la constante TASA, porque no debe cambiar mientras el programa corre. Así, un celular de $\$200$ queda en $\$220$ con el impuesto: $200 + 200 \cdot 0{,}10 = 220$.
Practica★☆☆Sin empezar
Explica qué es una variable en un programa y pon un ejemplo: qué nombre y qué contenido tendría una variable en un videojuego que guarda los puntos del jugador. ¿Qué…
Explica qué es una variable en un programa y pon un ejemplo: qué nombre y qué contenido tendría una variable en un videojuego que guarda los puntos del jugador. ¿Qué operación cambiaría su valor al superar un nivel?
Explica la diferencia entre una variable y una constante en un programa, con un ejemplo de cada una en un programa de facturación (el precio del producto frente al…
Explica la diferencia entre una variable y una constante en un programa, con un ejemplo de cada una en un programa de facturación (el precio del producto frente al porcentaje del impuesto).
Los datos de un programa tienen tipo: entero, decimal, texto o booleano. Indica el tipo más adecuado para cada dato y justifícalo: la edad de una persona, su altura en…
Los datos de un programa tienen tipo: entero, decimal, texto o booleano. Indica el tipo más adecuado para cada dato y justifícalo: la edad de una persona, su altura en metros, su nombre y si ha aprobado o no.
Lee este fragmento y haz la traza: Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Lee este fragmento y haz la traza:
inicio
x ← 4
x ← x + 2
escribir x
fin
Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Cada variable y cada constante lleva un nombre: su identificador. En el programa de una tienda, precio y cantidad se entienden; x1 o a no dicen nada.
Practica★☆☆Sin empezar
Explica qué es una variable en un programa y pon un ejemplo: qué nombre y qué contenido tendría una variable en un videojuego que guarda los puntos del jugador. ¿Qué…
Explica qué es una variable en un programa y pon un ejemplo: qué nombre y qué contenido tendría una variable en un videojuego que guarda los puntos del jugador. ¿Qué operación cambiaría su valor al superar un nivel?
Con las variables se construyen expresiones usando operadores. Hay tres familias:
Familia
Operadores
Resultado
Aritméticos
+, −, ·, /, mod
un número
Relacionales
<, ≤, >, ≥, =, ≠
verdadero o falso
Lógicos
y, o, no
verdadero o falso
Su uso más común es la divisibilidad: a es divisible entre b justo cuando a mod b = 0. Así, n mod 2 = 0 indica que n es par, y n mod 2 = 1 que es impar.
Practica★☆☆Sin empezar
Lee este fragmento y haz la traza: Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Lee este fragmento y haz la traza:
inicio
x ← 4
x ← x + 2
escribir x
fin
Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Dos usos muy frecuentes de la asignación son llevar la cuenta y ir sumando.
Practica★☆☆Sin empezar
Explica qué es una variable en un programa y pon un ejemplo: qué nombre y qué contenido tendría una variable en un videojuego que guarda los puntos del jugador. ¿Qué…
Explica qué es una variable en un programa y pon un ejemplo: qué nombre y qué contenido tendría una variable en un videojuego que guarda los puntos del jugador. ¿Qué operación cambiaría su valor al superar un nivel?
Algoritmos secuenciales: entrada, proceso y salida
Un algoritmo se puede expresar en lenguaje natural, en un diagrama de flujo o en pseudocódigo. Aquí, una compra de arroz a 1,50 dólares la libra:
Los símbolos son: óvalo para inicio y fin, paralelogramo para entrada y salida, y rectángulo para el proceso.
Pseudocódigo
Qué hace
inicio
comienza el algoritmo
leer libras
entrada: pide la cantidad de libras
total ← libras · 1,5
proceso: calcula el importe
escribir total
salida: muestra el resultado
fin
termina el algoritmo
Practica★☆☆Sin empezar
Lee este fragmento y haz la traza: Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Lee este fragmento y haz la traza:
inicio
x ← 4
x ← x + 2
escribir x
fin
Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Los datos de un programa tienen tipo: entero, decimal, texto o booleano. Indica el tipo más adecuado para cada dato y justifícalo: la edad de una persona, su altura en…
Los datos de un programa tienen tipo: entero, decimal, texto o booleano. Indica el tipo más adecuado para cada dato y justifícalo: la edad de una persona, su altura en metros, su nombre y si ha aprobado o no.
Lee este fragmento y haz la traza: Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Lee este fragmento y haz la traza:
inicio
x ← 4
x ← x + 2
escribir x
fin
Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Un comentario es texto dentro del código fuente que la computadora ignora. Va dirigido a las personas que leerán el programa después (tu equipo o tú dentro de un mes).
Un buen comentario explica el porqué de una decisión, no lo que ya se ve en la línea.
Comentario
Valoración
// suma 1 a n
Inútil: repite lo que dice el código
// la tasa es 10 %; algunos productos tienen otra tarifa
Útil: explica una decisión
Practica★☆☆Sin empezar
¿Qué es un comentario en el código fuente? Explica a quién van dirigidos los comentarios (no a la computadora, sino a quien leerá el código después) y qué debe explicar…
¿Qué es un comentario en el código fuente? Explica a quién van dirigidos los comentarios (no a la computadora, sino a quien leerá el código después) y qué debe explicar un buen comentario (el porqué de las decisiones, no lo que ya se ve).
Por ejemplo, para escribir los números del 1 al 5 no hace falta cinco instrucciones escribir: basta un ciclo con una variable que cuenta.
El ciclo para (con contador)
Cuando sabes de antemano cuántas vueltas dar, el ciclo para es más cómodo: él mismo crea el contador, lo hace avanzar de 1 en 1 y lo comprueba. Se escribe para i desde 1 hasta 5 hacer ... fin para. Equivale a un mientras con i ← 1, la condición i ≤ 5 y la instrucción i ← i + 1 al final del cuerpo, pero no puedes olvidar el incremento.
Los ciclos para se pueden anidar: por cada valor del contador exterior, el interior recorre todos sus valores. Si el interior va desde i hasta N, sus vueltas dependen de i: con N = 3, para i = 1 da 3 vueltas, para i = 2 da 2 y para i = 3 da 1, en total 6.
Practica★☆☆Sin empezar
Lee este fragmento y haz la traza: Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Lee este fragmento y haz la traza:
inicio
x ← 4
x ← x + 2
escribir x
fin
Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Lee este fragmento y haz la traza: Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Lee este fragmento y haz la traza:
inicio
x ← 4
x ← x + 2
escribir x
fin
Indica qué valor se muestra en pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.
Dos ventajas de trocear el código en funciones: reutilizas sin copiar y puedes entender y probar cada parte por separado.
Variables locales y globales (ámbito)
El ámbito de una variable es la parte del programa donde existe y puede usarse. Una variable local se crea dentro de una función y desaparece cuando la función termina; solo esa función la ve. Una variable global se declara fuera de todas las funciones y cualquier función puede leerla y modificarla.
Parece cómodo que todas las funciones compartan variables globales, pero tiene costos. Hay acoplamiento: la función depende de variables que están fuera de ella, así que no se puede reutilizar en otro programa sin llevarse esas variables. Es difícil de probar: su resultado depende del estado oculto del programa y no solo de lo que recibe. Y es fácil de romper: cualquier otra función puede cambiar la variable global sin que te des cuenta.
Por eso una buena función recibe sus datos por parámetros, calcula con variables locales y entrega el resultado con devolver. Así, la misma entrada produce siempre la misma salida y cada pieza se entiende por separado.
Diseño
Cómo obtiene los datos
Consecuencia
Con globales
Lee secreto e intentos de fuera
Atada a ese programa; difícil de probar
Con parámetros
Recibe secreto e intentos al llamarla
Reutilizable; se prueba con cualquier valor
Practica★☆☆Sin empezar
Explica la diferencia entre una variable y una constante en un programa, con un ejemplo de cada una en un programa de facturación (el precio del producto frente al…
Explica la diferencia entre una variable y una constante en un programa, con un ejemplo de cada una en un programa de facturación (el precio del producto frente al porcentaje del impuesto).