Fundamentos Algoritmos
Fundamentos Algoritmos
Fundamentos Algoritmos
com/doc/8032086/fundamentos-de-programacion-algoritmos-y-estructura-dedatos#scribd
RESOLUCION DE PROBLEMAS
Definicin
Un problema es un conjunto de cuestiones que se plantean para ser resueltas. En Informtica: se
busca la solucin utilizando computadoras, mediante un programa (buscando el mejor resultado en
tiempo y forma).
Planteo
QUE me estn pidiendo;
CMO resolverlo;
CON QU, expresar la supuesta solucin (recursos, herramientas...)
Dicho de otro modo, responde al siguiente orden de planteo:
1) ESTRATGICO
2) LGICO
3) HERRAMENTAL
Enunciado
Debe estar dado en forma completa, correcta y sin ambigedades. El problema tiene
unanaturaleza, su particularidad, y debo reconocerla para saber si puedo enfrentarlo, para ellose
sugiere tener en cuenta:
a) CONOCIMIENTO
b) HABILIDAD
c) EXPERIENCIA
es decir:
- conocer los elementos, propiedades, leyes, teora;
- poseer cualidades que me permitan alcanzar la solucin, creatividad;
- toma de decisiones, naturaleza que me d mayor seguridad y garanta de resolucin.
Debo sentirme en condiciones de responder, ya que no entiendo lo que no conozco.
Sugerencias ante un planteo
(Pautas que me permiten adquirir una metodologa, un orden que me acerca a la solucin);
1) Necesito poder captar
datos importantes
. Existen datos secundarios; no agregarlos;2) Reconocer
relaciones entre datos
; hacer explcito el dato que est oculto en unarelacin de datos, en el planteo, de acuerdo a la
naturaleza del problema;3) Profundizar en los
detalles
; en la prctica se aconseja leer 3 veces el problema;4) Dividir el problema en
subproblemas
; si es de complejidad importante se reduce lamisma, obteniendo una mejor performance.-Tener en
cuenta que la complejidad est dada por la cantidad de procesos que serealizan;5) Aplicar la
experiencia
en problemas similares.-Para tener una orientacin no tengo que olvidar el orden; el planteo
estratgico.El paso siguiente consiste en construir la propuesta de solucin:datos de --------->
procesamiento de ---(generan)---> informacin,entrada datos (algoritmo) datos de salida
ALGORITMO
El objetivo fundamental de este texto es ensear a resolver problemas mediante una
computadora. El programador de computadora es antes que nada una persona que resuelve
problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver
problemas de un modo riguroso y sistemtico. A lo largo de todo el libro nos referiremos a la
metodologa necesaria para resolver problemas mediante programas, concepto que se
denomina metodologa de la programacin. El eje central de esta metodologa es el
concepto, ya tratado, de algoritmo.
Un algoritmo es un mtodo para resolver un problema. Aunque la popularizacin del trmino
ha llegado con el advenimiento de la era informtica, algoritmo proviene de Mohammed alKhowrizmi, matemtico persa que vivi durante el siglo IX y alcanz gran reputacin por el
enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir nmeros
decimales; la traduccin al latn del apellido en la palabra algorismus deriv posteriormente en
algoritmo. Euclides, el gran matemtico griego (del siglo IV antes de Cristo) que invent un
mtodo para encontrar el mximo comn divisor de dos nmeros, se considera con AlKhowrizmi el otro gran padre de la algoritmia (ciencia que trata de los algoritmos).
El profesor Niklaus Wirth inventor de Pascal, Modula-2 y Oberon titul uno de sus ms
famosos libros, Algoritmos + Estructuras de datos = Programas, significndonos que slo se
puede llegar a realizar un buen programa con el diseo de un algoritmo y una correcta
estructura de datos. Esta ecuacin ser una de las hiptesis fundamentales consideradas en
esta obra.
Los pasos para la resolucin de un problema son:
PROBLEMA
Diseo Del
Algoritmo
Programa
de
Computador
a
diaria, una receta de un plato de cocina se puede expresar en espaol, ingls o francs, pero
cualquiera que sea el lenguaje, los pasos para la elaboracin del plato 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 muy importante
ser el diseo de algoritmos. A la enseanza y prctica de esta tarea denominada algoritmia
se dedica gran parte de este libro.
El diseo de la mayora de los algoritmos requiere creatividad y conocimientos profundos de la
tcnica de la programacin. En esencia, la solucin de un problema se puede expresar
mediante un algoritmo.