Sei sulla pagina 1di 4

ALGORITMOS Y ESTRUCTURA DE DATOS

Conceptos fundamentales
Introduccin:
La principal razn para aprender a programar es utilizar la computadora como una
herramienta para resolver problemas. Sin embargo no es suficiente con aprender
las reglas de un lenguaje de programacin para escribir programas, tambin es
necesario hallar la solucin del problema independientemente del uso de las
computadoras y de los lenguajes de programacin. La solucin a los problemas
esta dada por un algoritmo.
Asi, los algoritmos, junto a las estructuras de datos, constituyen la solucin de los
problemas.
El termino algoritmo se estableci en honor a Muhammad ibnMusa al-Jwarizmi,
matemtico rabe del siglo IX quien propuso que la solucin de muchos
problemas se puede obtener con un conjunto de soluciones menores.
1. Procesamiento Automatizado De Informacin
Los actuales sistemas de informacin estn basados en el uso de computadoras.
Estas, son maquinas digitales (sincrnicas de mltiples propsitos) que ejecutan
conjuntos o secuencias de operaciones matemticas y lgicas, utilizando el
sistema binario de numeracin.
Son herramientas poderosas para la automatizacin de la resolucin de
problemas, pero ello depende de la capacidad de su programa. Generalmente a
los sistemas de procesamiento automatizado de informacin, los llamamos
sistemas de informacin.
As, los sistemas de informacin son un conjunto de elementos relacionados que
actan como un todo, cuyo objetivo es la obtencin de informacin y est
compuesto por elementos de hardware y software.
El hardware es el conjunto de componentes fsicos que componen al sistema.
El software es un conjunto de componentes lgicos que controlan el
funcionamiento del hardware y otorgan a las computadoras la capacidad de ser
maquinas con mltiples propsitos.

Esto significa que para dotar a la maquina la capacidad de resolver mltiples


problemas, es necesario escribir un programa (software) que los solucione de
forma especfica. Para ello existen pasos previos como ser:
Definicin del problema del mundo real;
Anlisis del problema;
Diseo de la solucin;
Diseo de la solucin informtica.
a. Definicin del problema.
Definir el problema significa comprenderlo, circunscribirlo, acotarlo (es imposible
que hallemos una solucin sino sabemos cul es el problema).
El proceso de analizar el mundo real para interpretar los aspectos esenciales de
un problema y expresarlo en trminos precisos se llama abstraccin.
b. Anlisis del problema.
Una vez que se defini el problema hay que analizarlo. Se busca determinar
claramente el contexto (entorno) del problema y describir el estado futuro deseado
una vez que se soluciono el problema.
Se debe determinar qu datos son necesarios para solucionar el problema y que
informacin debe proporcionar la solucin.
c. Solucin del problema.
La solucin de todo problema lo constituye un algoritmo. Un algoritmo es un
conjunto ordenado de pasos que conducen a la solucin de un problema.
d. Solucin informtica.
El algoritmo es la solucin general sin tener en cuenta un lenguaje de
programacin ni una maquina en especial. Cuando un algoritmo se define en
trminos de un lenguaje de programacin especfico para una maquina especfica,
estamos en presencia de un programa. Este constituye la solucin informtica de
un problema.
La diferencia entre algoritmo y programa radica en el hecho de que los algoritmos
se especifican en trminos ideales; mientras que los programas se especifican

bajo las limitaciones impuestas por lenguajes de programacin y maquinas


particulares.
2. Concepto de algoritmo.
La solucin de un problema exige el diseo del algoritmo. Un algoritmo es la
especificacin de la secuencia ordenada de pasos a realizar para solucionar un
problema en un tiempo finito.
Est vinculado a una maquina abstracta. Por lo tanto, los algoritmos son
independientes de los lenguajes de programacin y de las maquinas en las que se
lo ejecutara.
Est constituido por un conjunto de acciones. Una accin es un hecho o
acontecimiento que sucede en un periodo de tiempo finito, es llevado a cabo por
un ejecutante y tiene un objetivo. La unin de varias acciones organizadas que se
ejecutan en un tiempo finito se denomina proceso. Tanto los procesos como las
acciones son componentes de los algoritmos.
a. Caractersticas de los algoritmos.
Todo algoritmo debe cumplir con tres caractersticas:
Debe ser preciso. No debe existir accin alguna que presente ambigedades en
cuanto a su estado previo y su estado posterior.
Debe estar definido. Si todas sus acciones son precisas y se sigue dos veces el
mismo algoritmo con los mismos datos, se debe obtener el mismo resultado cada
vez.
Debe ser finito. Los resultados de la ejecucin de un algoritmo se deben obtener
en un tiempo finito. Todo algoritmo debe tener un inicio y un fin.
b. Diseo de algoritmos.
En primer trmino, es necesario definir y analizar el problema a resolver. Una
buena comprensin del problema, mas la descripcin detallada de entradas (datos
necesarios) y salidas requerida (datos requeridos del proceso) son los requisitos
ms importantes para hallar una solucin del problema. Los datos proporcionados
al algoritmo constituyen su entrada y los datos producidos por el su salida.

Una buena estrategia para resolver problemas complejos es descomponer al


problema en varios problemas menores ms fciles de solucionar. La
descomposicin del problema en otros ms simples y as sucesivamente hasta
hallar una solucin a ellos, esto se denomina diseo descendente (top-down
design).

Potrebbero piacerti anche