Grupo: Argenis Chacon (28139550), Selena Velásquez
(27.243.082) y José Suarez (24.591.130) Sección 01
Llamamos
algoritmo a la metodología para resolver un problema, se basa en una secuencia de instrucciones o reglas
bien definidas y ordenadas que permiten realizar una actividad, mediante pasos consecutivos
que no generen dudas a quien deba hacer dicha tarea. En el cual, este conjunto
de pasos es finito y van seguidos de un orden lógico que entrega la solución al
problema. Un algoritmo tiene una estructura básica para plantear la solución.
El primer paso es hacer el planteamiento y análisis
del problema, luego identificar las entradas, los procesos y todas las salidas.
El aprendizaje de los algoritmos es de suma importancia ya que son la base de
la programación de ordenadores. Deben tener ciertas características de manera
obligatoria como: la de resolver el problema para el que fue creado, debe ser
especifico, independiente al lenguaje de programación, preciso, finito, valido y
eficiente para resolver el problema en poco tiempo. Los algoritmos son el
objeto de estudio de la algoritmia.
![]() |
Características de un algoritmo
|
En un
algoritmo hay un estado inicial, un Input (Entrada) y que siguiendo al pie de
la letra una secuencia de pasos (proceso), se produce siempre un resultado, un
output (Salida). De esta manera, aunque se desconozca el proceso que se ejecute,
siguiendo la serie de operaciones se va a llegar al resultado correcto. Buena parte
del conocimiento que compartimos tiene la forma de una secuencia de pasos. Por ejemplo,
un algoritmo podría ser una receta de cocina: la entrada son los ingredientes,
la preparación es el proceso y la salida es la cena terminada; y de nuevo el
algoritmo indica como pasar de un estado a otro.
![]() |
| Partes de un algoritmo |
En
la vida cotidiana, se emplean algoritmos continuamente para solucionar
problemas. Algunos ejemplos son los manuales de usuario, que muestran
algoritmos para usar un aparato, o las instrucciones que recibe un trabajador
de su jefe. Algunos ejemplos en matemática son
el algoritmo de la división para calcular el cociente de
dos números, el algoritmo de multiplicación, para calcular el
producto, el algoritmo de Euclides para obtener
el máximo común divisor de dos enteros positivos, o el método de Gauss para solventar
un sistema de ecuaciones lineales.
En términos de programación, un algoritmo es
una secuencia de pasos lógicos que permiten resolver un problema. Los algoritmos pueden ser
expresados de muchas maneras, incluyendo al lenguaje
natural, lenguajes de programación, pseudocódigo, diagramas de flujo, entre otros. Las
descripciones en lenguaje natural tienden a ser confusas y extensas. El usar
pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje
natural. Dichas expresiones son maneras más estructuradas para representar
algoritmos; sin embargo, se mantienen independientes de un lenguaje de
programación específico.
Los algoritmos son independientes de los
lenguajes de programación. En cada problema el algoritmo puede escribirse y
luego implementarse en un lenguaje diferente de programación. El algoritmo es
la infraestructura de cualquier solución, escrita luego en cualquier lenguaje
de programación. De
hecho, todas las tareas ejecutadas por la computadora se basan en algoritmos.
Un software o programa informático está diseñado a base de algoritmos, de modo
que podemos introducir una tarea en él y resolverla.
Por último, tenemos un
ejemplo de un algoritmo simple representado en un diagrama de flujo:
![]() |
Los diagramas de
flujo sirven para representar algoritmos de manera gráfica
|



Gilmar Aray, Jesus Diaz y Maria Centeno
ResponderBorrarMuy bien explicado los algoritmos, nosotros solo queremos aportar otra explicación que tenga que ver más con la vida cotidiana, para facilitar el entendimiento de los lectores.
Casi inconscientemente, cotidianamente los humanos realizamos una serie de pasos, procedimientos o acciones que nos permiten lograr un objetivo o resolver un problema.
Esta serie de pasos, comenzamos a aplicarlas desde muy temprano en la mañana cuando, por ejemplo, decidimos tomar una ducha. Posteriormente cuando pensamos en desayunar también seguimos una serie de pasos que nos permiten lograr un resultado en específico: tomar el desayuno. La historia se repite innumerablemente durante el día. Estamos día a día aplicando un algoritmo.
Formalmente definimos un algoritmo como un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema.
Muchas veces aplicamos el algoritmo de manera inadvertida o inconsciente. Esto generalmente pasa cuando el problema que tenemos lo hemos resuelto con anterioridad un gran número de veces.
Supongamos que solo debemos abrir una puerta. Lo hemos hecho tantas veces que difícilmente nos ponemos a enumerar los pasos para alcanzar este objetivo. Lo mismo pasa cuando queremos subir a nuestro carro, cuando nos vestimos, cuando debemos lavar nuestro automóvil.
Thayris Navarro, Rubén Farías y mi persona Analis Caldera.
ResponderBorrarExcelente publicación, nos encantó la manera en que desarrollaron el tema, muchas felicitaciones. Para ampliar su información, queremos destacar las ventajas y desventaja de los algoritmos.
Ventajas de un algoritmo:
Son la esencia de la informática, uno de los centros de interés de todas las áreas del campo de la informática.
Se puede trabajar en orden. Además, redacta en orden paso a paso lo que se debe realizar. Por supuesto, ayuda a resolver más rápido y fácil. Disminuye considerablemente el riesgo de errores. Y por último, favorece el obtener el máximo de información.
Desventajas de un algoritmo:
Existen textos que desarrollan los algoritmos, mediante diversos tipos de lenguajes de programación, para llegar a comprenderlos se debe tener conocimiento previo y lo mas importante experiencia en dichos lenguajes de alto y bajo nivel para obtener el mejor resultado posible.
Muchos algoritmos interesantes llevan de manera implícita complicados métodos de organización de datos utilizados en el calendo.
Con frecuencia sucede que algunos de los algoritmos que se van a utilizar, son fáciles de usar cuando se ha descompuesto el programa. Sin embargo, en la mayoría de los casos, existen pocos algoritmos cuya elección es crítica porque su ejecución ocupara la gran parte de los recursos del sistema.
Actualmente se está estudiando en la informática, como seleccionar los algoritmos para que conduzca a la mejor implementación, pues en la mayoría de los problemas existen diferentes algoritmos.
Susana Barceló y Luis Rosal
ResponderBorrarSu investigación es concisa. Buen trabajo. Sin embargo, nos gustaría adicionar las cualidades que debe presentar un algoritmo.
Para cualquier problema dado no existe una única solución algorítmica; es tarea de la persona que diseña un algoritmo encontrar la solución más óptima, ésta no es otra que aquella que cumple más fielmente las cualidades deseables de todo algoritmo bien diseñado:
-Finitud. Un algoritmo siempre tiene que finalizar tras un número finito de acciones.
-Precisión. Todas las acciones de un algoritmo deben estar bien definidas, esto es, ninguna acción puede ser ambigua, sino que cada una de ellas sólo se debe poder interpretar de una única manera. Dicho de otra forma, si el programa que resulta de un algoritmo se ejecuta varias veces con los mismos datos de entrada, en todos los casos se obtendrán los mismos datos de salida.
-Claridad. Lo normal es que un problema se pueda resolver de distintas formas. Por tanto, una de las tareas más importantes del diseñador de un algoritmo es encontrar la solución más legible, es decir, aquella más comprensible para el ser humano.
-Generalidad. Un algoritmo debe resolver problemas generales. Por ejemplo, un programa que realice sumas de números enteros deberá servir para realizar sumas de dos números enteros cualesquiera, y no, solamente, para sumar dos números determinados, como pueden ser el 3 y el 5.
-Eficiencia. La ejecución del programa resultante de codificar un algoritmo deberá consumir lo menos posible los recursos disponibles del ordenador (memoria, tiempo de CPU, etc.).
-Sencillez. A veces, encontrar la solución algorítmica más eficiente a un problema puede llevar a escribir un algoritmo muy complejo, afectando a la claridad del mismo. Por tanto, hay que intentar que la solución sea sencilla, aun a costa de perder un poco de eficiencia, es decir, se tiene que buscar un equilibrio entre la claridad y la eficiencia. Escribir algoritmos sencillos, claros y eficientes se consigue a base de práctica.
-Modularidad. Nunca hay que olvidarse del hecho de que un algoritmo puede formar parte de la solución a un problema mayor. Pero, a su vez, dicho algoritmo debe descomponerse en otros, siempre y cuando, esto favorezca a la claridad del mismo.
La persona que diseña un algoritmo debe ser consciente de que todas las propiedades de un algoritmo se transmitirán al programa resultante.
Jesús Vásquez, José Oliver, José Deyan
ResponderBorrarUn cortes saludo amigos, que buen desarrollo de contenido, una muy buena redacción y análisis de información para brindar a los lectores y tener un conocimiento sobre el tema, permítenos complementar con un poco de información su tema.
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 la programación. Luis Joyanes, programador experto y autor de muchos libros acerca de la 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 ejecutarlo".
Los 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.