Definición sencilla de algoritmo y ejemplos cotidianos
Duración aproximada: 2 minutos
Tema exacto: Definición sencilla de algoritmo y ejemplos cotidianos
COA — Lógica de Programación
Duración obligatoria
2 horas
Nivel
Principiante absoluto
Conocimientos previos
Ninguno
Modalidad
Práctica, sin instalar programas
Materiales: Papel, lápiz y, opcionalmente, tarjetas o notas adhesivas
Aprender a comprender un problema y transformarlo en una secuencia de instrucciones claras, ordenadas y ejecutables.
Parte 1 — Activación
Imagina que debes explicarle por teléfono a una persona cómo llegar desde la entrada de un edificio hasta una oficina.
La persona:
Responde:
No se espera una respuesta perfecta. El propósito es comenzar a observar que resolver una tarea exige comprender su contexto.
Duración aproximada: 2 minutos
Tema exacto: Definición sencilla de algoritmo y ejemplos cotidianos
Parte 2 — Comprender antes de resolver
Pensar como un programador no significa pensar como una computadora.
Significa aprender a:
Un principiante suele intentar responder inmediatamente:“¿Qué tengo que hacer?”
Un programador primero pregunta:“¿Cuál es exactamente el problema?”
Considera esta situación:
“Los clientes se están quejando.”
Eso todavía no describe claramente el problema. Es un síntoma.
Al investigar podríamos encontrar:
Cada causa necesitaría una solución distinta.
SÍNTOMA
"Los clientes se quejan"
│
├── Posible causa: espera excesiva
├── Posible causa: pedidos incorrectos
├── Posible causa: información confusa
└── Posible causa: cobros incorrectosAntes de diseñar una solución debemos descubrir qué problema estamos intentando resolver.
Todo problema puede analizarse como una distancia entre dos estados.
ESTADO ACTUAL ESTADO DESEADO
¿Dónde estamos? ───────────→ ¿Dónde queremos llegar?Situación: Una persona llega tarde con frecuencia.
Estado actual: Llega después de la hora de inicio.
Estado deseado: Llega al menos cinco minutos antes.
Todavía falta investigar:
“Salir más temprano” podría ser parte de la solución, pero no deberíamos asumirlo antes de entender la situación.
Un hecho es información conocida o comprobada.
Una suposición es algo que creemos cierto, pero todavía no hemos confirmado.
Un cliente no pudo completar una compra en línea.
Las suposiciones no siempre son incorrectas. El peligro está en tratarlas como hechos.
Lee cada situación. Decide si la frase describe un problema suficientemente claro o solamente un síntoma. Si es un síntoma, escribe dos preguntas que ayudarían a encontrar el problema real.
Situaciones
Tiempo sugerido: 4 minutos
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Una cafetería preparó 40 almuerzos. A la 1:00 p. m. todavía quedaban 25. El propietario afirma: “La comida no se vendió porque estaba demasiado cara.”
Realiza lo siguiente:
Tiempo sugerido: 4 minutos
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Parte 3 — Algoritmos e instrucciones
Un algoritmo es una secuencia de pasos ordenados para completar una tarea o resolver un problema.
Ejemplos cotidianos:
Una receta se parece a un algoritmo, pero no toda receta está escrita con suficiente precisión.
“Agregue un poco de agua y cocine hasta que esté listo.”
¿Cuánto es “un poco”?
¿Cómo se determina que “está listo”?
¿Quién ejecutará la instrucción?
¿Qué conocimientos posee esa persona?
Un cocinero con experiencia puede interpretar esas palabras. Un robot no puede improvisar su significado.
No es necesario memorizar una definición extensa. Utilizaremos esta lista de comprobación.
Un buen algoritmo debe tener:
Debe saberse qué tarea completa o qué problema resuelve.
Debe quedar claro en qué situación comienza.
Cambiar el orden no debería provocar resultados inesperados.
Cada instrucción debe poder interpretarse de una sola manera razonable.
El ejecutor debe ser capaz de realizar cada acción.
La tarea debe terminar.
Debe ser posible verificar si alcanzó el objetivo.
Observa estas instrucciones:
Pueden ser suficientes si la persona ya sabe:
Para un robot nuevo, serían insuficientes.
Una versión más precisa podría ser:
Lección importante
Una instrucción no es clara por sí sola. También depende de quién debe ejecutarla.
Algunas instrucciones dependen de pasos anteriores.
No podemos:
Ejemplo desordenado
E → C → A → B → DEn algunas situaciones puede existir más de un orden válido. Lo importante es respetar las dependencias.
Las siguientes instrucciones describen el uso de una lavadora, pero están desordenadas:
Realiza lo siguiente:
Tiempo sugerido: 4 minutos
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Un robot recibe estas instrucciones:
La mesa contiene:
Identifica al menos cuatro dudas que el robot no puede resolver. Después redacta una nueva versión de las instrucciones.
Tiempo sugerido: 5 minutos
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Un algoritmo es el plan lógico de la solución.
Un programa es ese plan expresado mediante un lenguaje que una computadora puede ejecutar.
PROBLEMA
↓
ALGORITMO
↓
PROGRAMA EN PYTHON, JAVA, C#, JAVASCRIPT...En este curso nos concentraremos en la parte central: construir el algoritmo.
Si el algoritmo está mal diseñado, cambiar de lenguaje no arreglará el razonamiento.
Parte 4 — Entrada, proceso y salida
Muchos problemas pueden comenzar a entenderse con tres preguntas:
ENTRADA ──→ PROCESO ──→ SALIDAUtilizaremos la abreviatura EPS: entrada, proceso y salida.
Problema
Calcular cuánto debe pagar una persona por tres entradas de cine con el mismo precio.
Entrada
Proceso
Multiplicar el precio por la cantidad.
Salida
Total que debe pagar.
Precio y cantidad
↓
precio × cantidad
↓
Total de la compraTodavía no necesitamos escribir código. Primero debemos comprender la transformación.
Considera esta solicitud:
“Calcule cuánto tarda una persona en llegar al trabajo.”
No podemos resolverla sin información adicional.
Podríamos necesitar:
Una tarea no se vuelve resoluble solo porque alguien la escriba como una orden.
Para cada situación, identifica las entradas, el proceso y la salida.
A. Pintura para una pared
Se desea calcular cuántos litros de pintura se necesitan para cubrir una pared.
B. Costo de un viaje
Se desea calcular el costo total de un viaje en automóvil.
C. Duración de una película
Se conoce la hora de inicio y la duración. Se desea obtener la hora aproximada de finalización.
No es necesario realizar cálculos. El objetivo es determinar qué información se necesita y qué transformación debe hacerse.
Tiempo sugerido: 5 minutos
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Descomponer significa dividir un problema grande en partes más pequeñas.
Ejemplo: organizar una reunión
ORGANIZAR REUNIÓN
│
├── Definir propósito
├── Elegir participantes
├── Buscar fecha
├── Reservar lugar
├── Preparar materiales
├── Enviar invitaciones
└── Confirmar asistencia“Organizar una reunión” es demasiado amplio para ejecutarlo como una sola instrucción.
Cada parte puede dividirse nuevamente.
Enviar invitaciones
│
├── Preparar lista de destinatarios
├── Redactar mensaje
├── Revisar fecha y lugar
├── Enviar mensaje
└── Registrar confirmacionesDejamos de dividir cuando cada parte:
No existe un único nivel correcto de descomposición. Depende del ejecutor y del propósito.
Descompón la tarea “entregar un pedido a domicilio” en entre cinco y ocho partes principales.
Después selecciona una de esas partes y divídela en al menos cuatro pasos más pequeños.
No escribas todavía todos los detalles del algoritmo. Primero construye el mapa del problema.
Tiempo sugerido: 4 minutos
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Parte 5 — Representar un algoritmo
La primera representación puede ser una lista clara.
Ejemplo: entregar una ficha numerada
Esta representación es fácil de leer, pero puede volverse difícil de manejar en problemas grandes.
El pseudocódigo representa un algoritmo utilizando palabras estructuradas, sin pertenecer a un lenguaje de programación específico.
Convenciones iniciales de COA
INICIO
instrucciones
FINUtilizaremos verbos en mayúsculas para destacar acciones importantes:
En este módulo solo utilizaremos secuencias.
Ejemplo
INICIO
RECIBIR la solicitud de turno
TOMAR la siguiente ficha disponible
REGISTRAR el número de la ficha
ENTREGAR la ficha
MOSTRAR el lugar de espera
FINNo existe una única sintaxis universal de pseudocódigo. Lo importante es que la solución sea clara, consistente e independiente de un lenguaje.
Por ahora necesitaremos tres tipos de símbolos:
Representación textual
INICIO
↓
RECIBIR solicitud
↓
TOMAR la ficha
↓
ENTREGAR la ficha
↓
FINLas decisiones y repeticiones se agregarán en módulos posteriores.
La tarea consiste en entregar una botella de agua que está sobre una mesa.
El punto de inicio es: una persona se encuentra frente a la mesa.
El punto final es: la botella está en manos del destinatario.
Representa la solución de tres maneras:
Tiempo sugerido: 5 minutos
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Duración: 3 minutos y 22 segundos
Tema exacto: Concepto, construcción, prueba manual y símbolos principales
En este momento basta con observar inicio, final, proceso, entrada, salida y flechas. El símbolo de decisión se estudiará en el Módulo 3.
Parte 6 — Retos
Una persona escribe este algoritmo para enviar un documento importante:
Explica al menos cinco formas en que el resultado podría salir mal aunque se sigan literalmente las instrucciones.
Después agrega únicamente los pasos necesarios para reducir esos riesgos. Evita convertir la solución en una lista innecesariamente larga.
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Dos personas deben guardar cinco objetos de una mesa dentro de una caja.
Algoritmo A
Algoritmo B
Responde:
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Parte 7 — Mini proyecto
Un robot debe organizar un escritorio.
Sobre el escritorio hay:
El robot:
Completa:
Estado actual:
Estado deseado:
Ejecutor:
Restricciones:
Resultado comprobable:Completa:
ENTRADAS:
PROCESO:
SALIDAS:En este caso, “entrada” no significa necesariamente información escrita. También puede incluir los objetos y su ubicación inicial.
Divide la tarea en tres o cuatro partes principales.
Ejemplo de estructura:
ORGANIZAR ESCRITORIO
│
├── ...
├── ...
└── ...Escribe entre 8 y 15 pasos.
Traduce el algoritmo al formato:
INICIO
...
FINRepresenta el inicio, las acciones principales y el final.
Simula el algoritmo al menos una vez.
Registra:
Después de simularlo, responde:
Este ejemplo no resuelve todo el proyecto:
INICIO
TOMAR el primer libro
MOVER el libro hasta el estante
COLOCAR el libro verticalmente en el estante
SOLTAR el libro
TOMAR el segundo libro
MOVER el libro hasta el estante
COLOCAR el libro junto al primer libro
SOLTAR el libro
...
FINEl ejemplo muestra el grado de precisión esperado. Deberá completar la solución y decidir cómo organizarla sin utilizar estructuras de repetición, que se estudiarán posteriormente.
Una vez completado este ejercicio, sube tu solución utilizando el siguiente formulario.
El nombre del archivo debe incluir:
Ejemplo: Juan Pérez - Lógica de Programación - Ejercicio 3.pdf
Antes de enviar, verifica que el archivo tenga el nombre solicitado.
Parte 8 — Evaluación
Pregunta 1
Pregunta 2
Pregunta 3
Pregunta 4
Pregunta 5
Pregunta 6
Pregunta 7
Pregunta 8
Se recomienda obtener:
Si no alcanza el resultado, revise especialmente:
Duración aproximada: 5 minutos
Contenido: Descomposición, patrones, abstracción, algoritmos y depuración
Explica qué es un algoritmo, cómo puede representarse y por qué conviene pensar antes de programar.
Presenta la descomposición, el pensamiento algorítmico, la abstracción, los patrones y la evaluación de soluciones.
Relaciona el pensamiento computacional con la resolución de problemas cotidianos y educativos.
Un programador no comienza escribiendo código.
Primero:
COMPRENDE EL PROBLEMA
↓
DEFINE EL RESULTADO
↓
IDENTIFICA ENTRADAS Y SALIDAS
↓
DIVIDE EL PROBLEMA
↓
ORDENA LOS PASOS
↓
ESCRIBE EL ALGORITMO
↓
LO SIMULA
↓
CORRIGE LOS ERRORESProgramar comienza mucho antes de escribir código: comienza cuando aprendemos a describir un problema con suficiente claridad para construir una solución que otra persona pueda seguir, comprobar y mejorar.
Ahora puedes revisar tus ejercicios, consultar nuevamente los recursos o continuar con tu aprendizaje.