Sei sulla pagina 1di 6

RESOLUCION DEL PROBLEMA

Para llegar a la resolucin de un problema es necesario el diseo previo de un


algoritmo, de modo que sin algoritmo no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programacin en que se
expresan como de la computadora que los ejecuta. En cada problema el algoritmo
se puede expresar en un lenguaje diferente de programacin y ejecutarse en una
computadora distinta; sin embargo, el algoritmo ser siempre el mismo. As, por
ejemplo, en una analoga con la vida diaria, la receta de un platillo de cocina se
puede expresar en espaol, ingls o francs, pero cualquiera que sea el lenguaje,
los pasos para la elaboracin, del mismo se realizarn sin importar el idioma del
cocinero.
En la ciencia de la computacin y en la programacin, los algoritmos son ms
importantes que los lenguajes de programacin o las computadoras. Un lenguaje
de programacin es tan slo un medio para expresar un algoritmo y una
computadora es slo un procesador para ejecutarlo. Tanto el lenguaje de
programacin como la computadora son los medios para obtener un fin: conseguir
que el algoritmo se ejecute y se efecte el proceso correspondiente.
Dada la importancia del algoritmo en la ciencia de la computacin, un aspecto
importante ser el diseo de algoritmos. Joyanes Aguilar, enfatiza que el diseo de
la mayora de los algoritmos requiere creatividad y conocimientos profundos de la
tcnica de programacin.
En esencia, la solucin de un problema se puede expresar mediante un algoritmo
CONCEPTO Y TIPOS DE ALGORITOMOS
Qu es un algoritmo? Se denomina algoritmo a una combinacin de pasos
lgicos dispuestos de forma organizada para resolver un problema. Los algoritmos
ayudan a ordenar el trabajo en numerosas disciplinas. En informtica se utilizan
para expresar las instrucciones con las que se realizan las funciones, y se suele
expresar mediante diferentes tipos de diagrama.
El esquema ms conocido es el diagrama de flujo, que muestra paso por paso
como se debe proseguir, y principalmente, las preguntas que el operador se debe
hacer para proseguir con el siguiente paso y as llegar al final del proceso. Si algn
paso falla, el algoritmo permite retroceder ordenadamente la cantidad de pasos
que sean necesarios para corregir el error.
Clasificacin y Tipos de algoritmos
Se ha clasificado a los algoritmos de diversas formas, de acuerdo con algunos de
sus atributos. Por ejemplo:

A) Segn el sistema de signos con el que describen los pasos a seguir,


reconocen:
Algoritmos cualitativos: cuando se hace a travs de palabras, es decir,
instrucciones son verbales. Sucede, por ejemplo, con recetas de cocina.
Algoritmos cuantitativos: cuando se hace a travs de clculos numricos.
puede hacer un algoritmo, por ejemplo, para obtener la raz cuadrada de
nmero.

se
las
Se
un

B) Segn su funcin, los algoritmos pueden ser:


Algoritmos de ordenamiento: secuencian los elementos que ingresan a
partir de un cierto orden, en general, segn un orden numrico o lxico.
Algoritmos de bsqueda: 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 cmo seguir un conjunto de pasos
encadenados. Se dividen fundamentalmente entre adaptativos y estticos,
los primeros con cierta capacidad de aprendizaje y ajuste a la circunstancia,
mientras que los segundos funcionan mecnicamente, siempre del mismo
modo. Es importante decir que los algoritmos de encaminamiento cuentan
con una propia subdivisin, segn el camino que se toma para que la
transmisin llegue de manera efectiva (ejemplos de estos tipos son: por el
camino ms corto, de manera ptima, basado en el flujo, etc.).
C) Tambin los algoritmos han sido clasificados segn la estrategia que se
utiliza para llegar al resultado. Veamos algunos ejemplos:
Algoritmos probabilsticos: no se puede estar seguro de la exactitud de la
respuesta que darn. 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 tambin errneas.
Algoritmo cotidiano: es el que se da en la vida comn de las personas, no
se aplica en sistemas informticos ni en nada ajeno al da a da. Muchas de
las decisiones que se toman desde que uno se despierta por la maana
pertenecen a este grupo.
Algoritmo heurstico: abandona alguno de los objetivos como recurso
para terminar llegando a la solucin. En general, son utilizados cuando no
existe una solucin mediante las vas tradicionales.
Algoritmo de escalada: se comienza con una solucin insatisfactoria (que
no cumple la entrada y la salida), y se la va modificando aproximndose a
lo que se busca. En algn momento, estaremos cerca de (o llegaremos a)
la solucin correcta.
Algoritmo voraz: Con la idea de llegar a una solucin ptima definitiva,
elige analizar cada paso como nico y elegir la solucin 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 mximo comn divisor entre dos nmeros, responde a este
tipo. Se distinguen de los no deterministas, donde el algoritmo tiene un
comportamiento en forma de rbol
DISEO Y ESCRITURA DE ALGORITMOS
Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realizacin de cada


paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en
algn momento; o sea, debe tener un nmero finito de pasos.

La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.


Por ejemplo, en el clculo de la edad de una persona, conociendo su ao de
nacimiento, la definicin del algoritmo, quedara de la siguiente manera:

Entrada: la edad de la persona, informacin del ao de nacimiento y el


actual.
Proceso: realizar la diferencia del ao actual menos el ao de nacimiento.
Salida: visualizacin del resultado generado. Es decir, el resultado es la
edad.

Se emplea un lenguaje natural describiendo paso a paso el algoritmo en cuestin.


En la realizacin del algoritmo aplicar sus tres caractersticas: preciso, definido y
finito.
Representacin grfica de los algoritmos
Para la representacin grfica del algoritmo debe emplearse un mtodo que sea
independiente del lenguaje de programacin elegido. Joyanes Aguilar seala que
para conseguir este objetivo se precisa que el algoritmo sea representado grfica
o numricamente, de modo que las sucesivas acciones no dependan de la sintaxis
de ningn lenguaje de programacin, sino que la descripcin se emplee para su
transportacin en un programa.
Los mtodos usuales para representar un algoritmo son:
1.- Diagrama de flujo.
2.- Diagrama N-S (Nassi-Schneiderman).
3.- Lenguaje de especificacin de algoritmos: pseudocdigo.
4.- Lenguaje espaol, ingls.
5.- Frmulas

CONCEPTO DE DIAGRAMAS DE FLUJO


Un diagrama de flujo es una representacin grfica de un algoritmo o de una parte
del mismo. Los diagramas de flujo ayudan en la comprensin de la operacin de
las estructuras de control (Si, Mientras).
La ventaja de utilizar un algoritmo es que se lo puede construir independiente
mente de un lenguaje de programacin, pues al momento de llevarlo a cdigo se
lo puede hacer en cualquier lenguaje.
Dichos diagramas se construyen utilizando ciertos smbolos de uso especial como
son rectngulos, diamantes, valos, y pequeos crculos, estos smbolos estn
conectados entre s por flechas, conocidas como lneas de flujo. A continuacin se
detallarn estos smbolos.
Nombre

Smbolo

Funcin

Terminal

Representa el inicio y fin de un


programa. Tambin puede representar
una parada o interrupcin programada
que sea necesaria realizar en un
programa.

Entrada / salida

Cualquier tipo de introduccin de datos


en la memoria desde los perifricos o
registro de informacin procesada en
un perifrico.

Proceso

Cualquier tipo de operacin que pueda


originar cambio de valor, formato o
posicin de la informacin almacenada
en memoria, operaciones aritmticas,
de transformaciones, etc.

Decisin

Indica operaciones lgicas o de


comparacin
entre
datos
(normalmente dos) y en funcin del
resultado de la misma determina
(normalmente si y no) cual de los
distintos caminos alternativos del
programa se debe seguir

Conector
Pgina

Misma

Sirve para enlazar dos partes


cualesquiera de un diagrama a travs
de un conector en la salida y otro
conector en la entrada. Se refiere a la
conexin en la misma pagina del
diagrama

Indicador
de
direccin o lnea
de flujo

Indica el sentido de la ejecucin de las


operaciones

Salida

Se utiliza en ocasiones en lugar del


smbolo de salida. El dibujo representa
un pedazo de hoja. Es usado para
mostrar datos o resultados.

CONSTRUCCION DE UN DIAGRAMA DE FLUJO

Reglas de los diagramas de flujo


Debe de indicar claramente dnde inicia y dnde termina el diagrama.
Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin.
Organizar los smbolos de tal forma que siga visualmente el flujo de arriba
hacia abajo y de izquierda a derecha.
No usar lenguaje de programacin dentro de los smbolos.
Centrar el diagrama en la pgina.
Las lneas deben ser verticales u horizontales, nunca diagonales.

No cruzar las lneas de flujo empleando los conectores adecuados sin hacer uso
excesivo de ellos.

No fraccionar el diagrama con el uso excesivo de conectores.


Solo debe llegar una sola lnea de flujo a un smbolo. Pero pueden llegar
muchas lneas de flujo a otras lneas.

Las lneas de flujo deben de entrar a un smbolo pro la parte superior y/o
izquierda y salir de l por la parte inferior y/o derecha.
Evitar que el diagrama sobrepase una pgina; de no ser posible, enumerar
y emplear los conectores correspondientes.
Usar lgica positiva, es decir, realizar procesos cuando es verdadera la
condicin y expresar las condiciones de manera clara (por ej., "no es a =/=
de b" ==> "a=b").
Comentar al margen nicamente cuando sea necesario.

Potrebbero piacerti anche