sábado, 7 de octubre de 2023

CONOCIENDO SOBRE ALGORITMOS

 

QUÉ ES UN ALGORITMO Y QUÉ ES UN DIAGRAMA DE FLUJO?

Profesor: Fabián Orozco M.

 

VIDEO EXPLICATIVO: 

https://www.youtube.com/watch?v=T13wneDnrDA&list=PLg9145ptuAigaT_6U8vHwQqD9sCKT8DKN

 

El algoritmo y el diagrama de flujo son dos tipos de herramientas para explicar el proceso de un programa. En esta página, se discuten las diferencias entre un algoritmo y un diagrama de flujo al igual que la forma de crear un diagrama de flujo para ilustrar el algoritmo de forma visual.

Los algoritmos y los diagramas de flujo son dos herramientas diferentes que resultan útiles para crear nuevos programas, especialmente en la programación informática. Un algoritmo es un análisis paso a paso del proceso, mientras que un diagrama de flujo explica los pasos de un programa de forma gráfica.

Índice del contenido

Parte 1: Definición de algoritmo

Escribir un método lógico paso a paso para resolver un problema se denomina algoritmo. En otras palabras, un algoritmo es un procedimiento para resolver problemas. Es el primer paso del proceso para resolver un problema matemático o informático.

Un algoritmo incluye cálculos, razonamientos y procesamiento de datos. Los algoritmos pueden presentarse mediante lenguajes naturales, pseudocódigo, diagramas de flujo, entre otros.

algoritmo y diagrama de flujo

Parte 2: Definición de diagrama de flujo

Un diagrama de flujo es la representación gráfica de un algoritmo con la ayuda de diferentes símbolos, formas y flechas para demostrar un proceso o un programa, para así entenderlo fácilmente. El objetivo principal de utilizar un diagrama de flujo es analizar los diferentes métodos del mismo y para ello se aplican varios símbolos estándar:

Caja de Terminales - Inicio / Fin

Figura de la caja de terminales

Entrada / Salida

Figura de entrada/salida

Proceso / Instrucción

Figura del proceso

Decisión

Figura de decisión

Conector / Flecha

Figura de conector

Los símbolos anteriores representan diferentes partes de un diagrama de flujo. El proceso en un diagrama de flujo puede expresarse a través de cuadros y flechas de diferentes tamaños y colores. En un diagrama de flujo, podemos destacar fácilmente ciertos elementos y las relaciones entre cada parte.

Parte 3: Diferencia entre algoritmo y diagrama de flujo

Si comparamos un diagrama de flujo con una película, un algoritmo es la historia de esa película. En otras palabras, un algoritmo es el núcleo de un diagrama de flujo. Actualmente, en el campo de la programación informática, existen muchas diferencias entre el algoritmo y el diagrama de flujo en varios aspectos, como la precisión, la forma en que se muestran y la forma en que la gente los percibe. A continuación, se muestra en detalle una tabla que ilustra las diferencias entre ambos.

Algoritmo

Diagrama de flujo

Es un procedimiento para resolver problemas.

Es una representación gráfica de un proceso.

El proceso se muestra con instrucciones paso a paso.

El proceso se muestra en un diagrama de información bloque por bloque.

Es complejo y difícil de entender.

Es intuitivo y fácil de entender.

Es conveniente depurar los errores.

Es difícil depurar los errores.

La solución se muestra en lenguaje natural.

La solución se presenta en formato gráfico.

Es un poco más fácil resolver un problema complejo.

Es difícil resolver un problema complejo.

Cuesta más tiempo crear un algoritmo.

Crear un diagrama de flujo cuesta menos tiempo.

 

 

Parte 4: Tipos de algoritmos

No es de extrañar que los algoritmos se utilicen ampliamente en la programación informática. Sin embargo, se pueden aplicar para resolver problemas matemáticos e incluso en la vida cotidiana. Aquí surge una pregunta: ¿cuántos tipos de algoritmos existen? Según el Dr. Christoph Koutschan, informático que trabaja en el Instituto de Investigación para la Computación Simbólica (RISC) de Austria, ha realizado una encuesta sobre los tipos de algoritmos más importantes. Como resultado, ha elaborado una lista de 32 algoritmos cruciales en informática. A pesar de la complejidad de los algoritmos, en general podemos dividirlos en seis tipos fundamentales basados en su función.

Tipos de algoritmos

1. Algoritmo recursivo

Se refiere a una forma de resolver problemas dividiendo repetidamente el problema en subproblemas del mismo tipo. El ejemplo clásico del uso de un algoritmo recursivo para resolver problemas es la Torre de Hanoi.

2. Algoritmo de divide y vencerás

Tradicionalmente, el algoritmo "divide y vencerás" consta de dos partes: 1. descomponer un problema en algunos subproblemas independientes más pequeños del mismo tipo; 2. encontrar la solución final de los problemas originales después de resolver estos problemas más pequeños por separado.

Los puntos clave del algoritmo "divide y vencerás" son:

  • Si puedes encontrar los subproblemas repetidos y la subestructura del bucle del problema original, puedes convertir rápidamente el problema original en una cuestión pequeña y sencilla.
  • Intenta desglosar toda la solución en varios pasos (diferentes pasos necesitan diferentes soluciones) para facilitar el proceso.
  • ¿Son los subproblemas fáciles de resolver? Si no fuera así, el problema original podría costar mucho tiempo.

3. Algoritmo de programación dinámica

Desarrollado por Richard Bellman en los años 50, el algoritmo de programación dinámica se utiliza generalmente para problemas de optimización. En este tipo de algoritmo, se recogen los resultados pasados para utilizarlos en el futuro. Al igual que el algoritmo "divide y vencerás", un algoritmo de programación dinámica simplifica un problema complejo dividiéndolo en algunos subproblemas sencillos. Sin embargo, la diferencia más significativa entre ellos es que el segundo requiere la superposición de subproblemas, mientras que el primero no lo necesita.

4. Algoritmo codicioso

Esta se refiere a encontrar siempre la mejor solución en cada paso en lugar de considerar la optimización general. Debido a las limitaciones del algoritmo codicioso, debe tenerse en cuenta que la clave para elegir un algoritmo codicioso es considerar las consecuencias en el futuro.

5. Algoritmo de fuerza bruta

El algoritmo de fuerza bruta es una solución simple y directa del problema, generalmente basada en la descripción del problema y la definición del concepto involucrado. También se puede utilizar " ¡solo hazlo!" para describir la estrategia de fuerza bruta. En resumen, un algoritmo de fuerza bruta se considera uno de los algoritmos más simples, que itera todas las posibilidades y termina con una solución satisfactoria.

6. Algoritmo de retroceso

Basado en una búsqueda recursiva en profundidad, el algoritmo de backtracking se centra en encontrar la solución al problema durante el proceso de búsqueda tipo enumeración. Cuando no se pueda satisfacer la condición, devolverá el "backtracking" e intentará otro camino. Es adecuado para resolver problemas grandes y complicados, por lo que se ha ganado la reputación de "método de solución general". Uno de los ejemplos más famosos de algoritmos de backtracking es el rompecabezas de las ocho reinas.

Parte 5: Utilizar diagramas de flujo para representar algoritmos

Ahora que hemos aprendido las definiciones de algoritmo y diagrama de flujo, ¿cómo podemos utilizar un diagrama de flujo para representar un algoritmo? Para crear un diagrama de flujo de un algoritmo, necesitamos utilizar una herramienta de diagramación práctica como EdrawMax para terminar el trabajo.

Los algoritmos se utilizan principalmente para programas matemáticos e informáticos, mientras que los diagramas de flujo pueden utilizarse para describir todo tipo de procesos: empresariales, educativos, personales y algoritmos. Por eso, los diagramas de flujo se utilizan a menudo como herramienta de planificación de programas para organizar visualmente el proceso paso a paso del programa. A continuación, algunos ejemplos:

Ejemplo 1: Imprime del 1 al 20:

Algoritmo:

  • Paso 1: Inicializar X como 0,
  • Paso 2: Incrementa X en 1,
  • Paso 3: Imprimir X,
  • Paso 4: Si X es inferior a 20, vuelva al paso 2.

Diagrama de flujo:

Algoritmo del diagrama de flujo

Ejemplo 2: Convertir Temperatura de Fahrenheit () a Celsius ()

Algoritmo:

  • Paso 1: Leer la temperatura en Fahrenheit,
  • Paso 2: Calcular la temperatura con la fórmula C=5/9*(F-32),
  • Paso 3: Imprimir C.

Diagrama de flujo:

Diagrama de flujo Algoritmo 2

Ejemplo 3: Determinar si un alumno ha aprobado el examen o no:

Algoritmo:

  • Paso 1: Notas de entrada de 4 cursos M1, M2, M3 y M4,
  • Paso 2: Calcular la nota media con la fórmula "Nota=(M1+M2+M3+M4)/4"
  • Paso 3: Si la nota media es inferior a 60, imprime "FALLO", si no imprime "APROBADO".

Diagrama de flujo:

Ejemplo 4 diagrama de flujo del algoritmo

Parte 6: Conclusión

De lo anterior, podemos llegar a la conclusión de que un diagrama de flujo es una representación gráfica de un algoritmo, un algoritmo puede ser expresado y analizado a través de un diagrama de flujo. Un algoritmo muestra cada paso para llegar a la solución final, mientras que un diagrama de flujo muestra cómo llevar a cabo el proceso conectando cada paso. Un algoritmo utiliza principalmente palabras para describir los pasos, mientras que se puede crear un diagrama de flujo con símbolos de diagrama de flujo para hacer el proceso más lógico.

ACTIVIDAD EN CLASE:

1.Utilizando WORD, realice un Mapa Conceptual que resuma este tema.

2. Utilice la herramienta Figuras y con ella esquematice su Mapa Conceptual.

3. Envíe el trabajo al correo del docente.

 

No hay comentarios: