Vous êtes sur la page 1sur 17

INTRODUCCIN A LAS ESTRUCTURAS DE DATOS.

Hoy en da tenemos como internet, sistemas operativos, dataware house, sistema cliente servidor, simuladores, videojuegos prcticamente han pasado a ser parte de nuestras vidas cotidianas. No hay duda de que ha esto siempre se les ha considerado campo de la informtica. Todos ellos tienen en comn denominador el uso intensivo de estructura de datos para almacenar, manipular y organizar la informacin con la que trabajan. Por lo tanto estos conocimientos no pueden faltar a un profesionista del rea de la computacin y de la informtica, ya que son muy tiles en la formacin del desarrollo del software. Se ha llegado al punto en el que las estructuras de datos ms comunes ya se encuentran como elementos nativos de algunos lenguajes de programacin. Es preciso entender su funcionamiento, sus principales caractersticas sus ventajas y desventajas, sus reas tpica de aplicacin etc. para ser capaces de seleccionar cual utilizar y cuando hacerlo.

ABSTRACCIN DE PROCEDIMIENTOS
La abstraccin de procedimientos se puede considerar como una herramienta que permite extender la mquina virtual definida por un programa de lenguaje, pues al agregar nuevas operaciones da la posibilidad en dividir un programa en unidades funcinales. Esta clase de extensiones es til especialmente cuando los programas para desarrollar son grandes (en nmero de lneas) es conveniente descomponerlo. Este tipo de abstraccin se aplica de forma intensiva cuando se usa una funcin o algn procedimiento para realizar una tarea

ABSTRACCIN DE DATOS
De manera similar al efecto que tiene la abstraccin de procedimientos para dar mayor capacidad y posibilidades al desarrollo de los lenguajes, tambin la abstraccin de datos permite extender la base de los tipos predefinidos en los lenguajes, al incluir nuevos dato de son sus operaciones correspondientes y generar estructuras de datos de mayor complejidad. La abstraccin de datos se puede sintetizar en la determinacin de un grupo de objetos y un conjunto de operaciones que se pueden efectuar sobre ellos. Cuando se implementan los datos simultneamente, se implementan las operaciones. Ejemplo: Es una operacin matemtica es posible que se da datos matriz y su correspondiente funciones (operaciones lo cual puede simplificar la comprensin de la aplicacin del sistema. Char a= a Char b=b Int suma;

Suma=a+b; Printf (la suma es %d, suma);

ESTRUCTURAS
La estructura de un sistema se determina despus de aplicar una serie de abstracciones que dan como resultado la determinacin de sus elementos fundamentales, su distribucin y sus relaciones como partes integrantes de un sistema. 1. 2. 3. 4. Por qu es importante la abstraccin? en dnde se utiliza principalmente la abstraccin? en qu ayuda la abstraccin de datos? Qu clases de abstracciones son las ms utilizadas?

ESTRUCTURAS EN INFORMATICA
Se debe hacer una abstraccin, nos va s dar elementos y la estructura nos va ayudar a relacionar los elementos Abstraccin estructura

Elementos

relacionar los elementos

Generalmente las estructuras en informtica se utilizan para referirse a las estructuras de datos, pero se aplican a los lenguajes de programacin, a diferentes aplicaciones y a sistemas de informacin.

ESTRUCTURA EN LENGUAJES DE PROGRAMACION


Los lenguajes tienen sus propias estructuras de datos, pero adems se pueden caracterizar mediante su estructura general. Podemos agrupar a los lenguajes de programacin en diferentes tipos, por ejemplo: los procedimentales, los orientados a objetos etc.

ESTRUCTURA EN APLICACIONES Y SISTEMAS DE INFORMACIN


En un diseo orientado a objetos la estructura es conformada por los objetos sus estructuras de datos y sus relaciones; en un sistema estructurado se hace nfasis en el diagrama funcional y en el flujo de datos. Las estructuras de informacin son abundantes y variadas, y tienen diferentes grabados de dificultad debido a que todo sistema de informacin tiene su propia estructura que lo

caracterizaba. En el caso de las aplicaciones es importante la tarea que va a desarrollar y la metodologa empleada en el diseo.

ESTRUCTURA DE DATOS
En general se puede considerar una estructura de datos como un conjunto de variables que se relacionan entre si y que se pueden operar como un todo, lo cual implica un conjunto de celdas, en las que se puede almacenar datos. La estructura de datos se implementa a travs de los lenguajes y son fundamentales para el manejo de informacin y el desarrollo de sistemas.

Estructura

Datos

ASPECTOS GENERALES DE LAS ESTRUCTURAS DE DATOS


Algunas estructura de datos son arreglos hileras o cadenas de caractersticas, los archivos y las bases de datos. Reconocimientos de una estructura de datos nos indica las relaciones entre, los elementos, las funciones que permiten su creacin la forma de acceso y las operaciones que se pueden emplear sobre esa estructura. RELACIN ENTRE ELEMENTOS: De perteneca Equivalencia Jerarqua Pertenencia Adyacencia

FUNCIONES BSICAS PARA ESTRUCTURAS

Para disponer de una estructura de datos se necesitan una serie de algoritmos que ejecuten las tareas fundamentales, las cuales reciben el nombre de funciones bsicas las cuales con: F. constructoras (crea las estructuras, archivos, bases de datos, banco de datos) F. para acceso (para encontrar valores, operaciones) F. destructoras ( devuelve al sistemas los recursos asignados a la estructura de datos)

OPERACIONES SOBRE LAS ESTRUCTURAS DE DATOS


Navegar la estructura Bsqueda Consulta de informacin Copia parcial o total Prueba Modificacin Insercin Eliminacin

TIPOS DE DATOS
Los tipos de datos son fundamentales para la implantacin de estructuras mas complejas en general cuando se define una variable como permanencia a un tipo de datos se efecta una abstraccin que incluye una especificacin de las celdas donde se puede almacenar el conjunto de operaciones que se pueden efectuar las relaciones entre los datos.

TIPO DE DATOS PREDEFINIDOS (TDP)


Estos tipos de datos son los que reconoce un lenguaje de programacin por ejemplo los enteros, reales, booleanos complejos y tipo caracteres. 1. 2. 3. 4. 5. Qu es la estructura de datos? Menciona tres ejemplos de ED Qu relaciones existen entre ED? Cuales son las funciones bsicas de la ED? Menciona los tipo de datos predefinidos (TDP)

TIPOS DE DATOS ESTRUCTURADOS (TDE)


Los lenguajes en general permiten definir TDE, es decir, compuestos de ms de un elemento, o sea que incorporan estructuras de datos; los lenguajes soportan los siguientes TDE: arreglos, registros, cadenas de caracteres, listas, archivos, etc. ARRAYS (ARREGLOS): La estructura de datos ms simples es el arreglo lineal (o unidimensional), el cual es una lista de un nmero finito de datos similares, referenciados

por medio de un conjunto de nmeros consecutivos. Si designamos un arreglo con la letra A podemos utilizar las siguientes notaciones: - SUBINDIZADA: a1, a2, a3 . an (elementos). - NOTACION CON PARENTESIS: A,(0)A(1),A(2), A(N) - NOTACION CON CARACTERES: A*0+,A*1+,A*2+, A*N+. Don de K en A*K+ recibe el nombre de ndice. Ejemplo de arreglo: ESTUDIANTES 0 1 2 3 4 5 Juan Prez Sandra Gold Tom Jones Julia Trejo Mary Reed Alan Snchez

ARREGLO BIDIMENSIONAL: Es una coleccin de datos similares donde cada elemento de referencia por dos ndices (tales como arreglos reciben el nombre de matrices en matemticas y de tablas en aplicaciones comerciales). Tambin existen arreglos multidimensionales. Una cadena de 28 almacenes, cada uno compuesto por 4 departamentos, puede representar sus ventas semanales en dlares como se muestra en la figura. Estos datos pueden almacenarse en una computadora utilizando un arreglo bidimensional en donde el primer ndice representa un almacn y el segundo un departamento, si elegimos el nombre VENTAS para el arreglo, entonces:

0 DPTO ALMACEN 1 2 3 28 1 2872 2196 3275 2016

1 2

3 3 3211 2552 3606 2333 4 1580 1774 1951 982

0 1 2 27

805 1223 1017 931

Tamao de arreglo: 28 filas * 4 columnas

Arboles
Los datos que se presentan frecuentemente relaciones de jerarqua entre ellos. La estructura de datos que maneja esta relacin recibe el nombre de grafo en rbol o simplemente rbol. Ejemplo: Un registro de ________ puede tener los siguientes campos: Nmero de seguro social, nombre, direccin_______ subordinados _________sueldo

Sin embargo nombre puede ser un grupo constituido por sub campos como apellido paterno, apellido materno, nombre de pila tambin direccin pude estar constituida por sub campos, calle y rea donde a su vez esta ltima puede est compuesta por ciudad, provincia y cdigo postal. La representacin en rbol es como si___________.

Empleado

No ss

Nombre

direccion

Edad

Sueldo

subordinado

A.Paterno

Calle/area

A.Materno

Ciudad

Provincia

C.p

Representacin de un rbol mediante niveles 01 empleados 02 nombre 03 nombre 03 apellido materno

03 apellido paterno 02 direccion 03 calle 03 rea 04 ciudad 04 provincia 04 cp. 02 edad 02 sueldo 02 subordinados

Dominio de la estructura. Descripcin de las operaciones de la estructura de datos.


Nombre de la operacin. Descripcin breve de su utilidad. Datos de entrada. Precondicin. Post condicin

Elementos de una estructura de datos Son elementos cuya manipulacin sea estructurado en los lenguajes de operacin. Las estructuras de datos compuestas Son aquellos cuya manipulacin requiere el ingenio del usuario Listas lineales Estructuras de datos compuestas Listas no lineales Ejemplo: Especificacin lgica del tipo de dato abstracto (IDA) cadena. Cules seran las operaciones de las estructuras?

Elementos: todos los caracteres alfabticos (letras maysculas y minsculas), caracteres numricos y caracteres especiales. Estructura: hay una relacin lineal entre dos caracteres. Dominio: existen entre 0 y 80 caracteres en cada valor del TDA CADENA. El dominio sern todas aquellas secuencias de caracteres que cumplan con las reglas operacionales. Ejemplo: Borrar / Inicio Utilidad: sirve para poder eliminar el primer carcter de una cadena. Entrada: la cadena S sobre la que se desea eliminar el primer carcter. Salida: el carcter ms a la izquierda de la cadena S es modificada. Precondicin: la cadena S tiene todos los caracteres siendo mayor que cero. Post condicin: la cadena S tiene todos los caracteres menos el primero. Ejemplo: Agrega al final Utilidad: agrega un carcter al final de una cadena. Entrada: la cadena S y el carcter L que se aadir a la cadena S. Salida: la cadena S modificada. Precondicin: la cadena de caracteres es menor que 80. Post condicin: la cadena S tiene el carcter L quedando en el extremo derecho de la cadena . ORGANIZACIN DE ARCHIVOS DE DATOS

DATO: smbolos que as no representan nada Cmo se define un dato? Es una representacin de la informacin de manera adecuada para su tratamiento informatizado. Lo ideal es que los datos este en disponibles en el momento que se les requiera. El tratamiento de los datos no siempre ocurre en un momento o lugar cercano al de la adquisicin. Se tiene 2 vertientes: a)orientado al proceso (o almacenamiento principal, de inmediata disponibilidad)

b)orientado a perdurabilidad y mayor alcanse a los datos (almacenamiento secundario) ORAGANIZACION BASE La organizacin base de un archivo determina ubicacin de cada uno de los registros, respecto al resto y por tanto el mecanismo necesario para su capacitacion. ORGANIZACIN SERIAL La organizacin serial es la mas simple. Sus registros se ubican uno de tras de otro a medida que se van incertando. Un registro cual quiera podria estar completamente contenido en un bloque o en el peor caso, ocupar varios bloques ya que el registro a insetar podria no caber completamente en su bloque y los bytes que no cupisien serian escritos el comienso del bloque siguiente. ORGANIZACIN SECUENCIAL Con el planteamiento serial, los procesos selectivos y los ordenados se ven claramente perjudicados estos proceso son diferentes podria ser adecuado plantear una organizacin secuencial. En estas la disposicion fisica de los registros se determinan mediante el usos de cierta clave de organizacin. Las organizaciones secuenciales presental el probleme de la localizacion de los registros logicos en un bloque aleatorio (ya que el primer byte del bloque no es necesariamente el primer byte de un registro logico). Para solventarlo se puede recurrir a marcas de separacion de registros, a una marca que indique el desplazamiento el desplazamiento del primer registro, o bien plantear no consecuitvas. ORANIZACIONES NO CONSECUTIVAS Aqu se introduce el concepto de cubo , como el conjunto de bytes con la misma direccion relativa. En un cubo se almacenara un registro si cabe completamente no existira registros partidos entre los dos cubos y por lo tanto el primer byte ocupado de un cubo corresponde al primer byte de un registro logico. Todos los cubos de un rchivo tendran el mismo espacio de cubo (numero de bloque que los compone, uno o mas). Para los procesos que implican localizacion es necesario contar con organizaciones auxiliares atravez de claves de busqueda. ORGANIZACIONES DIRECCIONADAS La mayoria de los dispsitivos actuales de almacenanmiento se pueden acceder aleatoreamente por bloques (a traves de su direccion fisica en el soporte), cualidad que puede ser a provechada antemano la direccion del bloque que contiene el registro que se pretende localizar. Para simplificar la localizacion, se utiliza la direccion relativa de cada cubo, definida como su posicion en el archivo y apartir de la cual se puede calcular su direccion fisica (o direcciones, si el cubo estuviera formado por varios bloques). Tomando la clave de busqueda mas frecuente en las localizaciones, se busca una funcion capaz de acignarle a cada valor de esa clave una direccion relativa.

Dominio CD DE

ESPACION

Soporte

DIRECCIONAMIENTO N CD= CLAVE DE DIRECCIONAMIENTO T T2 DB DB= D

Valor clave direccion cubo direccion bloque

Procesos de transformacin necesarios para el direccionamiento: De una clave (ambito lgico) se pasa a una direccin de cubo (o direccionamiento o direccin relativa) y se pasa a la direccin del bloque o bloques (mbito fisico).

PROCESAMIENTO DE ARCHIVOS EN C. Introduccin El almacenamiento de los datos dentro de variables y arreglos es temporal; todos esos datos se pierden cuando termina el programa. Los archivos se utilizan para retener permanentemente grandes cantidades de datos.Las computadoras almacenan los archivos dispositivos secundarios de alamacenamiento, en especial en disposositivos secundarios de almacenamiento, en especial en dispositivos de discos. SILVIA TOMAS JUDITH IRIS RAUL

JUDITH

OLIVERA

RAMIREZ

Registro

J u d i t h (campo)

01001010 byte (carcter ASCII de J.)

1bit

JERARQUIA DE DATOS Dado que a las computadoras solo procesan unos y ceros, cada carcter de conjunto de caracteres: las computadoras manipulan y procesan estos caracteres como patrones de bites y asi como los caracteres estan compuestos de bytes los campos estan compuestos de caracteres. Un campo es un grupo de caracteres que en forma conjunto representan un mismo significado. Los elementos de datos se hacen mas grandes y complejos en su estructura, conforme progresan de bytes a caracteres (bytes), de caracteres a campos, y asi sucesivamente. Un registro (es decir, una estructura en C) esta compuesta por varios campos. Por ejemplo un sistema de nomina, el registro de un empleado en particular podria estar compuesto por los siguientes campos. 1.-numero de seguro social 2.- nombre 3.- direccion 4.-sueldo por hora 5.-deducciones Para facilitar la recuperacion de registros especificos de un archivo se elige almenos un campo como clave de registro; por ejemplo een el registro de nomina anterior por lo general se elegiria como clave de registro el numero de seguridad social. Existen muchas formas de organizar los registros en un archivo el grupo mas popular de organizacin es el archivo secuencial , en donde por lo general los registros se colocan ordenadamentel, de acuerdo con la tabla de registro. La mayoria de las empresas almacenan los datos en muchos archivos diferentes. Por ejemplo, podria tener archivos de nomina, archivos de clientes, archivo de cuentas por cobrar, (listan las deudas de dinero de los clientes), cuentas por pagar,archivos de inventario, y muchos otros de archivos. En ocasiones a un grupo de archivos relacionados se le llama base de datos. A los programas diseados para crear y administrar base de datos se les llama sistemas gestores de base de datos (SGBD) o (DBMS). 0 1 2 3 Marcador.

Cada archivo termina con una marca de fin de archivo. Cuando se abre un archivo se le asocia un flujo. Cuando comienza la ejecucion de un programa, se abren tres archivos asociados y sus flujos (de entrada estandar, de salida estandar, y de error estandar). Los flujos proporcionan canalaes de comunicacin entre los archivos y los programas. Por ejemplo el flujo de entrada estandar permite a un programa leer datos del teclado y el flujo estandar de salida permite al programa desplegar los datos en la pantalla. Los flujos creados se manipulan por medio de los apuntadores de archivo stdin,stdout,stderr.

FUNCIONES DE LA BIBLIOTECA ESTANDAR DE C. Getchar()= fgete lee un carcter desde un archivo //la funcion fgete recibe como argumento un apuntador FILE para el archivo desde en que se lee el carcter. Por ejemplo Fgete(stdin) lee un carcter desde stdin Putchar= fpute escribe un carcter a un archivo //la funcion fpute recibe como argumentos un carcter para escribir y un apuntador para el archivo en el cual se escribira el carcter ejemplo: Fpute (a,stdout) va a escribir el carcter a en stdout. CREACION DE UN ARCHIVO DE ACCESO SECUENCIAL. //el siguiente programa se puede utilizar para creear un archivo de acceso secuencial el cual se puede utilizar para un sistema de cuentas por cobrar y ayudar a mantener el registro de los momentos de las deudas crediticias de sus clientes. Para cada cliente, el programa obtiene un numero de cuenta, el nombre del cliente y su saldo. Los datos obtenidos de cada cliente constituyen un registro del cliente. #include<stdio.h> Main() { Int cuentas; Char nombre[30]; Double saldo; FILE *p++Cf If ((p++cf=fopen(clientes.dat,w))=NULL) {

Printf(el archivo no puede abrirse \n); } Else { Printf(introduce la cuenta, el nombre, el saldo); Printf(introduce cntrl z al final de la ); Printf(?); Scanf(%d %s %1f,&cuenta,nombre,&saldo); While(!feof (stdin)) { Printf(ptrCf, %d %s%.2f \n,cuenta,nombre,saldo); Printf(\o) Scanf(%d %s %1f,&cuenta,nombre,&saldo); } Fclose (ptrCf); System(pause); Return 0; }

REGISTRO AL SAE (APOYO EDUCATIVO) -Seguir instrucciones al pie de la letra: Tener escrito en tres lugares diferentes: Un nombre de usuario (Ej. Vicgonzales). Y una contrasea que tenga mayusculas, minusculas,digitos decimales y un simbolo especial por lo menos. La linea 11 establece que ptrCf es un apuntador a la estructura file la cual sirve para administrar el archivo.

La linea 14 nombra al archivo clientes.dat, para que el programa utilice, y establece una linea de comunicacin para el archivo. A la estructura ile para la estructura del archivo ptrCf la ffuncion fopentoma dos argumentos: un nombre de archivo y un nombre de apertura de archivo. El modo de apertura w indica que el archido se abrira para escritura. Si el archivo no existe fopen crea el archivo. Si abre un archivo existente para escritura y el contenido del archivo se descartara sin advertencia alguna. En el programa la instruccin IF se utiliza para determinar si el apuntador del archivo ptrCf es nulo (es decir el archivo no esta abierto). Si es NULL o el programa imprime un mensaje de error y termina. De lo contrario el programa procesa la entrada (else) y la escribe en el archivo. El programa indica al usuario que introdusca los distintos campos de cada registro o que introduce el fin de un archivo cuando la entrada de datos este completa (ctrl z). La linea 24 utiliza la funcion fcof para determinar si se establecio el fin indicador de archivo para el archivo que hace referencia stdin. El indicador de fin de archivo informa al programa que ya no existen datos para procesar. El argumento de la funcion feof es un apuntador al archivo, que , se va a evaluar stdin mediante el indicador de finde archivo. La funcion devuelve un valor diferente de 0 (verdadero cuando se establece el indicador de fin de archivo de lo contrario la funcion devuelve 0. La linea 25 escribe los datos en el archivo cliente.dat los archivos pueden recuperarse mas tarde. Mediante un programa para leer archivos. Despues que el usuario introduce fin de archivos, el programa cierra el archivo clientes.dat con fclose y termina la funcion fclose tambien recibe el argumento del apuntador de archivo en lugar del nombre del archivo ya que si no se hace asi el sistema operativo lo cerrara el archivo al terminar la ejecucion. RELACION ENTRE LOS APUNTADORES FILE LAS ESTRUCTURAS FILE Y LOS FCBS El usuario tiene acceso a esto 1.- ptrCf= fopen(clientes.dat,w); Fopen devuelve un apuntador a la estructura FILE. (definida en<stdio.h>). Ptr nuevo. 2.-la estructura FILE para clientes.dat contieneun descriptor, es decir, un entero pequeo como ndice dentro de la tabla de apertura de archivo.

3.-cuando el programa prepara una llamada de e/s tal como : Fprintf(ptrCf, %d %s %.2f, cuenta,nombre,saldo); El programa localiza el descriptor(7) en la estructura FILE y lo utiliza para localizar el FCB en la tabla de apertura de archivo . Solo el sistema operativo tiene acceso a esto. Tabla de apertura de archivo 0 1 2 3 4 5 6 7

FCB para clientes.dat

4.-el programa llama a un servicio del sistema operativo que utiliza los datos de la FCB para controlar toda la entrada y la salida hacia el archivo real en disco. NOTA: el usuario no puede acceder directamente a la FCB. Esta entrada se copia desde la FCB hacia un disco cuando se abre el archivo.

MODOS DE APERTURA DE ARCHIVOS

MODO r w a r+

DESCRIPCION Abre un archivo para lectura. Crea un archivo para escritura. Sie el archivo ya existe,descarta el contenido actual Agrega; abre o crea un archivo para escritura al final del archivo Abre un archivo para actualizacin(lectura y escritura)

w+

a+

rb wb

ab rb+ wb+

ab+

Crea un archivo para actualizacin. Si el archivo ya existe, descarta el contenido actual Agrega; abre o crea un archivo para actualizacin; la escritura se lleva al final del archivo Abre un archivo para lectura en modo binario crea un archivo para escritura en modo binario. Si el archivo ya existe descarta el contenido actual Agrega; abre o crea un archivo para escritura al final del archivo en modo binario Abre un archivo para actualizacin en modo binario(lectura y escritura) Crea un archivo para actualizacin en modo binario; si el archivo ya existe descarta el contenido actual Agrega; abre o crea un archivo para actualizacin en modo binario; la escritura se hace al final del archivo.

Lectura de datos desde un archivo secuencial. El siguiente programa lee los registros desde el archivo clientes.dat e imprime el contenido de dichos registros . Se utilizara la funcin fscanf la cual recibe como argumento del apuntador al archivo desde el que se leen los datos. #include<stdio.h> main (){ int cuenta; char nombre [30]; double saldo; FILE *ptrCp; if((ptrCf=fopen("clientes.dat","r"))==NULL) { printf("el archivo no puede abrirse \n");

} else { printf("%-10s %-135% s \n","cuenta","nombre","saldo"); fscanf(ptrCf,"%d %s %lf",&cuenta,nombre,&saldo); while(!feof(ptrCf)) { printf("%-10d%-135% 7.2f\n",cuenta,nombre,saldo); } fclose(ptrCf); }/*fin else*/ system("pause"); return 0; }/*fin de main*/

Vous aimerez peut-être aussi