martes, 12 de enero de 2021

Conceptos Básicos de Algoritmos

Algoritmos. Definición

 

Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema.


Para realizar un programa es conveniente el diseño o definición previa del algoritmo. El diseño de algoritmos requiere creatividad y conocimientos profundos de la técnica de programación. Luis Joyanes, programador experto y autor de muc hos libros acerca de lógica y programación nos dice “en la ciencia de la computación y en la programación, los algoritmos son más importantes que los lenguajes de programación o las computadoras. Un lenguaje de programación es sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo”.

 

Loa algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje diferente de programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación.


Características de los algoritmos

 

·         Preciso. Definirse de manera rigurosa, sin dar lugar a ambigüedades.

·         Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo resultado.

·         Finito. Debe terminar en algún momento.

·         Puede tener cero o más elementos de entrada.

·         Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.

 Se concluye que un algoritmo debe ser suficiente para resolver el problema. Entre dos algoritmos que lleven a un mismo objetivo, siempre será  preferible el más corto (se deberá analizar la optimización de tiempos y / o recursos).


Algoritmos cualitativos y algoritmos cuantitativos

 

Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Las instrucciones para armar un aeromodelo, para desarrollar una actividad física o encontrar un tesoro, son ejemplos de algoritmos cualitativos.

 

Trate de diseñar el algoritmo para estos casos

 

·         Tomar mate

·         Utilizar una guía telefónica

·         Cocinar siguiendo una receta

·         Cambiar una llanta de automóvil

·         Buscar una palabra en el diccionario

 

Los algoritmos cuantitativos involucran cálculos numéricos. 

Ejemplos:

·         Solución de un factorial

·         Solución de una ecuación de segundo grado

·         Encontrar el mínimo común multiplicador.



Algoritmo computacional

Son los algoritmos que se hacen con una computadora; muchos de estos algoritmos son más complejos y por eso necesitan ser realizados a través de una máquina. También pueden ser algoritmos cuantitativos que se optimizan.

Algoritmo no computacional  

Estos algoritmos son aquellos que no pueden realizarse con una computadora; por ejemplo, la programación de un televisor.

Algoritmos heurísticos

Estos algoritmos son aquellos que encuentran soluciones entre todas las posibles, pero no garantizan que la mejor de estas será encontrada. Por ese motivo son considerados como algoritmos aproximados o no precisos.

Usualmente encuentran una solución cercana a la mejor, y además la encuentran rápida y fácilmente. Generalmente este tipo de algoritmos se usa cuando es imposible encontrar una solución por la vía normal.

Técnicas de representación

 

Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:

 

·         Diagramación libre (Diagramas de flujo)

·         Diagramas Nassi-Shneiderman

·         Pseudocódigo

·         Lenguaje natural (español, inglés, etc.)

·         Fórmulas matemáticas

 

El lenguaje natural puede no ser suficientemente preciso, permitiendo ambigüedades, obteniendo una descripción no del todo satisfactoria. Las fórmulas, propias del lenguaje matemático, son un buen sistema de


representación, pero no suelen ser fáciles de convertir en programas. Por lo tanto, trataremos en este curso los tres primeros modelos.



Diagramas de flujo.

Un diagrama de flujo, también llamado Flujograma de Procesos o Diagrama de Procesos, representa la secuencia o los pasos lógicos (ordenados) para realizar una tarea mediante unos símbolos. Dentro de los símbolos se escriben los pasos a seguir.

Los diagramas de flujo representan la secuencia lógica o los pasos que tenemos que dar para realizar una tarea mediante unos símbolos y dentro de ellos se describen los pasos ha realizar.

Un diagrama de flujo debe proporcionar una información clara, ordenada y concisa de todos los pasos a seguir.

Por lo dicho anteriormente, podríamos decir que: "Un diagrama de flujo es una representación gráfica o simbólica de un proceso".

 

Cómo Hacer un Diagrama de Flujo

Normalmente para realizar un diagrama de flujo primero se hace lo que se llama el algoritmo. Un algoritmo es una secuencia de PASOS LÓGICOS a seguir para resolver un problema de forma escrita.

Un ejemplo para cocinar un huevo para otra persona sería:

- Pregunto si quiere el huevo frito.
- Si me dice que si, lo frio, si me dice que no, lo hago hervido.
- Una vez cocinado le pregunto si quiere sal en el huevo.
- Si me dice que no, lo sirvo en el Plato, si me dice que si, le hecho sal y después lo sirvo en el plato.

Si te fijas los pasos no pueden cambiar su posición. Sería imposible preguntarle si lo quiere frito después de haberlo hervido, por ejemplo. Es muy importante que los pasos sean una secuencia lógica y ordenada.

Ahora que ya sabemos todos los pasos, mediante el algoritmo, podemos hacer un esquema con estos pasos a seguir. Este esquema será el Diagrama de Flujo.

 


¿Para qué se Usan los Diagramas de Flujo?

Se usan para hacer un programa informático, para analizar lo que tiene que hacer un robot, en los procesos industriales, etc.

Un diagrama de flujo es útil en todo aquello que se necesite una previa organización antes de su desarrollo.



En la realización de un programa informático es imprescindible primero realizar el diagrama de flujo, independientemente del lenguaje de programación que usemos después. Una vez que tenemos nuestro diagrama de flujo solo tendremos que conocer las órdenes del lenguaje que realizan esas tareas que se especifican en el diagrama.

 Reglas y Símbolos Para la Construcción de un Diagrama de Flujo


1. Todos los símbolos han de estar conectados

2. A un símbolo de proceso pueden llegarle varias líneas

3. A un símbolo de decisión pueden llegarle varias líneas, pero sólo saldrán dos (Si o No, Verdadero o Falso).

4. A un símbolo de inicio nunca le llegan líneas.

5. De un símbolo de fin no parte ninguna línea.

Los símbolos que se usan para realizar los diagramas de flujo son lo siguientes:






- En el Símbolo de decisión puede tomar los valores de salida SI o NO o también VERDADERO o FALSO.

- El símbolo de Inicio o Final del Diagrama puedes ser un cuadrado con los bordes redondeados o una elipse.

- Se pueden utilizar colores para lo símbolos.

 

Ejemplos de Diagramas de Flujo

 

Veamos un primer ejemplo muy sencillo.

Queremos hacer un programa informático que nos sume dos número y nos de el resultado en pantalla.

Solución del ejemplo:




El símbolo de resultado es un símbolo usado en los diagramas para soluciones con el ordenador. Es el símbolo de salida del resultado por la pantalla del ordenador.

Ves que es muy sencillo, hay que ir poniendo los pasos lógicos que se deben seguir para realizar la tarea o el programa.



En el ejercicio tenemos el inicio y el fin, una entrada de datos, para meter los 2 números, una operación a realizar, la suma, y un resultado a mostrar. Cada uno de esos pasos con su símbolo correspondiente en el diagrama.

 A continuación tendrás un video de apoyo para aclarar dudas sobre los diagrama de flujos:

Referencias 

DATOS DEL ESTUDIANTE

CENTRO DE ESTUDIO : UNIVERSIDAD DE GUAYAQUIL 

MATERIA: FUNDAMENTOS EN ALGORTIMOS COMPUTACIONALES

NOMBRES Y APELLIDOS :DAGMAR MORAN CAMBA

CURSO : 2A2 



25 comentarios:

  1. Genial! muy interesante tu tema aprendi mucho

    ResponderBorrar
    Respuestas
    1. me alegra que aprendas mucho con lo que esta en el blog si tienes alguna duda me consultas

      Borrar
  2. Me parece que es un buen aporte de tu blog a la informática. Todas las dudas se pueden despejar luego de revisar la información que proporcionas... buen Trabajo 😁👍

    ResponderBorrar
  3. Excelente trabajo muy bien detallado recorde muchas cosas que pensé haber olvidado, sin duda tiene muy buena información y sobre todo mucha enseñanza, buen trabajo 👌👍😉

    ResponderBorrar
    Respuestas
    1. me alegra mucho que recordaras todo con la información proporcionada en este blog

      Borrar
  4. Excelente blog, información completa y muy bien explicado!

    ResponderBorrar
  5. En que lenguaje de programación recomiendas empezar, y cual consideras que deberia ser la mejor estrategia para un mejor desarrollo

    ResponderBorrar
    Respuestas
    1. Java es muy útil para aprender los principios de la programación orientada a objetos que se usa en otros lenguajes modernos como C++, Perl, Pyython, o PHP. Una vez que has aprendido Java, es más fácil aprender estos otros lenguajes.

      Borrar
  6. Buen proyecto m hace recuerdo recordar el Cole 🥺👍

    ResponderBorrar

Conceptos Básicos de Algoritmos

Algoritmos. Definición   Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para de...