Vous êtes sur la page 1sur 3

http://es.scribd.

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

1. Diseo del algoritmo, que


describe la secuencia ordenada de
pasos
sin
ambigedades que conducen a la
solucin
de un
problema dado. (Anlisis del
problema
y
desarrollo
del
algoritmo.)
2. Expresar el algoritmo como un programa en un lenguaje de programacin adecuado. (Fase
decodificacin.)
3. Ejecucin y validacin del programa por la computadora.
Para llegar a la realizacin de un programa 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, 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.

Caractersticas de los 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. En el
algoritmo de receta de cocina citado anteriormente se tendr:
Entrada: ingredientes y utensilios empleados.
Proceso: elaboracin de la receta en la cocina.
Salida: terminacin del plato (por ejemplo, cordero).
Ejemplo 1.1
Un cliente ejecuta un pedido a una fbrica. La fbrica examina en su banco de datos la ficha
del cliente; si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario,
rechazar el pedido.
Redactar el algoritmo correspondiente. Los pasos del algoritmo son:
1. Inicio.
2. Leer el pedido.
3. Examinar la ficha del cliente.
4. Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar pedido.
5. Fin.

Vous aimerez peut-être aussi