Você está na página 1de 5

Algoritmo: Conjunto de operaciones que se utilizan para resolver un problema

específico. En este conjunto de instrucciones donde se indica la secuencia de


operaciones que se deben realizar para, a partir de los datos de entrada,
obtener el resultado buscado. El concepto de algoritmo es anterior a los
ordenadores, y ampliamente utilizado en el mundo de la ciencia para la
resolución metódica de problemas. Sin embargo, con la aparición de los
ordenadores se comprobó que era una herramienta ideal, ya que cualquier
algoritmo puede transformarse en un programa informático.

Características del algoritmo: Tiene que ser finito (con un final), preciso
(detallar el orden de las operaciones a realizar) y unívoco (al aplicar el
algoritmo a los mismos datos de entrada, siempre se obtendrá el mismo
resultado a la salida).

Un Algoritmo es un conjunto ordenado y finito de pasos o instrucciones que


conducen a la solución de un problema. La naturaleza de los problemas varía
con el ámbito o con el contexto donde están planteados; así, existen problemas
matemáticos, químicos, filosóficos, etc. Según esto la naturaleza de los
algoritmos también es variada y no todos ellos pueden ser ejecutados por la
computadora. En este curso consideramos aquellos algoritmos que expresan
soluciones usando reglas cuantitativas cuyas instrucciones pueden ser
introducidas en la computadora, a este tipo de algoritmos se denominan
Algoritmos Computacionales.

En la resolución de un problema con la computadora la parte pensante esta en


el algoritmo. Así pues la eficacia de un programador no está en conocer la
herramienta de programación, cosa necesaria, sino en saber resolver
problemas con la computadora para lo cual se requiere conocer un concepto
conocido como metodología de la programación cuyo eje central es el
algoritmo.

Una vez que la solución de un problema ha sido expresada mediante un


algoritmo el paso siguiente es convertirlo a programa para lo cual se elige un
lenguaje de programación. De modo que un programa resulta ser la
implementación de un algoritmo en un determinado lenguaje de programación.
Esto significa, por otro lado, que un algoritmo es independiente del lenguaje de
programación.

PROBLEMA -> ALGORITMO -> PROGRAMA

El pseudocódigo es una herramienta algorítmica que permite escribir


pseudoprogramas (una imitación de un programa real) utilizando un lenguaje
de pseudoprogramación que es una imitación de los lenguajes de
programación de alto nivel. Así, un pseudocódigo es una combinación de
símbolos (+, -, *, /, %, >, >=, <, <=, !=, ==, y, o, no), términos (Leer, Imprimir,
Abrir, Cerrar, Hacer...Mientras, Mientras...Hacer, Para...Mientras, etc) y otras
características comúnmente utilizadas en uno o más lenguajes de alto nivel.

No existen reglas que determinen que es o no es un pseudocódigo, sino que


varía de un programador a otro. El objetivo del pseudocódigo es permitir al
programador centrarse en los aspectos lógicos de la solución evitando las
reglas de sintaxis de un lenguaje de programación. Posteriormente el
pseudocódigo debe ser traducido a programa usando un lenguaje de
programación de alto nivel como Java, C++, C, etc.

Ejemplo 1 Diseñe un algoritmo para preparar una limonada.

INICIO
Llenar una jarra con un litro de agua
Echar el jugo de tres limones
Echar cuatro cucharadas de azúcar
Remover el agua hasta disolver completamente el azúcar
FIN

Ejemplo 2 Diseñe un algoritmo que permita hallar la suma y el promedio de


tres números.

INICIO
LEER numero1, numero2, numero3
suma = numero1 + numero2 + numero3
promedio = suma / 3
IMPRIMIR suma, promedio
FIN

Notas:

El término LEER significa obtener un dato de algún dispositivo de entrada,


como el teclado, y almacenarlo en una variable.
Una variable es una localización en la memoria que tiene un nombre y cuyo
contenido puede cambiar a lo largo de la ejecución de un programa. Así
numero1, numero2 y numero3 son variables.
El término IMPRIMIR significa mostrar el valor de una variable en algún
dispositivo de salida, como la pantalla.
Tipos de algoritmos

Algoritmo numérico:
Es el conjunto de instrucciones ordenadas para resolver un problema que
involucra procesos matemáticos (con calculo de formulas de manera repetida).
Este tipo de algoritmos no admiten ambigüedades y debe darse cada uno de
los pasos para su solución. Se define el concepto de algoritmo numérico.

Algoritmo no numérico:
Es el conjunto de instrucciones ordenadas, que indican paso a paso, como
obtener el resultado de un problema que no involucra procesos matemáticos.
Por ejemplo, las instrucciones para cocinar alimentos

Inicio
Adquirir los ingredientes del platillo que se va a cocinar
Seguir los pasos indicados en la receta
Fin

Observemos que un algoritmo no numérico puede hacerse tan detallado o


general como se requiera para obtener el resultado deseado. Para simplificar lo
anterior sería necesario seleccionar un platillo en particular, sus ingredientes y
cantidades, así como cada uno de los pasos para cocinar.

Algoritmo grafico:
Se realiza por medio de un diagrama de flujo. Es aquél que se vale de diversos
símbolos para representar las ideas o acciones a desarrollar. Es útil para
organizar las acciones o pasos de un algoritmo pero requiere de etapas
posteriores para implementarse en un sistema de cómputo.

También se puede decir que es la representación gráfica de un algoritmo, entre


las características importantes de un diagrama de flujo podemos encontrar:

· Es fácil de darle seguimiento a las operaciones

· Es más fácil de corregir

· No existen problemas con el lenguaje, tal y como podría suceder con un


algoritmo.

Algoritmo no grafico: Se realiza por medio de Pseudocódigo. En ciencias de


la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una
descripción de un algoritmo informático de programación de alto nivel compacto
e informal que utiliza las convenciones estructurales de un lenguaje de
programación verdadero, pero que está diseñado para la lectura humana en
lugar de la lectura en máquina, y con independencia de cualquier otro lenguaje
de programación. Normalmente, el pseudocódigo omite detalles que no son
esenciales para la comprensión humana del algoritmo, tales como
declaraciones de variables, código específico del sistema y algunas subrutinas.

Clasificación de algoritmos

Se ha clasificado a los algoritmos de diversas formas, de acuerdo con algunos


de sus atributos. Por ejemplo:

A) Según el sistema de signos con el que describen los pasos a seguir, se


reconocen:

Algoritmos cualitativos: cuando se hace a través de palabras, es decir, las


instrucciones son verbales. Sucede, por ejemplo, con recetas de cocina.

Algoritmos cuantitativos: cuando se hace a través de cálculos numéricos. Se


puede hacer un algoritmo, por ejemplo, para obtener la raíz cuadrada de un
número.

B) Según su función, los algoritmos pueden ser:

Algoritmos de ordenamiento: secuencian los elementos que ingresan a partir


de un cierto orden, en general, según un orden numérico o léxico.

Algoritmos de búsqueda: al contrario de realizar operaciones o secuenciar


elementos, se dedica a encontrar dentro de una lista que ingresa, uno o varios
elementos en particular que cumplan con el conjunto de condiciones dadas.

Algoritmos de encaminamiento: deciden de qué modo se deberá transmitir


algo que llega, y cómo seguirá un conjunto de pasos encadenados. Se dividen
fundamentalmente entre adaptativos y estáticos, los primeros con cierta
capacidad de aprendizaje y ajuste a la circunstancia, mientras que los
segundos funcionan mecánicamente, siempre del mismo modo. Es importante
decir que los algoritmos de encaminamiento cuentan con una propia
subdivisión, según el camino que se toma para que la transmisión llegue de
manera efectiva (ejemplos de estos tipos son: por el camino más corto, de
manera óptima, basado en el flujo, etc.).

C) También los algoritmos han sido clasificados según la estrategia que se


utiliza para llegar al resultado. Algunos ejemplos:

Algoritmos probabilísticos: no se puede estar seguro de la exactitud de la


respuesta que darán. Se agrupan en distintos subtipos, pero con esa premisa:
o bien presentan soluciones aproximadas del problema, o bien presentan
soluciones que pueden ser correctas pero también erróneas.

Algoritmo cotidiano: es el que se da en la vida común de las personas, no se


aplica en sistemas informáticos ni en nada ajeno al día a día. Muchas de las
decisiones que se toman desde que uno se despierta por la mañana
pertenecen a este grupo.

Algoritmo heurístico: abandona alguno de los objetivos como recurso para


terminar llegando a la solución. En general, son utilizados cuando no existe una
solución mediante las vías tradicionales.

Algoritmo de escalada: se comienza con una solución insatisfactoria (que no


cumple la entrada y la salida), y se la va modificando aproximándose a lo que
se busca. En algún momento, estaremos cerca de (o llegaremos a) la solución
correcta.

Algoritmo voraz: Con la idea de llegar a una solución óptima definitiva, elige
analizar cada paso como único y elegir la solución óptima para ese paso.

Algoritmo determinista: es completamente lineal (cada paso tiene un paso


sucesor y un paso predecesor) y por lo tanto predictivo, si se conocen sus
entradas y su forma de proceder. El algoritmo de Euclides, que permite
averiguar el máximo común divisor entre dos números, responde a este tipo.
Se distinguen de los no deterministas, donde el algoritmo tiene un
comportamiento en forma de árbol.

Você também pode gostar