Autor Tema: Ayuda en PASCAL! pilas estructura datos  (Leído 4563 veces)

Yvana21

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Ayuda en PASCAL! pilas estructura datos
« en: 22 de Enero 2014, 20:10 »
Hola, necesito hacer un programa en pascal utilizando pilas... No se mucho del tema, quisiera saber si alguien me podría ayudar, se lo agradecería mucho :D

El enunciado es el siguiente:

 Dada un pila de libros, identificado por su título, instrumentar un proceso que permita la búsqueda de un título. Los libros desapilados en la búsqueda se ordenan en una segunda pila a medida que se van quitando de la primera. Mostrar el libro extraído y el estado de las dos pilas. Si el libro no se encontrara en la pila deberá informarse este suceso. Los títulos son los siguientes:


*El combustible espiritual
*Gente tóxica
*La última lección
*Operación traviata
*Aquella cuidadana
*La apelación
*La pasión según Carmela
*Un hombre en la oscuridad.

« Última modificación: 02 de Septiembre 2014, 18:52 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ayuda en PASCAL!
« Respuesta #1 en: 22 de Enero 2014, 22:20 »
Hola, habría distintas maneras de hacerlo. Lo primero es tener claro que una pila es una estructura de datos donde sólo se puede interactuar con un elemento: el que está en la cima de la pila. Puedes simular pilas usando arrays (vectores), o bien puedes definir una pila usando punteros. Para usar punteros necesitas conocimientos más avanzados.

Crear una pila simulada con arrays para insertar los títulos de los libros:

TYPE
TIPOPILA=RECORD
DATOS:=ARRAY[1.. MAX] OF STRING;
CIMA:=0… MAX
END;
VAR
PILA1,PILA2:TIPOPILA; 

Aquí por ejemplo PILA1.CIMA te indica cuál es el elemento en la cima

La adición de un elemento en la pila la harías así:

PILA1.CIMA:=PILA1.CIMA +1;
PILA1.DATOS[PILA1.CIMA]:=ELEMENTOAINSERTAR;


Crear una pila basada en punteros:

TIPOPILA:=^NODO
NODO=RECORD
INFO:=STRING;
SIG:=TIPOPILA
END;

Aquí tenemos una estructura de datos recursiva, esto es más complejo de entender.

Lo más sencillo puede ser que definas tu pila usando arrays. En ella inserta los libros (cada libro con su índice). Cuando tengas la pila llena, puedes hacer una búsqueda eliminando el elemento de esa pila y pasándolo a la otra buscando una coincidencia.


Yvana21

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re:Ayuda en PASCAL!
« Respuesta #2 en: 22 de Enero 2014, 23:15 »
Gracias!, Bueno estoy trabajando con punteros...Quizás por eso me cueste más, pero gracias por el aporte :D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".