Ir al contenido principal

Alarcón_Cabrera_Ashly_Blog Fund Algortimo_2A2

Conceptos Básicos de Programación de Algoritmos



Pero, ¿Qué es un Algoritmo?

Es un conjunto de instrucciones establecidas en orden de forma secuencial para resolver un problema, realizar un calculo o hacer una tarea. A partir de un dato inicial para seguir pasos y llegar a una solución de cualquier situación.  


Lenguaje de Programación


Es aquel que se utiliza para introducir en la computadora un algoritmo específico, se puede usar palabras, símbolos y reglas sintácticas para resolver un problema. El primer paso es crear un algoritmo y luego un código para indicar lo que maquina quiere hacer para resolver los problemas determinados del algoritmo (los pasos) en la computadora, así, podríamos organizar el lenguaje de programación para ejecutar bien el programa.

Es aquél que se utiliza para introducir en la computadora un algoritmo específico, se puede usar palabras, símbolos y reglas sintácticas para resolver un problema. El primer paso es crear un algoritmo y luego un código para indicar lo que maquina quiere hacer para resolver los problemas determinados del algoritmo (los pasos) en la computadora, así, podríamos organizar el lenguaje de programación para ejecutar bien el programa.


Tipos de algoritmos 

  • Algoritmos computacionales: La resolución de este tipo de algoritmo depende de un cálculo matemático, lo que lo hace compatible con la resolución de una computadora o calculadora.

  • Algoritmos no computacionales: Son aquellos algoritmos que requieren de la intervención humana para ser resueltos porque los ordenadores no son capaces de hacerlo.

  • Algoritmos cualitativos Para la resolución de este tipo de algoritmos se utilizan secuencias lógicas o formales en lugar de cálculos numéricos.

  • Algoritmos cuantitativos: La salida de este tipo de algoritmo está determinada por un cálculo numérico.

  • Algoritmos de ordenamiento: Con estos, los elementos de un listado se reorganizan. Este tipo de algoritmos se pueden usar de manera más efectiva y producir resultados que pueden ser entendidos tanto por máquinas como por personas con la ayuda de un orden adecuado.

  • Ordenamiento de burbuja: Este compara cada elemento de la lista y lo ordena con el siguiente, para cambiar de posción si no tiene orden. Es mejor revisar muchas veces la lista.

  • Ordenamiento por selección: Este va colocando el elemento más pequeño en cada una de las posiciones de la lista uno detrás de otro, de forma consecutiva.

  • Ordenamiento rápido: Escoge un elemento del conjunto y reubica el resto a cada uno de los lados de ese elemento, según si son mayores o menos a él. Se repite el procedimiento en cada subconjunto.

  • Algoritmos voraces se utiliza una estrategia de búsqueda para seleccionar la mejor opción en cada paso, en el camino hacia una solución general y resolver problemas de optimización, normalmente.

  • Codificación Huffman: Es un método de compresión de datos que no pierde información y analiza la frecuencia con la que aparece un mensaje antes de darle un código de longitud variable.

  • Algoritmo de búsqueda: Estos localizan uno o diversos elementos que tengan una serie de propiedades en una estructura de datos. Por ejemplo, existen diferentes tipos de búsqueda, entre las más destacados:

  • Búsqueda secuencial: se busca comparar hasta encontrar los elementos de conjuntos.

  • Búsqueda binaria: Se realiza una comparación con el elemento ubicado en el medio si no son iguales, sigue su búsqueda hasta encontrarse comparando cada vez en intervalos más pequeños de elementos. 

  • Algoritmos probabilísticos: esto método tiene una fuente aleatoria se encuentra una solución usando la entrada y se compara los resultados múltiples para aumentar la probabilidad del resultado correcto.

Partes de un algoritmo informático  

Las tres partes de un algoritmo son:

  • Input (entrada) Es la información o datos con la que vamos a trabajar al inicio y obtener una solución.

  • Proceso Conjunto de pasos para que, a partir de los datos de entrada, llegue a la solución de la situación. 

  • Output (salida) Son los resultados de los datos de entrada después de pasar por el proceso.

Caracteristicas de los algoritmos

Sus características deben ser:

  • Precisos es el objetivo del estados inicial que, con una serie de pasos específicos para llegar al final, salida o solución.

  • Ordenados Presentan una secuencia clara y precisa para poder llegar a la solución.

  • Finito debe acabar con un inicio/fin pasos determinados

  • Definidos debe ser preciso y sin ambigüedad el algoritmo debe dar el mismo resultado al recibir la misma entrada. 

  • Concretos Ofrecen una solución determinada para la situación o problema planteados. 

Elementos de un algoritmo

Legibles

El texto que describe el algoritmo debe ser claro y ordenado para que pueda ser leído y comprendido de manera correcta. 

Constantes

Una constante es una pieza de información numérica o alfabética que no cambia mientras se ejecuta el programa. ejemplo PI: 3.1416.

El valor debe asignarse tan pronto como se crea la constante porque después de eso no se puede cambiar de ninguna manera.

Variables

Es una ubicación en la memoria de la computadora donde la información puede almacenarse temporalmente mientras se ejecuta un proceso; su contenido puede cambiar a medida que se ejecuta el programa. Al darle a una variable un nombre que podamos reconocer dentro de un algoritmo es necesario para reconocerla en la memoria de la computadora.

ejemplo area = pi * radio ^ 2


Numéricas: se almacenan valores numéricos del 0 al 9, positivos o negativos (+y-) y punto decimal.

Lógicas: solo tienen dos valores verdadero o falso y es la comparación del resultado.

Alfanuméricas: formada por alfanuméricos como letras, números y caracteres especiales.

Operadores relacionales: Se lo debe tener en cuenta para desarrollar un algoritmo se usan para hacerlos visibles y el resultado de una expresión lógica es el mismo que el resultado de su expresión relacional.

Uso de las variables

Variables de trabajo

Reciben el resultado de la operación matemática completa y que se usan normalmente dentro de un programa. ejemplo suma = a + b /c

Contadores

Se utiliza para realizar un seguimiento de cuántas veces se ha realizado una acción o se ha cumplido una condición. Suelen crecer simultáneamente.

Acumuladores

Forma de una variable, que sirve para contener la suma acumulada de un número de valores que se leen o calculan gradualmente.

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. El resultado de cada expresión es equivalente Teniendo en cuenta los valores de las variables, constantes y datos literales relevantes, así como aplicando las operaciones indicadas por los operadores, se obtiene el resultado.

Clasificación

  • Expresiones numéricas

  • Expresiones alfanuméricas

  • Expresiones lógicas booleanas


Metodología de un algoritmo

1. Definición del Problema

Para avanzar con el algoritmo o proceso, este paso es fundamental. Saber en este punto cuál es el problema que estamos tratando de resolver y cuáles son nuestros objetivos nos ayudará a aprovechar al máximo nuestro tiempo porque sabremos exactamente lo que se debe hacer en los siguientes pasos.

  • Identificación del problema.

  • Descripción general del problema.

  • Enunciado claro y preciso del problema.

2. Análisis del problema

Una vez que se ha comprendido lo que se desea realizar, es necesario definir:​

3. Diseño o elaboración de un algoritmo

Para el desarrollo de algoritmos se utilizan pseudocódigos o diagramas de flujo (DF), herramientas para diseñar los algoritmos de los distintos métodos de una clase. Una vez que se han desarrollado los algoritmos, es importante asegurarse de que se hayan incluido soluciones para cada forma posible de presentar el problema. 

Pasamos a diseñar el modelado lógico y crear algoritmos una vez determinada la solución. Las características de un buen algoritmo son:

  • Se requiere un punto de partida específico. 

  • Debe ser definido, no debe permitir dobles interpretaciones.

  • Debe soportar la mayoría de las variaciones que se pueden presentar en la definición del problema, o no puede ser general.

  • Debe ser finito en tamaño y tiempo de ejecución. 

El principal objetivo del pseudocódigo es representar la solución a un algoritmo de la forma más detallada posible y a su vez lo más parecida posible al lenguaje que posteriormente se utilizará para la codificación del mismo.

Las principales características de un pseudocódigo son:

  • Es una forma de representación sencilla de utilizar y de manipular.

  • Facilita el paso del programa al lenguaje de programación.

  • Es independiente del lenguaje de programación que se vaya a utilizar.

  • Es un método que facilita la programación y solución al algoritmo del programa.     

Los diagramas de flujo o flujograma es representación visual de un sistema, algoritmo o proceso en computación. Se lo usa n campos diferentes para estudiar, planificar, mejorar y comunicar procesos frecuentemente complejos en diagramas simples y comprensibles.

Símbolos del diagrama de flujo

¿Cómo lo hacemos un diagrama de flujo?

  • Define el objetivo de tu diagrama de flujo.

  • Añade las formas de diagrama de flujo.

  • Utiliza símbolos, formas y colores coherentes.

  • Fluye los datos de izquierda a derecha.

  • Conecta las formas con líneas y flechas.

  • Mantén tu diagrama de flujo actualizado.

  • Haz los cambios pertinentes según sea necesario.


4. Depuración o Corrida en Frío

Para realizar esta prueba, se deben usar datos específicos como entrada y luego se deben seguir los pasos sugeridos por el algoritmo hasta obtener un resultado. Si es necesario ajustar o corregir el algoritmo, quedará claro a partir del análisis de estos resultados si es realmente correcto.

  • Realizar la depuración y verificar la correcta:

    • Escritura de los programas.

    • Realizar pruebas de sintaxis.

    • Realizar pruebas de lógica.

  • Verificación de un algoritmo

Esta etapa implica determinar si el algoritmo funciona según lo previsto, es decir, si se cumplen las tareas para las que fue creado y si se producen los resultados esperados. El siguiente paso es comparar las respuestas; si se alinean, el algoritmo está funcionando correctamente y es capaz de resolver el problema. Puede utilizar el siguiente esquema para verificar el algoritmo:

  • Variables de entrada.

  • Operaciones realizadas.

  • Resultado obtenido. 

❁ CONCLUSIÓN 

La programación algorítmica es fundamental en el desarrollo de software y la resolución de problemas computacionales. Por el hecho de que los algoritmos son conjuntos de instrucciones paso a paso que resuelven problemas o realizan tareas específicas deben ser precisos, completos y sin ambigüedades para garantizar su correcta ejecución. Los datos de entrada se procesan mediante estructuras de control como bucles y condicionales para obtener resultados deseados. La eficiencia de un algoritmo es crucial y se busca minimizar el tiempo de ejecución y el uso de recursos, su manejo permite dividir los algoritmos en módulos más pequeños y manejables, facilitando su diseño y mantenimiento. El análisis de complejidad ayuda a evaluar el rendimiento de un algoritmo y su escalabilidad, también en su optimización de algoritmos busca mejorar su eficiencia mediante técnicas como la reducción de operaciones innecesarias. La comprensión de los conceptos básicos de programación algorítmica es esencial para desarrollar soluciones efectivas. La práctica y el aprendizaje continuo son clave para mejorar las habilidades en programación algorítmica y resolver problemas de manera eficiente.

Bibliografía:

  • https://profile.es/blog/que-es-un-algoritmo-informatico/#:~:text=Un%20algoritmo%20inform%C3%A1tico%20es%20un,paso%20para%20conseguir%20un%20fin.

  • https://www.crehana.com/blog/transformacion-digital/caracteristicas-de-un-algoritmo/

  • https://desarrolloweb.com/articulos/expresiones-instruccion-programacion.html

  • https://sites.google.com/view/gerardo-isaias-espinoza-leal/unidad-2/2-1-metodologia-para-la-solucion-de-problemas

  • https://www.uaeh.edu.mx/scige/boletin/prepa4/n10/e1.html#:~:text=Metodolog%C3%ADa%20para%20la%20descomposici%C3%B3n%20de,para%20resolver%20los%20problemas%20espec%C3%ADficos.

  • https://steemit.com/spanish/@gerardoalfred/metodologia-para-la-construccion-de-algoritmos-pseudocodigo-en-el-area-de-ingenieria-parte-1

  • https://www.educaciontrespuntocero.com/experiencias/planificacion-de-las-clases/

  • https://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo

  • https://www.epitech-it.es/algoritmo-diferentes-tipos/



           

Comentarios

  1. Buena información sobre el tema, hay cosas que desconocía y cosas que ya sabía.

    ResponderEliminar
  2. Me pareció un blog muy bueno para informar y explicar de forma clara y estructura lo que es y para que sirve la informática ya sea en el mundo laboral y el diario vivir

    ResponderEliminar
  3. Un blog bastante completo la verdad, sus temas y subtemas lo complementan para que la información expuesta sea precisa, creo que si algún día necesito, recordar la Conceptos de Programación de Algoritmos, sin duda volveré aquí, así que yo del futuro, welcome :)

    ResponderEliminar
  4. Me parece muy interesante y muy bien explicada cada definición de este blog.

    ResponderEliminar
  5. Un blog bien detallado, aprendí cosas que no sabía, excelente explicación de sus temas.

    ResponderEliminar
  6. En mi opinión, este blog hace un gran trabajo al definir la informática para los lectores y describir sus aplicaciones tanto en el lugar de trabajo como en la vida cotidiana. Gracias, es un blog muy completo y con excelentes explicaciones de los temas.

    ResponderEliminar
  7. Muy buena información acerca de las herramientas informáticas y la definición de cada una de ellas, un exelente trabajo que nos puede ayudar a nosotros como lectores, gracias.

    ResponderEliminar
  8. Muy buena información, me sirvió de mucho para poder entender sobre la informática. Excelente

    ResponderEliminar
  9. Considero que todos los problemas que se presentan en nuestra vida debemos resolverlos paso a paso en orden para alcanzar nuestras meros y objetivos ya que los algoritmos nos enseña orden en la vida

    ResponderEliminar
  10. Excelente información, muy bien redactado; en lo personal me ayudo a entender temas que desconocia.

    ResponderEliminar
  11. Buena redacción, este blog es muy completo sobre todo muy ordenado y sencillo de comprender ,lo volvería leer tanto por su información como su buena presentación.

    ResponderEliminar
  12. La información redactada en este blog es completa, bien organizada y estructurada, felicitaciones sin duda lo volvería a leer.

    ResponderEliminar
  13. Pues me parece un blog muy interesante, posee información que yo desconocia, me gustó que estaba bien organizado, teniendo punto claves para comprender mejor el tema

    ResponderEliminar
  14. Gracias a la información brindada he podido entender más del tema y saber sobre la aplicación de ella

    ResponderEliminar
  15. Es interesante que este contenido trate las bases de la programación, es de mucho valor el contenido expuesto en este blog, hay contenido de mucha relevancia e importancia. Gracias por compartir con nosotros los que sabes sobre el mundo de la programación.

    ResponderEliminar
  16. Muy buen blog, detallado y todo bien organizado

    ResponderEliminar
  17. La felicito. Excelente blog compañera. Siga así.

    ResponderEliminar
  18. Me ayudo mucho con mi trabajo de investigación, excelente trabajo, muchas gracias

    ResponderEliminar
  19. Interesante el blog, es bastante especifico, completo e informativo

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Reseña personal

 Mi nombre es Ashly Gabriela Alarcón Cabrera, tengo 19 años de edad, de ciudadanía ecuatoriana, nací el 22 de mayo del 2004, en la provincia del Guayas en cuidad, Guayaquil, empecé mis estudios primarios en la escuela “Unidad Educativa Numa Pompilio Llona” de 1ro hasta 6to año y continue estudiando en la “Unidad Educativa Fiscal Ciudad de Esmeraldas” de 7mo hasta 10mo año. Mis estudios secundarios los realicé en el colegio “Unidad Educativa Otto Arosemena Gómez” donde me gradué como bachiller en Ciencias con buenas calificaciones en el mes de marzo un día 19 del año 2022. Por consiguiente, ingrese a la universidad en octubre del 2022, actualmente estoy realizando mis estudios superiores en la Universidad Estatal de Guayaquil en la Facultad de “Filosofía, letras y ciencias de la Educación” ahora me encuentro cursando el tercer semestre de la carrera de “Pedagogía de las ciencias experimentales de la informática”.