Estructuras de datos estaticas

Solo disponible en BuenasTareas
  • Páginas : 10 (2418 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de mayo de 2011
Leer documento completo
Vista previa del texto
1 Material de Estudio

Tema: ESTRUCTURAS DE DATOS ESTATICAS: VECTORES
Profesor : Braulio Barrios - Marzo de 2009

Normalmente, utilizamos VARIABLES para almacenar (en memoria RAM) la información que un programa procesa. Por ejemplo: El CODIGO de un alumno, el NOMBRE, etc. y de acuerdo con esto podemos escribir un algoritmo que LEA y muestre el código y nombre de un alumno, así:
ALUMNOSESCRIBA (“ ***** Captura de datos del Estudiante ***** ”) ESCRIBA (“ Digite Código del Alumno “);Lea(CODIGO) ESCRIBA (“ Digite Nombre del alumno “); Lea(NOMBRE) ESCRIBA (“ ****** Ahora Mostraré un INFORME de datos leídos ***** ”) ESCRIBA (“ Código : “, CODIGO) ESCRIBA (“ Nombre : “, NOMBRE) FIN ALGORITMO ALUMNOS

Observe bien el anterior algoritmo, fíjese que UNICAMENTE podemos introducir y mostrarla información de UN alumno a la vez.

Pero la realidad es otra, es decir, se requiere procesar la información de VARIOS alumnos, por ejemplo, en el curso de estructuras de datos hay matriculados aproximadamente 15 estudiantes en cada grupo. Que pasaría si quisiéramos introducir los CODIGOS y NOMBRES de TODOS los alumnos?. Podríamos pensar en re-escribir el anterior algoritmo utilizando entoncesun CICLO REPETITIVO (Remítase a la lección: “FUNDAMENTOS DE ALGORITMOS Y PROGRAMACIÓN ESTRUCTURADA” ), por ejemplo, un ciclo PARA (Hacer Hasta) así:

ALUMNOS_VERSION2.0 ESCRIBA (“ **** Captura de datos del Estudiante ***** ”) PARA I 1 Hasta 15 Haga

ESCRIBA (“ Digite Código del Alumno “); Lea(CODIGO) ESCRIBA (“ Digite Nombre del alumno “); Lea(NOMBRE) ESCRIBA ( “ **** Ahora Mostraré unINFORME de datos leídos **** ” ) ESCRIBA (“ Código : “, CODIGO) ESCRIBA (“ Nombre : “, NOMBRE) FPARA FIN ALGORITMO ALUMNOS

Este algoritmo evidentemente procesa la información de los 15 alumnos pero tiene una falla, y es que al final del proceso ( por fuera del ciclo PARA) no podríamos hacer un informe que incluya los CODIGOS y NOMBRES de TODOS los alumnos cuya información se procesó, ya que cuandodigitemos el CODIGO y el NOMBRE del segundo alumno entonces esta nueva información SOBREESCRIBE a la primera, y al escribir la del tercer alumno se SOBREESCRIBE la del segundo y así sucesivamente, es decir, se BORRA el CODIGO y el NOMBRE del anterior estudiante; La razón: Dos datos NO pueden convivir simultáneamente en la misma posición de memoria, es decir, NO podemos resolver el problema con elenfoque que hemos planteado. Entonces, la solución es: NO UTILIZAR VARIABLES SIMPLES, sino una ESTRUCTURA DE DATOS para cada dato del alumno, esa ESTRUCTURA DE DATOS es un VECTOR Una estructura de datos es una organización de información dispuestos de manera lógica y coherente, de tal manera que se facilite el acceso a los datos que contiene. Según el dispositivo de almacenamiento, las Estructurasde Datos se clasifican en: ESTRUCTURAS EN MEMORIA PRINCIPAL y ESTRUCTURAS EN DISCO DURO. Por su parte, las Estructuras en Memoria RAM pueden clasificarse en dos grupos: ESTATICAS y DINAMICAS. El término ESTATICA hace referencia a que una vez se halla definido el tamaño de la estructura de datos este NO puede ser cambiado mientras se está ejecutando el programa (No se puede Ampliar Ni tampocoReducir ). VECTOR DE DATOS: Es una estructura estática que consiste en un conjunto de elementos que satisfacen lo siguiente: DEBE DIMENSIONARSE PREVIAMENTE TODOS LOS ELEMENTOS SON DE IGUAL TIPO LOS ELEMENTOS SE ALMACENA EN POSICIONES CONSECUTIVAS DE MEMORIA RAM

2

QUE ES DIMENSIONAR UN VECTOR ? es una acción que consiste en RESERVAR el tamaño que el vector ocupará en memoria, es decir, cual es lacantidad MAXIMA de elementos que tendrá el vector. Esta cantidad MAXIMA de elementos la deducimos según el problema que estemos resolviendo; por ejemplo: Si deseo almacenar los

CODIGOS de todos los alumnos de la clase y son aproximadamente 15 alumnos entonces lo aconsejable es reservar en memoria (Dimensionar) espacio para un poco mas de esos elementos, digamos 20, es decir, un poco por...
tracking img