Fundamentos de Algoritmos

  • Capítulo 3 – Variables y constantes: contenedores de información

    This entry is part 5 of 5 in the series Fundmentos de Algoritmos

    3.1 ¿Qué significa almacenar un dato?

    Cuando resolvemos un problema, muchas veces necesitamos guardar un dato para usarlo más adelante. Por ejemplo, si queremos calcular el total de una compra, primero debemos guardar el precio del producto, luego la cantidad, y finalmente el resultado del cálculo. Para hacer esto, en el mundo de los algoritmos usamos elementos llamados variables y constantes.

    Se les puede imaginar como contenedores con nombre, donde guardamos información para luego leerla, modificarla o combinarla con otros datos.

    3.2 ¿Qué es una variable?

    Una variable es un espacio en el que podemos guardar un dato que puede cambiar durante la ejecución de un algoritmo. Su contenido puede ser reemplazado, actualizado o modificado.

    Ejemplo cotidiano:

    Supongamos que tienes una alcancía. Cada vez que guardas dinero, el total cambia. Si anotas cuánto hay en la alcancía, ese número puede variar todos los días. Ese número es una variable.

    En algoritmos:

    Si usamos una variable llamada total, podemos guardar en ella el resultado de sumar precios. Si luego compramos algo más, total puede aumentar.

    3.3 ¿Qué es una constante?

    Una constante es un dato que no cambia durante la ejecución del algoritmo. Se define una sola vez y permanece igual hasta el final del proceso.

    Ejemplo cotidiano:

    Si el valor del IVA es del 19%, y no cambia durante una compra, entonces ese valor es una constante. Se usa varias veces, pero nunca se modifica.

    3.4 Diferencias entre variables y constantes

    CaracterísticaVariableConstante
    ¿Puede cambiar su valor?No
    ¿Cuándo se usa?Para datos que pueden variarPara datos fijos o universales
    Ejemplototal, edad, cantidadIVA, PI, DESCUENTO

    3.5 Reglas para nombrar variables y constantes

    El nombre de un dato (también llamado identificador) debe seguir ciertas reglas para que sea claro, válido y útil en la construcción del algoritmo:

    • El nombre debe tener sentido o ser descriptivo al dato, por ejemplo: precio, notaFinal, cantidad.
    • No debe contener espacios. En su lugar, puede usarse mayúscula interna también llamado lowerCamelCase (totalCompra) o el símbolo guión al piso (_) también llamado snake_case como en total_compra.
    • El único símbolo especial permitido en los nombres es el guión al piso (_).
    • No debe comenzar con un número ni contener tildes, signos de puntuación, ni caracteres especiales como @, #, %, etc.
    • Debe ser claro y representativo del contenido que almacena.

    Convención sugerida:

    • Variables: usar minúscula inicial, con mayúsculas internas o guión al piso si el nombre es compuesto: promedioFinal, cantidad_productos
    • Constantes: usar letras mayúsculas y, si es necesario, guión al piso: IVA, PI, DESCUENTO_FIJO

    3.6 Actividad guiada: usando variables y constantes

    Problema: Se desea calcular el valor total a pagar por un producto con IVA. El precio base del producto es 50.000 y el IVA es del 19%.

    Organizamos la información así:

    DatoNombre sugeridoTipoValor
    Precio del productoprecioVariable50.000
    Porcentaje del IVAIVAConstante0.19
    Valor del IVAvalorIVAVariable9.500
    Total con IVAtotalVariable59.500

    3.7 Actividades para el estudiante

    Actividad 1: En cada una de las siguientes situaciones, identifica al menos una variable y una constante:

    • Un estudiante presenta tres exámenes. La nota de cada examen puede cambiar, pero el puntaje máximo por examen siempre es 100.
    • En una fábrica, cada caja contiene 24 productos. Se empacan cajas según el número de productos disponibles.
    • Un ciclista recorre una distancia diferente cada día, pero su bicicleta siempre tiene la misma cantidad de marchas (18).

    Actividad 2: Observa el siguiente enunciado y completa la tabla:

    Un cliente desea comprar 4 camisetas que valen 22.000 pesos cada una. Además, se aplica un descuento fijo del 10%.

    DatoNombre sugeridoTipo¿Cambia?
    Precio por camiseta
    Número de camisetas
    Porcentaje de descuento
    Valor total sin descuento
    Valor del descuentovalorDescuentoVariable
    Total a pagartotalFinalVariable

    3.8 La operación de asignación

    Una vez que hemos definido variables y constantes, necesitamos una forma de darles un valor. A esto se le llama asignación, y es una de las operaciones más importantes dentro de un algoritmo.

    Asignar significa guardar un valor dentro de una variable, o actualizar su contenido a partir de una operación.

    En los algoritmos escritos en pseudocódigo, la operación de asignación se representa con el símbolo de flecha que apunta hacia el identificador ( ← ), que debe leerse como “toma el valor de“.

    Ejemplos:

    precio ← 4500, la variable precio toma el valor 4500.

    total ← cantidad * precio, la variable total toma el valor de la multiplicación entre cantidad y precio.

    Este símbolo indica que el valor que está a la derecha se guarda en la variable que está a la izquierda.

    Nota: Aunque en algunos lenguajes de programación se usa el símbolo =, en este libro utilizaremos el símbolo flecha que apunta a la izquierda ( ← ) para representar la asignación y así evitar confusión con la comparación.

    Importante:

    • Solo se puede asignar valor a una variable, no a una constante (pues las constantes no cambian).
    • Una variable puede recibir nuevos valores a lo largo del algoritmo.

    Ejemplo en contexto:

    IVA ← 0.19              // constante

    precio ← 50000       // variable

    valorIVA ← precio * IVA

    total ← precio + valorIVA

    Este conjunto de asignaciones construye un algoritmo paso a paso, donde cada línea actualiza el contenido de una variable con base en operaciones realizadas sobre otras

    3.9 Lo que hemos aprendido

    • Las variables almacenan datos que pueden cambiar durante el algoritmo.
    • Las constantes guardan valores fijos que no cambian mientras se ejecuta el algoritmo.
    • El nombre de un dato, llamado identificador, debe ser claro, válido y representativo.
    • El único símbolo especial permitido en los identificadores es el guión al piso (_).
    • La asignación permite guardar valores en variables y es clave en la construcción de un algoritmo.
    • La operación de asignación se representa con el símbolo ←, que debe leerse como “toma el valor de”.
    • Solo las variables pueden recibir nuevas asignaciones; las constantes se definen una sola vez.
  • Capítulo 2 – Tipos de datos

    This entry is part 4 of 5 in the series Fundmentos de Algoritmos

    2.1 ¿Por qué clasificar los datos?

    En el capítulo anterior aprendimos que los datos son el punto de partida para resolver problemas. Sin embargo, no todos los datos son iguales. Algunos representan cantidades numéricas, otros expresan condiciones o decisiones, y otros simplemente contienen texto. Clasificar los datos nos ayuda a entender cómo deben ser tratados dentro de un algoritmo y qué operaciones podemos realizar con ellos.

    Por ejemplo, no es lo mismo sumar dos números que comparar si una persona es mayor de edad, o unir dos frases. Cada tipo de dato tiene un propósito y un uso específico.

    2.2 Tipos de datos más comunes

    En este libro trabajaremos con tres tipos fundamentales de datos:

    Tipo de datoDescripciónEjemplo
    NuméricosRepresentan cantidades o valores con los que se pueden hacer operaciones matemáticas.Edad, precio, cantidad: 45, 12.500, 3
    LógicosExpresan un valor de verdad: verdadero o falso. Se usan para tomar decisiones.¿Es mayor de edad? Verdadero / Falso
    Texto (Cadenas)Conjunto de caracteres como letras, palabras o frases. No se usan para cálculos, sino para identificar o comunicar.Nombre: “Sofía”, Estado: “Pendiente”

    2.3 ¿Qué operaciones se pueden hacer con cada tipo de dato?

    Tipo de datoOperaciones comunes
    NuméricosSumar, restar, multiplicar, dividir, calcular promedios, aplicar fórmulas
    LógicosComparar (igual, mayor que, menor que), combinar condiciones (y, o)
    TextoConcatenar (unir textos), contar caracteres, comparar si dos textos son iguales

    Es importante usar cada tipo de dato adecuadamente. Por ejemplo, no tendría sentido intentar dividir un texto por un número, o sumar un dato lógico con otro numérico.

    2.4 Ejemplos cotidianos

    Veamos cómo se presentan estos datos en la vida diaria:

    • Numéricos: El total de dinero en una cuenta, el número de materias que cursas, la velocidad de un vehículo.
    • Lógicos: ¿Tiene tareas pendientes? ¿Aprobó el examen? ¿Está encendida la luz?
    • Texto: El nombre de una persona, el nombre de un producto, un mensaje en la pantalla del celular.

    2.5 Actividad guiada

    Observa el siguiente caso:

    En una encuesta escolar se pregunta:

    • Nombre del estudiante
    • Edad
    • ¿Participa en actividades extracurriculares?

    Completemos una tabla con los datos y su tipo:

    DatoEjemploTipo de dato
    Nombre del estudiante“Camila Rodríguez”Texto
    Edad15Numérico
    Participa en actividades (Sí/No)Lógico

    2.6 Actividades para el estudiante

    Actividad 1: Clasifica el tipo de dato de los siguientes elementos:

    DatoTipo de dato (numérico, lógico, texto)
    “Matemáticas”
    9.8
    Falso
    “Pendiente de entrega”
    3
    Verdadero

    Actividad 2: Escribe tres datos reales de tu entorno (del colegio, casa o amigos), e identifica su tipo.

    Actividad 3: Escribe una situación que combine los tres tipos de datos, y explica brevemente qué haría un algoritmo con ellos.

    2.7 Lo que hemos aprendido

    • Los datos se clasifican en distintos tipos según su naturaleza y uso.
    • Los tres tipos más comunes son: numéricos, lógicos y de texto.
    • Cada tipo de dato permite realizar operaciones distintas y debe tratarse adecuadamente dentro de un algoritmo.
    • Identificar correctamente los tipos de datos es esencial para resolver un problema de manera precisa.
  • Introducción

    This entry is part 2 of 5 in the series Fundmentos de Algoritmos

    Los algoritmos están presentes en casi todo lo que hacemos. Cuando seguimos una receta de cocina, organizamos los pasos para armar un mueble, o decidimos cómo repartir nuestro tiempo durante el día, estamos utilizando una forma de pensamiento que busca resolver un problema mediante una serie de instrucciones ordenadas. Esta forma de pensar, aunque natural en muchos casos, puede ser estudiada, practicada y mejorada. Y ese es precisamente el propósito de este libro.

    Fundamentos de Algoritmos: una mirada desde la cotidianidad es una guía para aprender a construir algoritmos, no desde la programación, sino desde la lógica. Aquí no aprenderás a escribir código en un lenguaje informático, sino a pensar con claridad, identificar las partes de un problema y construir soluciones paso a paso. El objetivo es que puedas adquirir herramientas mentales sólidas que, si decides más adelante aprender a programar, te serán de gran utilidad.

    En este libro aprenderás a:

    • Analizar un problema, separando sus componentes: qué datos se conocen, qué se debe obtener y qué operaciones hay que realizar.
    • Escribir algoritmos en pseudocódigo, una forma de representar soluciones de manera ordenada, comprensible y estructurada.
    • Validar tus algoritmos usando la prueba de escritorio, una técnica para verificar que las soluciones funcionen correctamente antes de ser implementadas.

    Este enfoque está diseñado para que puedas trabajar con lápiz, papel o cualquier editor de texto básico. No es necesario usar computadoras ni programas especiales. El foco está en el razonamiento, no en la tecnología.

    A lo largo de las unidades, te acompañaremos en el desarrollo de una serie de habilidades clave:

    • Manipular datos de distintas clases y comprender su rol en un problema.
    • Reconocer patrones que se repiten y aprovecharlos para construir soluciones más eficientes.
    • Descomponer problemas complejos en partes más simples, utilizando estructuras como condiciones, repeticiones, arreglos y subrutinas o funciones.
    • Adoptar una mentalidad algorítmica, que te permita abordar desafíos con claridad, orden y lógica.

    Cada capítulo incluye explicaciones teóricas, ejemplos contextualizados y ejercicios prácticos. Los problemas están inspirados en situaciones reales y cercanas: la administración de una tienda, el cálculo de promedios escolares, la distribución de turnos o la planificación de actividades diarias. Así, podrás conectar lo aprendido con tu experiencia y desarrollar un pensamiento lógico aplicable a múltiples ámbitos.

    Este libro está pensado para acompañarte paso a paso, sin suponer conocimientos previos. Puedes usarlo como texto guía en el aula, como herramienta de estudio personal, o como recurso de formación si deseas enseñar algoritmos a otros. Sea cual sea tu motivación, te invitamos a recorrer con nosotros este camino que inicia en lo cotidiano y nos lleva a pensar con claridad y método.

    Porque aprender algoritmos no es solo una forma de resolver problemas: es también una manera de aprender a pensar.

  • Capítulo 1 – Los datos en la vida cotidiana

    This entry is part 3 of 5 in the series Fundmentos de Algoritmos

    1.1 ¿Qué son los datos?

    Antes de poder resolver cualquier problema, necesitamos información. Esa información —que puede ser un número, una palabra, una fecha, una condición o una combinación de estos elementos— se conoce como dato. Los datos son las piezas fundamentales que conforman los algoritmos, porque sin ellos no tendríamos con qué trabajar, ni sobre qué tomar decisiones.

    Un dato, en términos simples, es todo aquello que puede observarse, registrarse o utilizarse para obtener un resultado.

    1.2 Ejemplos de datos cotidianos

    Los datos están por todas partes. A continuación, observemos algunas situaciones reales donde los datos son protagonistas:

    • En una tienda, el precio de cada producto, la cantidad de unidades compradas y el total a pagar son datos.
    • Al calificar a un estudiante, las notas obtenidas, el número de actividades evaluadas y la calificación final también lo son.
    • En la cocina, los gramos de un ingrediente, los minutos de cocción y el número de porciones forman parte de los datos necesarios para preparar un plato.
    • Al usar el transporte público, el número de estaciones, el tiempo de trayecto y la tarifa hacen parte de los datos que usamos para tomar decisiones.

    Como se puede ver, los datos no son algo exclusivo de las computadoras. Son parte de nuestra vida diaria, y aprender a reconocerlos y organizarlos es el primer paso para construir soluciones ordenadas a cualquier problema.

    1.3 ¿Por qué son importantes los datos en los algoritmos?

    Cuando diseñamos un algoritmo, necesitamos tener claridad sobre:

    • Qué datos recibimos (entrada),
    • Qué operaciones o pasos aplicamos a esos datos (proceso),
    • Y qué resultado queremos obtener (salida).

    Por eso, identificar los datos relevantes en un problema es el primer paso del análisis. Un error común al resolver problemas es no tener claro qué información tenemos o necesitamos. Si comprendemos bien los datos, será más fácil construir una solución efectiva.

    Problema: Juan quiere saber cuánto debe pagar por tres cuadernos que cuestan lo mismo. Cada cuaderno vale 5.000 pesos.

    1.4 📝 Actividad guiada: observando los datos

    Problema: Juan quiere saber cuánto debe pagar por tres cuadernos que cuestan lo mismo. Cada cuaderno vale 5.000 pesos.

    Organiza una lista de compras de tu casa en pasos claros y ordénalos como un algoritmo.

    Para entender mejor este problema, organizamos la información en la siguiente tabla:

    Elemento a identificarContenido del problema
    Dato de entrada (1)Precio de un cuaderno: 5.000 pesos
    Dato de entrada (2)Cantidad de cuadernos: 3
    Proceso u operaciónMultiplicar precio por cantidad
    Dato de salida esperadoTotal a pagar: 15.000 pesos

    Este tipo de organización permite ver con claridad qué datos tenemos, qué debemos hacer con ellos y qué resultado queremos obtener.

    1.5 Actividades para el estudiante

    Actividad 1: Observa las siguientes situaciones. Completa la tabla para cada una identificando los datos, el proceso y el resultado esperado.

    a) Laura camina todos los días 30 minutos para llegar a su colegio. ¿Cuántos minutos camina en 5 días?

    ElementoContenido
    Dato de entrada (1)
    Dato de entrada (2)
    Proceso u operación
    Dato de salida esperado

    b) Un restaurante vende almuerzos a 12.000 pesos. Hoy vendió 18 almuerzos. ¿Cuánto dinero recibió?

    ElementoContenido
    Dato de entrada (1)
    Dato de entrada (2)
    Proceso u operación
    Dato de salida esperado

    c) En una librería, cada lápiz cuesta 800 pesos. Si un cliente compra 6 lápices, ¿cuál es el total que debe pagar?

    ElementoContenido
    Dato de entrada (1)
    Dato de entrada (2)
    Proceso u operación
    Dato de salida esperado

    Actividad 2: Escoge una situación de tu vida diaria (en casa, en el colegio, en la universidad o con tus amigos) y completa tú mismo una tabla como las anteriores, identificando los datos, el proceso necesario y el resultado que se desea obtener.

    1.6 Lo que hemos aprendido

    • Los datos son la información que usamos para resolver problemas.
    • Están presentes en muchas situaciones cotidianas.
    • Son fundamentales para diseñar algoritmos, ya que permiten definir claramente qué entra al problema, qué se hace y qué se espera obtener.
    • Reconocer y organizar los datos es el primer paso para pensar de manera lógica.