Descripción, definiciones y ejemplos de algoritmos. Que es la metodología para solución de problemas.
Elaboración en el Centro de Bachillerato Tecnológico industrial y de servicios 226.
Algoritmos y metodología para la solución de problemas
1. Ángel Martín Pacheco Chávez – 4° “A” Informática.
Materia:
Aplicar los principios de programación a la solución de problemas.
Profesor:
Rodolfo Gallardo-Rosales.
Alumno:
Ángel Martín Pacheco Chávez.
Grupo/ Especialidad:
4to “A” – Informática.
Turno:
Matutino.
Centro de Bachillerato Tecnológico
industrial y de servicios 226.
2. Ángel Martín Pacheco Chávez – 4° “A” Informática.
– Definiciones –
Programación: Es el proceso de hacer un diseño, hacer el código y depurar una aplicación
computacional.
Algoritmo: Método para resolver un determinado problema mediante una serie de pasos
precisos, definidos y finitos.
Características de los algoritmos:
• Carácter finito: Todos los algoritmos deberán de tener cierto número de pasos a
seguir hasta llegar a un Fin.
• Precisión: Cada paso del algoritmo tendrá que estar especificado para llevarlo a
cabo.
• Entrada: Cada algoritmo tiene entradas, es decir, datos dados antes o mientras se
está realizando el proceso del algoritmo.
• Salida: El algoritmo tiene una o varias salidas especificadas relacionadas con la
entrada.
• Eficacia: Se prefiere que el algoritmo sea lo más básico posible, en donde las
instrucciones de los pasos sean fáciles de entender. Todo en conjunto debe ser
eficaz.
Pseudocódigo: Es la manera en la que se describe un algoritmo con un lenguaje natural, de
manera breve y detallada.
Diagrama de flujo: Es la manera de poder visualizar un algoritmo gráficamente. En estos se
utilizan símbolos conectados para dar a conocer un flujo o una secuencia.
Problema: Es una situación o una cuestión en donde se presenta un dilema y es necesario una
solución para resolverla.
– Planteamiento de problemas –
Definición: Es la fijación de un dilema tomando en cuenta factores que pueden influir
contradictoriamente un proceso.
Tipos de problemas:
• De lógica.
• De analogía.
• De razonamiento.
• De dificultades.
• De conflicto.
3. Ángel Martín Pacheco Chávez – 4° “A” Informática.
– Metodología para la solución de problemas –
La solución de un problema consiste en una serie de pasos para determinar una solución.
En informática la solución de problemas se relaciona con la estructuración de algoritmos para
elaboración de programas que resuelvan los mismos. Existen varios pasos para la solución de
problemas por medio de programación en computadora:
• Análisis del problema
• Diseño del algoritmo
• Codificación
• Compilación y ejecución
• Verificación
• Depuración
• Mantenimiento
• Documentación
Análisis del problema:Se visualiza y plantea cual es el problema.
Diseño del algoritmo: En base al problema planteado se elabora una serie de pasos e
instrucciones detalladas para obtener una solución.
Codificación: Es la escritura del algoritmo en un lenguaje de programación.
Compilación y ejecución: En esta fase, se traduce y se ejecuta el programa un lenguaje
predeterminado.
Verificación y depuración: Aquí programador busca errores de las etapas anteriores y los
elimina.
Documentación: Debe ser destacada por su decisiva influencia en el producto final
Mantenimiento: Se considera mantenimiento a los cambios o correcciones de errores en el
programa una vez finalizado.
Mapa conceptual acerca de la metodología para resolver un problema:
Algoritmo Lenguaje de
computación
Código
objeto
Escritura en
lenguaje
especifico
Compilación
4. Ángel Martín Pacheco Chávez – 4° “A” Informática.
–Herramientas de programación –
Para el diseño de los algoritmos, se suelen utilizar:
• Diseño de diagramas de flujo.
• Pseudocódigo.
>Para el diseño de diagramas de flujo se utilizan símbolos para representar distintos procesos:
Terminal
Subprograma
Entrada/Salida
Decisión
Conectores
Decisión
5. Ángel Martín Pacheco Chávez – 4° “A” Informática.
Si habláramos de un problema simple como, tener que encontrar el resultado de 2 + 2, la
ilustración en diagrama de flujo sería algo como:
>El pseudocódigo se conoce como una herramienta de programación en las que las instrucciones
se escriben en palabras similares al inglés o al español. Si hablamos del mismo problema,
desarrollando el pseudocódigo se obtendría algo como:
Inicio
Leer: 2+2
Procesar: 2+2 = “Resultado”
Imprimir: “Resultado” = 4
Fin
–Tipos de algoritmos –
Existen distintos tipos de control en un algoritmo, principalmente son tres:
• Estructura secuencial
• Estructura selectiva.
• Estructura repetitiva.
Estructura secuencial: Tienen una secuencia determinada con factores exactos para la
elaboración de un algoritmo.
Estructura selectiva:Tienen una secuencia en la que entran factores de decisión, dos o más
opciones en las cuales puede variar el resultado.
Estructura repetitiva:Las estructuras repetitivas tienen una repetición de uno o más procesos
hasta que el proceso hace que un factor cambie y determine un resultado.
Inicio
Leer: 2 +2
Procesar: 2 + 2 = “Resultado”
Imprimir: “Resultado” = 4
Fin
6. Ángel Martín Pacheco Chávez – 4° “A” Informática.
– Características de los algoritmos–
El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son
ampliamente aceptadas como requisitos para un algoritmo:
Carácter finito.
"Un algoritmo siempre debe terminar después de un número finito de pasos".
Precisión.
"Cada paso de un algoritmo debe estar precisamente definido; las operaciones
a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para
cada caso".
Entrada.
"Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de
que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas
entradas son tomadas de conjuntos específicos de objetos."
Salida.
"Un algoritmo tiene una o más salidas: cantidades que tienen una relación
específica con las entradas".
Eficacia.
"También se espera que un algoritmo sea eficaz, en el sentido de que todas las
operaciones a realizar en un algoritmo deben ser suficientemente básicas como
para que en principio puedan ser hechas de manera exacta y en un tiempo
finito por un hombre usando lápiz y papel".
A partir del carácter finito y de la salida se deduce que ante una misma situación inicial (o
valores de entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con
excepción de los algoritmos probabilistas.
7. Ángel Martín Pacheco Chávez – 4° “A” Informática.
–Ejemplo de estructura secuencial –
Algoritmo para lavarse las manos.
Problema: Se dispone de un grifo de agua, jabón, papel y corriente de aire caliente.
Inicio
Abrir el grifo de agua.
Mojarse las manos.
Aplicarse jabón
Enjuagarse las manos.
Cerrar el grifo del agua.
Secarse las manos con papel.
Secarse las manos en la
corriente de aire caliente.
Fin
8. Ángel Martín Pacheco Chávez – 4° “A” Informática.
–Ejemplo de estructura selectiva –
Algoritmo para poner un cuadro en una pared.
Problema:Se desea colgar un cuadro en una pared (incluyendo la colocación del clavo). Como la
pared se encuentra en un estado muy precario puede ocurrir que el clavo no quede firme. De ser
así se procederá a masillar el agujero y el cuadro quedara sin colgar.
Inicio
Tomar martillo y clavo.
Pararse frente al lugar donde se pondrá el
cuadro.
Colocar clavo.
¿Clavo fijo?
SiNo
Traer cuadro
Colocarlo
Retirar clavo
Masillar agujero
Guardar herramientas
Fin
9. Ángel Martín Pacheco Chávez – 4° “A” Informática.
–Ejemplo de estructura repetitiva –
Algoritmo para llenar un balde de agua.
Problema: Se necesita llenar un balde de agua con capacidad de 4 litros con un vaso de 50 ml.
Inicio
Tomar vaso y balde.
Llenar vaso de agua
Vaciar agua en balde
¿Balde lleno?
No Si
Dejar vaso
Fin