Está en la página 1de 19

REPBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNUVERSITARIA UNIVERSIDAD NACIONAL EXPERIMENTAL DE LAS FUERZAS

ARMADAS UNEFA A.D.S. III 01

LENGUAJE DE PROGRAMACION

PROFESOR: DENNYS ACOSTA

BACHILLER: AURORA LUCIA C.I. 23.496.007

CIUDAD BOLVAR; JUNIO DEL 2013.

INTRODUCCIN

La solucin de problemas mediante el uso de un computador nos lleva a desarrollar programas o aplicaciones, la construccin de estos programas debe ser realizada mediante una metodologa, los pasos para la construccin de programas son: 1. Disear el algoritmo, consiste en analizar el problema y describir los instrucciones de forma ordenada que resuelven el problema. 2. Codificar de forma sistemtica la secuencia de instrucciones en un lenguaje. 3. Ejecutar y validar el programa en un computador (verificacin) Para codificar de forma sistemtica un algoritmo se necesita de un lenguaje programacin que la computadora comprenda.

UNIDAD 6

1. Estructuras Dinmicas de datos. Las estructuras dinmicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinmica de datos es una coleccin de elementos llamadas nodos - que son normalmente registros. Al contrario de un arreglo que contiene espacio para almacenar un nmero fijo de elementos, una estructura dinmica de datos se ampla y contrae durante la ejecucin del programa, basada en los registros de almacenamiento de datos del programa. Las estructuras dinmicas de datos se pueden dividir en dos grandes grupos: Lineales Pilas. Colas. Listas enlazadas. No lineales rboles. Grafos Las estructuras dinmicas de datos se utilizan para almacenamiento de datos del mundo real, que est cambiando constantemente. Un ejemplo tpico, es la lista de pasajeros de una lnea area. Si esta lista se mantuviera en orden alfabtico en un arreglo, sera necesario hacer espacio para insertar un nuevo pasajero por orden alfabtico. Esto requiere utilizar un ciclo para copiar los datos del registro de cada pasajero al siguiente elemento del arreglo. Si en su lugar se utilizar una estructura dinmica de datos, los nuevos datos del pasajero se pueden insertar simplemente entre dos registros existentes con un mnimo de esfuerzo. 2. Definicin de Pilas

Es una estructura de datos especial en donde la insercin y el borrado de los nuevos elementos se realizan slo por un extremo que se denomina cima o tope. Esta estructura posee numerosas analogas en la vida real, por ejemplo imagine una pila de platos. Dado que las operaciones de insertar y eliminar se realizan por un solo extremo (el superior), los elementos solo pueden eliminarse en orden inverso al que se insertan en la pila. El ltimo elemento que se pone en la pila es el primero en sacar; dado a esto a estas estructuras se les conoce con el nombre de LIFO. 3. Operaciones sobre una pila y ejemplo Las operaciones que se pueden realizar con una pila son: PUSH (pila, elemento): Introduce un elemento en la pila. Tambin se le conoce como poner o meter. POP (pila): Elimina un elemento de la pila. Tambin se le conoce como sacar o quitar. VACIA (pila): Funcin booleana que indica si la pila est vaca o no. LLENA (pila): Indica si es posible o no agregar nuevos elementos a la pila.

4. Pila alojadas en arreglos Las pilas se pueden implementar por arreglos o bien por punteros siempre y cuando se respete el concepto antes mencionado. Idealmente, una pila puede contener un nmero ilimitado de elementos y no producir nunca desbordamiento. En la prctica, sin embargo, el espacio de almacenamiento disponible es finito. La codificacin de una pila requiere un cierto equilibrio, ya que si la longitud mxima es demasiado grande, se gasta mucha memoria, mientras que un valor pequeo de longitud mxima producir desbordamientos frecuentes. 5. Implementacin de procedimientos Los ejemplos utilizarn una lista de enteros. El nodo se definir de la siguiente manera: nodo = tupla numero entero siguiente puntero a nodo fin tupla

La lista se manejar desde el programa principal mediante un puntero a nodo: cabeza puntero a nodo 6. Recursivo mediante pilas 7. Definicin Cola y ejemplo Las colas o filas son otro tipo de estructura lineal de datos, similares a las pilas, diferencindose de ellas en el modo de insertar eliminar elementos. Una cola es una estructura lineal de datos en la que las eliminaciones se realizan al principio de la lista, y las inserciones se realizan por la fina de la misma. En las colas el elemento que entr primero tambin sale primero, por ello se conocen como estructuras FIFO. As pues la diferencia con las pilas es solamente el modo de entrada y salida de datos. En la vida real se tienen ejemplos numerosos de colas: la cola de un autobs, la cola de un cine, etc. En todas ellas el primer elemento que llega es el primero que sale. En informtica existen tambin numerosas aplicaciones de colas. Por ejemplo, en un sistema de tiempo compartido suele haber un procesador central y una serie de perifricos compartidos: discos, impresoras, etc. Los recursos se comparten por los diferentes usuarios y se utiliza una cola para almacenar los programas o peticiones de los usuarios que esperan su turno de ejecucin; las colas se pueden representar como estructuras dinmicas de datos o como arreglos. 8. Operaciones con colas ejemplo Las operaciones que se pueden realizar con una cola son: Acceder al primer elemento de la cola. Aadir un elemento al final de la cola. Eliminar el primer elemento de la cola. Vaciar la cola. Verificar el estado de la cola.

9. Colas circulares La cola circular es una implementacin que aprovecha el espacio enla memoria de la computadora de la siguiente forma Inicialmente aparta un espacio para la cola, conforme llegan los elementos los va agregando al final, cuando remueve un elemento lo hace del inicio de la cola, una vez que ha terminado con el espacio de memoria que haba apartado, revisa si ya se liber el espacio al inicio de la cola y "da la vuelta" para aprovechar el espacio al mximo, la implementacin que se presenta a continuacin es la de una cola circular. ALGORITMO DE INICIALIZACINF < -- 0 A<-- 0 ALGORITMO PARA INSERTARSi (F+1=A) (F=1 y A=mximo) entonces mensaje (overflow)en caso contrarioiniciosi A=mximo entonces A<--1cola[A]<-- valor en caso contrario A <-A+1cola[A]<-- valor si F=0 entonces F <-- 1fin ALGORITMO PARA EXTRAER Si F=0 entonces mensaje (underflow)en caso contrario x <-- cola[F]si F=A entonces F <-- 0 A<-- 0en caso contrario si F=mximo entonces F <--1 en caso contrario F <-F+1 10. Aplicaciones doble cola Una cola doble es una estructura de datos en la cual las operaciones de agregar y retirar se practican por ambos lados y por la forma enque se realizan las operaciones, puede comportarse como pila como. La forma de operar de una cola doble es as: se tiene un nuevo elemento que desea agregarse a la cola, ste podra hacerlo de tal forma que ocupe la primera posicin o la ltima, los elementos que se encuentra al principio y al final de la cola pueden retirarse. Para indicar uno de los extremos de la cola doble por donde se agregarn o retirarn elementos, se utiliza un apuntador (U) y para el otro extremo se utiliza un apuntador (P). Para delimitar el rea de implementacin se tienen los apuntadores MAX y MIN, de idntica forma como la pila y la cola para detectar la cola para detectar la cola doble llena.La cola doble estar vaca cuando P = Vaco.Existen dosvariantes de la doble cola: Doble cola de entrada restringida.

Doble cola de salida restringida. La primera variante slo acepta inserciones al final de la cola, y la segunda acepta eliminaciones slo al frente de la cola ALGORITMOS DE ENTRADA RESTRINGIDA Algoritmo de Inicializacin F < -- 1 A <-- 0 Algoritmo para Insertar Si A=mximo entoncesMensaje (overflow)En caso contrarioA <--A+1Cola [A]<-- valor Algoritmo para Extraer Si F&gtA entonces mensaje (underflow)en caso contrario mensaje (frente/atrs)si frente entonces x <-- cola[F]F <-- F+1en caso contrariox <-cola[A]A <-- A-1 ALGORITMOS DE SALIDA RESTRINGIDA Algoritmo de Inicializacin F <--1 A <-- 0

Algoritmo para Insertar Si F&gtA entonces mensaje (overflow)en caso contrario mensaje (Frente/Atrs)si Frente entonces cola[F] <--valor en caso contrario A <-- A+1cola[A] <--valor Algoritmo para Extraer Si F=0 entonces mensaje (underflow)en caso contrariox <--cola[F]F <-- F+1

11. Definicin de Lista Una lista lineal es un conjunto de elementos de un tipo dado que se encuentran ordenados y pueden variar en nmero. Los elementos de una lista lineal se almacenan normalmente contiguos en posiciones consecutivas de la memoria. Las sucesivas entradas en una gua o directorio telefnico, por ejemplo, estn en lneas sucesivas, excepto en las

partes superior e inferior de cada columna. Una lista lineal se almacena en la memoria principal de una computadora en posiciones sucesivas de memoria; cuando se almacenan en cinta magntica, los elementos sucesivos se presentan en sucesin en la cinta. Esta sucesin se denomina almacenamiento secuencial. Las lneas as definidas se denominan contiguas. Las operaciones que se pueden realizar con listas lineales contiguas son: Insertar, eliminar o localizar un elemento. Determinar el tamao de la lista (nmero de elementos). Recorrer la lista para localizar un determinado elemento. Clasificar los elementos de la lista en orden ascendente o descendente. Unir dos o ms listas en una sola. Dividir una lista en varias sublistas. Copiar una lista. Borrar una lista. Una lista es una secuencia de longitud variable de elementos del mismo tipo. Los componentes de la lista se denominan nodos. Un tipo especial de lista es la lista vaca.

NIL

Lista

Los nodos se representan grficamente as:

Valores

Puntero al siguiente nodo

12. Tipos de listas Listas enlazadas Listas lineadas Listas dobles Listas circulares

13. Operaciones de listas Operaciones I

Es posible realizar las siguientes operaciones sobre una lista: Recorrerla. Buscar elementos. Insertar elementos. Eliminar elementos. Vaciarla. En esta leccin se implementarn estas operaciones de forma iterativa. Operaciones II Recorrer:

Implementada como una accin puesto que no retorna ningn valor. Recibe como argumento la cabeza de la lista. Mostrar por pantalla todos los elementos almacenados. Buscar un elemento:

Implementada como una funcin. Recibe como argumento un nmero entero. Retornar un puntero al primer nodo que tenga como valor el entero recibido o NIL si no lo encuentra. Insertar elemento:

Implementada como una accin. Recibe como argumento un nmero entero.

Crea un nuevo nodo en la lista para almacenar el dato recibido. Operaciones III Eliminar un elemento:

Implementada como una accin. Recibe un nmero entero como argumento. Elimina el primer nodo de la lista que tenga asignado dicho valor. Vaciar:

Implementada como accin. No recibe argumentos. Elimina todos los elementos de la lisUNIDAD 7

1. Acepciones multithreading 2. Fundamentos de la programacin orientada de objetivos


La programacin orientada a objetos es la expresin de uno de los ms avanzados paradigmas en el campo de la programacin, y es, al mismo tiempo, el resultado de la evolucin experimentada por los paradigmas anteriores. A diferencia de otros paradigmas de programacin, que intentan, al abordar un problema, representarlo o modelarlo empleando entidades cercanas a la computadora (arreglos, subrutinas, mdulos) la programacin orientada a objetos se propone emplear entidades lo ms cercanas posibles a la realidad. La programacin orientada a objetos tiene como conceptos fundamentales los conceptos de objeto y clase.

Un objeto es un ente que posee sus caractersticas propias (propiedades) y un conjunto de acciones que es capaz de realizar (mtodos). Una clase es un ente abstracto que permite declarar las propiedades y los mtodos de objetos similares. Un lenguaje de programacin orientado a objetos debe permitir al programador realizar definiciones de clases, y construir objetos a partir de esas clases. Para resolver un problema bajo el paradigma de la programacin orientada a objetos basta con determinar y caracterizar los diferentes objetos que intervienen en el problema, definir sus propiedades y mtodos y ponerlos a interactuar entre s. Ejemplo: Supongamos que se desea disear una aplicacin para controlar a todo el personal que estudia o trabaja en el Instituto Superior Pedaggico conociendo la informacin correspondiente a cada uno de ellos.

3. Utilizacin de la estructura de programacin de objetivos 4. Representacin implementacin de la lista mtodo de insercin La forma de insertar define la naturaleza de la lista: n Si se inserta al final: cola = lista FIFO (First In First Out) n Si se inserta al principio: pila = lista LIFO (Last In First Out) n Insercin ordenada: lista ordenada n Una vez localizado el nodo referencia para la insercin puede insertarse: n Delante del nodo. n Detrs del nodo. n Caso especial: insertar en la lista vaca. Insercin I La forma de insertar define la naturaleza de la lista: Si se inserta al final: cola = lista FIFO (First In First Out) Si se inserta al principio: pila = lista LIFO (Last In First Out)

Insercin ordenada: lista ordenada Una vez localizado el nodo referencia para la insercin puede insertarse: Delante del nodo. Detrs del nodo. Caso especial: insertar en la lista vaca. Insercin II Insercin en la lista vaca: Accin insertarVaca (cabezaLista puntero a nodo, dato entero) inicio si cabezaLista = NIL entonces crear (cabezaLista) cabezaLista.siguiente NIL cabezaLista.numero dato fin si fin accin Insercin por delante: accin insertarDelante (cabezaLista puntero a nodo, dato_nuevo, dato_viejo entero) variables cursor, nuevo puntero a nodo inicio

cursor cabezaLista mientras cursor NIL y cursor.numero dato_viejo hacer cursor cursor.siguiente fin mientras si cursor NIL entonces crear (nuevo) nuevo.siguiente cursor.siguiente cursor.siguiente nuevo nuevo.numero cursor.numero cursor.numero dato_nuevo fin si fin accin Insercin por detrs: accin insertarDetras (cabezaLista puntero a nodo, dato_nuevo, dato_viejo entero) variables cursor, nuevo puntero a nodo inicio cursor cabezaLista mientras cursor NIL y cursor.numero dato_viejo hacer cursor cursor.siguiente

fin mientras si cursor NIL entonces crear (nuevo) nuevo.siguiente cursor.siguiente nuevo.numero dato_nuevo cursor.siguiente nuevo fin si fin accin Insercin en una cola: accin insertarCola (cabezaLista puntero a nodo, dato_nuevo entero) variables cursor, nuevo puntero a nodo inicio if cabezaLista NIL entonces cursor cabezaLista mientras cursor.siguiente NIL hacer cursor cursor.siguiente fin mientras crear (nuevo) nuevo.siguiente cursor.siguiente

nuevo.numero dato_nuevo cursor.siguiente nuevo si no crear (cabezaLista) cabezaLista.siguiente NIL cabezaLista.numero dato fin si fin accin

Insercin en una pila: accin insertarPila (cabezaLista puntero a nodo, dato_nuevo entero) variables nuevo puntero a nodo inicio if cabezaLista NIL entonces crear (nuevo) nuevo.siguiente cabezaLista.siguiente cabezaLista.siguiente nuevo nuevo.numero cabezaLista.numero cabezaLista.numero dato_nuevo

si no crear (cabezaLista) cabezaLista.siguiente NIL cabezaLista.numero dato fin si fin accin 5. Utilizacin de la estructura de programacin de objetivos 6. Representacin implementacin de la lista mtodo de insercin 7. Dinmicas de datos y operaciones

CONCLUSIN
La clase de estructura de datos me dejo mucho, desde la programada, lo cual ya mejore un poco ms, hasta la lgica de entender y ver las cosas de otra manera. Todo esto que acabo de explicar es un repaso de mi clase estructura de datos y simplemente puedo decir que si pudiera volverla a tomar, tenlo por seguro que volver a decir esto tantas veces sea un arte para mi programar. END OF FILE;

EXIT;

REFERENCIAS BIBLIOGRAFICAS

http://asignaturas.inf.udec.cl/~lenprogi/2005-2/Temario/Tema8.PDF
http://di002.edv.uniovi.es/~dani/asignaturas/transparencias-leccion10.PDF Rivero Errico, Alfonso J. Introduccin a la programacin para Windows con Visual Basic.-Ciudad de la Habana : Editorial Pueblo y Educacin, 2001 Daz Iglesias, Jack y Prez Gonzlez, Franklin. Delphi 5 Bsico.-- Ciudad de la Habana : Editorial Pueblo y Educacin, 2001 Curso por correo electrnico sobre Borland Delphi. Autor: Asistente Juan Antonio Fonseca Hernndez

http://es.scribd.com/doc/41098916/Colas-Circulares http://es.scribd.com/doc/41098916/Colas-Circulares http://dar1007.files.wordpress.com/2012/09/tipos-de-listas.pdf

También podría gustarte