You are on page 1of 10

MARCO TEORICO Pseudocdigo

Figura 1. Mapa conceptual sobre pseudocdigo

Fuente: Elaboracin propia de los autores, con base en [Mono06]

Utilizacin en la prctica En el trabajo de un analista de sistemas, una de las partes ms trabajosas es la de determinar qu es lo que necesitan de un sistema los usuarios finales. Se dedican muchas horas a hacer un relevamiento de los datos que sern necesarios, los tipos de procesamientos, las salidas, etc. Y debe existir una realimentacin entre el diseo y el usuario, para garantizar que el sistema cumpla con los requisitos del usuario.

Figura 2. Proceso de desarrollo

Figura 3. Proceso analista

El pseudocdigo elimina estas diferencias, dando libertad a los programadores para que puedan ajustarse a su metodologa de trabajo. Generalmente, este cdigo se escribe con la participacin de todos los programadores. Esto representa la ventaja de que muchas opiniones ayudan a elegir la mejor entre todas, logrando una solucin efectiva y eficaz al problema planteado. [Mono06] Algoritmia
Figura 4. Mapa conceptual algoritmia

Fuente: Tomado de [Yate06]

Algoritmo, segn la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solucin a un problema cualquiera. Ejemplos sencillos de algoritmos son una receta de cocina o las instrucciones para armar una bicicleta. Los primeros algoritmos registrados datan de Babilonia, originados en las matemticas como un mtodo para resolver un problema usando una secuencia de clculos ms simples. Esta palabra tiene su origen en el nombre de un famoso matemtico y erudito rabe del siglo IX, Al-Khorezmi, a quien tambin le debemos las palabras guarismo y lgebra (ver anexo). Actualmente algoritmo se usa para denominar a la secuencia de pasos a seguir para resolver un problema usando un computador (ordenador). Por esta razn, la algoritmia o ciencia de los algoritmos, es uno de los pilares de la informtica (ciencia de la computacin en ingls). En este artculo veremos distintos tipos de algoritmos y distintas tcnicas para resolver problemas a travs de varios ejemplos, muchos de ellos no computacionales. Todos los ejemplos resuelven variantes de un problema genrico: la bsqueda de informacin, un dilema que tenemos a diario. El objetivo

final ser encontrar el algoritmo que utilice menos operaciones o gaste menos recursos, dependiendo del caso.

Diseo y Anlisis de Algoritmos

El desarrollo de un algoritmo tiene varias etapas (ver figura). Primero se modela el problema que se necesita resolver, a continuacin se disea la solucin, luego sta se analiza para determinar su grado de correccin y eficiencia, y finalmente se traduce a instrucciones de un lenguaje de programacin que un computador entender. El modelo especifica todos los supuestos acerca de los datos de entrada y de la capacidad computacional del algoritmo. El diseo se basa en distintos mtodos de resolucin de problemas, muchos de los cuales sern presentados ms adelante. Para el anlisis de un algoritmo debemos estudiar cuntas operaciones se realizan para resolver un problema. Si tenemos un problema x diremos que el algoritmo realiza A(x) operaciones (costo del algoritmo). Al valor mximo de A(x) se le denomina el peor caso y al mnimo el mejor caso. En la prctica, interesa el peor caso, pues representa una cota superior al costo del algoritmo. Sin embargo, en muchos problemas esto ocurre con poca frecuencia o slo existe en teora. Entonces se estudia el promedio de A(x), para lo cual es necesario definir la probabilidad de que ocurra cada x.p(x), y calcular la suma ponderada de p(x) por A(x). Aunque esta medida es mucho ms realista, muchas veces es difcil de calcular y otras ni siquiera podemos definir p(x) porque no conocemos bien la realidad o es muy difcil de modelar. Si podemos demostrar que no existe un algoritmo que realice menos operaciones para resolver un problema, se dice que el algoritmo es ptimo, ya sea en el peor caso o en el caso promedio, dependiendo del modelo. Por esta razn, el anlisis realimenta al diseo, para mejorar el algoritmo. [Yate06]

Figura 5. Proceso algoritmia

Fuente: http://www.dcc.uchile.cl/~rbaeza/inf/algoritmia.pdf

Figura 6. Mapa conceptual sobre programacin

http://alan-lenpro.blogspot.com/2010/08/mapa-conceptual-programacion.html

Estructuras bsicas

Estructuras de control Las estructuras secuenciales, selectivas y repetitivas se denominan estructuras de control porque son las que controlan el modo o flujo de ejecucin del algoritmo. Su importancia es tal, que una vez que se entienda su estructura y funcionamiento, puede decirse que en esencia es todo lo que hay que saber respecto al control y flujo de los algoritmos. Otro aspecto importante consiste en saber en dnde utilizarlas, pero esto es muy dependiente del problema a resolver, pero lo maravilloso de esto es que el mismo nombre de la estructura identifica su objetivo y utilidad.

Estructuras secuenciales Las estructuras secuenciales son las ms simples de las tres; se caracterizan porque una accin o sentencia se ejecuta detrs de otra, esto es, el flujo del algoritmo coincide con el orden fsico en el que se han puesto las sentencias del algoritmo.

Estructuras de seleccin Como su mismo nombre lo indica, este tipo de estructuras realizan una seleccin de las acciones o sentencias a ejecutar, es decir, dependiendo de si se cumple o no una determinada condicin, se ejecutan o no, un determinado grupo de sentencias. Es importante mencionar que la condicin que rige el control del flujo puede ser tan elaborada como la naturaleza del problema lo requiera, pero se deber tener la garanta de que el valor final de la condicin podr ser evaluado como un valor booleano, esto es, como verdadero o falso, ya que de lo contrario la condicin tendr ambigedad y, como se ver ms adelante, esto viola una de las caractersticas ms importantes de un algoritmo. Las estructuras de seleccin pueden ser simples, dobles o mltiples. Los flujos que se siguen, dependiendo de la evaluacin de la condicin, pueden visualizarse ms fcilmente al observar sus representaciones en diagrama de flujo o en pseudocdigo, pero estos detalles han sido pospuestos para secciones posteriores.

Ejemplo:

If <condicin> then <Sentencia(s) 1> Else <Sentencia(s) 2> Case <indicador> of <Sentencia(s) 1> <valor 1> : <Sentencia(s) 1> Else if <condicin 2> then <valor 2>: <Sentencia(s) 2> <Sentencia(s) 2>. <Valor n-1> : <Sentencia(s) n-1> Else <else> : <Sentencia(s) n> <Sentencia(s) n> end case

Estructuras de repeticin

En las estructuras de repeticin, los enunciados del cuerpo del ciclo se repiten mientras se cumpla una determinada condicin, misma que deber seguir los mismos lineamientos descritos para la estructura de seleccin descrita con anterioridad. En este tipo de estructuras, es frecuente el uso de contadores1 o centinelas2 para controlar el nmero de repeticiones de un ciclo. Ejemplo:

While <condicin> do <Sentencia(s)> End while Do <Sentencia(s)> While <condicin>


Fuente: [Ricar06]

BASE DE DATOS

Es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilizacin y su implementacin en mquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de informacin diferente y no predicable en tiempo.

Explicar Sus Orgenes Y Antecedentes Surgen desde mediados de los aos sesenta la historia de las bases de datos, en 1970 Codd propuso el modelo relacional, este modelo es el que ha marcado la lnea de investigacin por muchos aos, ahora se encuentran los modelos orientados a objetos.

Ventajas de las bases de datos.-

Independencia de datos y tratamiento. Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento). Coherencia de resultados. Reduce redundancia: Acciones lgicamente nicas. Se evita inconsistencia. Mejora en la disponibilidad de datos No hay dueo de datos (No igual a ser pblicos). Ni aplicaciones ni usuarios. Guardamos descripcin (Idea de catlogos). Cumplimiento de ciertas normas. Restricciones de seguridad. Accesos (Usuarios a datos). Operaciones (Operaciones sobre datos). Otras ventajas: Ms oriente gestin de almacenamiento.

Fuente [Mono07]

BIBLIOGRAFIA

[Mono06] MONOGRAFAS.COM. PSEUDOCODIGO [en lnea]. 2006. Disponible en: http://www.monografias.com/trabajos40/pseudo-codigo/pseudo-codigo.shtml [Consultado el 15 de abril de 2011]. [Yate06] YATES Ricardo Baeza, Dpto. de Cs. de la Computacin, Univ. de Chile Algoritmia Disponible en: http://www.dcc.uchile.cl/~rbaeza/inf/algoritmia.pdf publicado en el 2006 fecha de consulta [marzo 10 del 2011] [Mono06] MONOGRAFAS.COM. PSEUDOCODIGO [en lnea]. 2006. Disponible en: http://www.monografias.com/trabajos40/pseudo-codigo/pseudo-codigo.shtml [Consultado el 15 de abril de 2011]. Rica06] RICARDO Ruiz Rodrguez estructuras de Control Universidad Tecnolgica De La Mixteca Instituto De Electrnica Y Computacin Septiembre 2006 Disponible en: http://www.utm.mx/~rruiz/cursos/PE/notas.pdf. 24 PG. Fecha de consulta [mayo 5 del 2011] [Mono07] MONOGRAFAS.COM. Base de Datos [en lnea]. 2007. Disponible en: http://www.monografias.com/trabajos5/basede/basede.shtml [Consultado el 15 de abril de 2011].

You might also like