2. Introducción
Con esta actividad de aprendizaje, nos enfocaremos a resolver problemas a través de la
metodología de la programación. Una de las herramientas indispensables para entender y
elaborar programas estructurados son: Algoritmos, diagramas de flujo y por supuesto los
pseudocódigos. Con estas herramientas lograrás la iniciación a la programación de forma
sencilla sin importar el lenguaje de programación estructurada que utilices.
Para desarrollar un algoritmo es importante conocer la metodología para tal propósito,
así mismo identificar cuáles son los elementos primordiales de los que se conforma. En el
planteamiento de solución de problemas según la naturaleza del problema, existe la
necesidad de manipular datos, en aquellas situaciones de problemas matemáticos,
financieros, etc. Por lo que resulta trascendente conocer los tipos de datos que son
representables en los algoritmos, y que guardan estrecha relación con los tipos de datos
que emplean los lenguajes de programación actuales.
3. IDENTIFICACIÓN DEL PROBLEMA
La identificación del problema es la primera y crucial fase en la resolución de problemas. Es importante que el
problema se defina de manera clara y precisa para poder entenderlo completamente.
Hay varias formas de identificar un problema, algunas de las cuales incluyen:
Observación: Observar una situación o proceso para detectar problemas o áreas de mejora.
Entrevistas: Realizar entrevistas con personas involucradas en la situación para obtener una comprensión más
profunda del problema.
Análisis de datos: Utilizar herramientas de análisis de datos para identificar patrones o tendencias que puedan
indicar la existencia de un problema.
Escuchar a los clientes: Escuchar las quejas y sugerencias de los clientes para detectar problemas recurrentes.
Una vez identificado el problema, es importante formular preguntas para obtener una comprensión más profunda
del mismo y determinar las causas subyacentes. Esto ayudará a asegurar que se está abordando el problema
correcto y no sólo los síntomas.
Es importante mencionar que la identificación del problema debe ser objetiva y basada en hechos y no en
suposiciones o opiniones personales.
4. IDENTIFICACIÓN DE LOS DATOS NECESARIOS
(ENTRADAS)
La entrada, se considera como todos los datos que hay que ingresar para la resolución del
problema. Para diseñar un algoritmo o programa se debe comenzar por identificar las tareas más
importantes para resolver el problema y disponerlas en el orden en el que han de ser
ejecutadas. Los pasos en esta primera descripción pueden requerir una revisión adicional antes
de que podamos obtener un algoritmo claro, preciso y completo.
Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de
detalle, se conoce como método descendente (top-down).
En un algoritmo se deben de considerar tres partes:
Entrada: Información dada al algoritmo.
Proceso: Operaciones o cálculos necesarios para encontrar la solución del problema.
Salida: Respuestas dadas por el algoritmo o resultados finales de los procesos realizados.
Como ejemplo supongamos que desea desarrollar un algoritmo lo primero que debemos hacer es
plantearnos las siguientes preguntas:
Especificaciones de entrada
¿Que datos son de entrada?
¿Cuántos datos se introducirán?
¿Cuántos son datos de entrada válidos?
5. identificación de los datos a obtener (salida)
La salida en informática es el proceso de transmitir la información por un objeto (el uso de verbo). Esencialmente, es
cualquier dato que sale de un sistema de ordenador. Esto en forma podría ser impreso el papel, de audio, de vídeo. En la
industria médica esto podría incluir exploraciones de CT o rayos X. Típicamente en la informática, los datos entran por
varias formas (la entrada) en un ordenador, los datos a menudo son manipulados, y luego la información es presentada a
un humano (la salida)
Entendido el problema (que se desea obtener del computador), para resolverlo es preciso analizar:
*Los datos o resultados que se esperan.
*Los datos de entrada que nos suministran.
*El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados.
*Áreas de trabajo, fórmulas y otros recursos necesarios.
Una recomendación muy práctica es el que nos pongamos en el lugar del computador, y analizar que es necesario que me
ordenen y en que secuencia, para poder producir los resultados esperados. También da buenos resultados hacer
similitudes con la labor de un empleado que hace el mismo trabajo que deseamos programarle al computador.
Especificaciones de salida
¿Cuáles son los datos de salida?
¿Cuántos datos de salida se producirán?
¿Qué formato y precisión tendrán los resultados?
6. Descripcion de las operaciones utilizar (cualculo)
Las operaciones utilizadas en un algoritmo pueden variar dependiendo del problema a
resolver y del enfoque adoptado para resolverlo. Algunas operaciones comunes utilizadas en
los algoritmos incluyen:
Operaciones aritméticas: como suma, resta, multiplicación y división.
Comparaciones: como igualdad, desigualdad, mayor que, menor que, etc.
Lógicas: como AND, OR, NOT, etc.
Iteraciones: como bucles for y while.
Funciones: como funciones matemáticas, como seno, coseno, raíz cuadrada, etc.
Algoritmos de búsqueda: como búsqueda lineal y búsqueda binaria.
Ordenamiento: como ordenamiento burbuja, ordenamiento por selección,
ordenamiento por inserción, etc.
Algoritmos de optimización: como gradient descent, Stochastic gradient descent, etc.
Algoritmos de aprendizaje automático: como redes neuronales, árboles de decisión, k-
means, etc.
En resumen, las operaciones utilizadas en un algoritmo dependerán del problema específico
que se esté tratando de resolver.
7. Descripcion de los paso para llegar a la solución (procesos)
Los pasos para llegar a una solución en un algoritmo pueden variar dependiendo del
problema a resolver y del enfoque adoptado para resolverlo. Sin embargo, a
continuación se presentan algunos pasos generales que se utilizan comúnmente en la
mayoría de los algoritmos:
1) Análisis del problema: en primer lugar, es necesario comprender completamente
el problema que se desea resolver. Esto incluye definir claramente los objetivos y
metas del algoritmo, así como recopilar y analizar los datos necesarios.
2) Diseño del algoritmo: una vez comprendido el problema, se diseña un algoritmo
para resolverlo. Este puede incluir esquemas de control de flujo, estructuras de
datos y operaciones matemáticas necesarias para llegar a la solución.
3) Implementación del algoritmo: luego se implementa el algoritmo diseñado
utilizando un lenguaje de programación.
8. 1) Pruebas: se realizan pruebas para asegurar que el algoritmo funciona
correctamente y produce resultados precisos.
2) Optimización: si es necesario, se optimiza el algoritmo para mejorar su
rendimiento o reducir su complejidad.
3) Validación y evaluación: Finalmente, se valida y evalúa el algoritmo para asegurar
que cumple con los objetivos y metas previstos, y se hace el uso de la solución
obtenida.
4) Es importante tener en cuenta que estos pasos pueden variar dependiendo del
problema y del enfoque adoptado para resolverlo, y algunos pasos pueden ser
iterativos o no aplicables en ciertos casos.
9. Ejercicios Prácticos
1.- Lee y analiza el siguiente problema.
Receta de Cocina (freír huevos)
Para identificar el problema debemos responder las siguientes preguntas:
1. ¿Qué entradas se requieren? (tipo y cantidad)
2. ¿Cuál es la salida deseada? Tipo y cantidad)
3. ¿Qué método produce la salida deseada?
10. Pasos para Receta de Cocina (freír huevos) en pseudocódigo:
1) Inicio
2) Calentar una sartén con aceite a fuego medio-alto.
3) Romper los huevos en un tazón.
4) Verter los huevos en la sartén caliente.
5) Cocinar los huevos hasta que la clara esté cocida y el yema esté a su gusto.
6) Retirar los huevos de la sartén y colocarlos en un plato.
7) Servir y disfrutar.
8) Fin
Repuesta Ejercicios Prácticos
11. Juan tiene x billetes de $200 pesos, y billetes de $100 y z billetes de $50. Elabora un programa para determinar
cuánto dinero tiene Juan. Cuantos billetes de $50, $100 y $200 tiene.
Para determinar cuánto dinero tiene Juan, se puede utilizar la siguiente fórmula:
Total = (x * 200) + (y * 100) + (z * 50)
En cuanto a la cantidad de billetes, se tiene la siguiente información:
x billetes de $200 pesos
y billetes de $100 pesos
z billetes de $50 pesos
En codigo en Python :
Ejercicios Prácticos