elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 02:04  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  Pilas y Colas Pascal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pilas y Colas Pascal  (Leído 1,321 veces)
vanchopper

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Pilas y Colas Pascal
« en: 30 Marzo 2011, 07:29 »

hola , que tal ... quería saber si alguien podría ayudarme con este programa , orientándome o mucho mejor dándome el código. Ya que en la facultad nos han largado a programar y no hemos visto ni un ejercicio de ejemplo para dar una idea de como manejarnos..Eh buscado en Internet y un libro pero son muy sencillos o tocan temas como recursividad que no hemos llegado.
espero que alguien me pueda ayudar, desde ya muchas gracias.

- Se lee una secuencia de caracteres terminada en punto. Los caracteres forman palabras
separadas por un único blanco (no hay blanco después de la última palabra). Informar la cantidad
de veces que aparece la última palabra en la secuencia. Además para cada palabra determinar si
tiene o no mayor cantidad de vocales que de consonantes.




En línea
Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
Re: Pilas y Colas Pascal
« Respuesta #1 en: 30 Marzo 2011, 13:31 »

Hola vanchopper, en este foro no se realizan tareas.

En el ejercicio, yo no veo que te pidan realizar la tarea con pilas o colas. La forma más sencilla sería ir guardando los caracteres en un string leyendo con Read. Luego con bucles y condicionales puedes hacer todo lo que piden. Para copiar partes de una cadena, desde una posición determinada tienes la función copy, que funciona igual que substr en otros lenguajes de programación.

Saludos.


En línea

vanchopper

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Pilas y Colas Pascal
« Respuesta #2 en: 31 Marzo 2011, 01:27 »

Bueno krhonos no pido que me hagan la tarea  , como dice el post , pido que me orienten o si es posible que me pasen el código de este ejercicio, para darme cuenta la lógica de pilas  y colas.
El ejercicio debe ser echo con pilas y colas , ya que así lo exige la catedra.
espero que me puedan ayudar.
En línea
Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
Re: Pilas y Colas Pascal
« Respuesta #3 en: 31 Marzo 2011, 13:27 »

Hola vanchopper, tuve un poco de tiempo libre y echaba de menos Pascal así que hice este pequeño programa:

Código
program Colas;
 
{$APPTYPE CONSOLE}
 
uses
 SysUtils;
 
type
 TPalabra = packed record
   Palabra: PAnsiChar; //^AnsiChar;
   SiguientePalabra: ^TPalabra;
 end;
 PCola = ^TPalabra;
 
var
 Cola: PCola;
 PrimeraPalabra, UltimaPalabra: PCola;
 
function AñadirPalabra(Palabra: PAnsiChar): boolean;
var
P: PCola;
begin
result:= false;
 if Palabra <> nil then
   begin
     New(P);
     if P = nil then
       begin
         WriteLn('No se pudo reservar memoria para la cola');
         Exit;
       end;
 
     GetMem(P^.Palabra, StrLen(Palabra) + 1); //+1 para el caracter #0 de final de cadena
     if P^.Palabra = nil then
       begin
         WriteLn('No se pudo reservar memoria para la palabra');
         Exit();
       end;
     StrCopy(P^.Palabra, Palabra);
 
     if PrimeraPalabra = nil then
       begin
         Cola:= P;
         PrimeraPalabra:= Cola;
       end else
         begin
           Cola^.SiguientePalabra:= Pointer(P);
           Cola:= PCola(Cola^.SiguientePalabra);
           UltimaPalabra:= PCola(Cola^.SiguientePalabra);
         end;
 
     result:= true;
   end;
end;
 
procedure LiberarMemoria;
var
P, PAux: PCola;
begin
P:= PrimeraPalabra;
 while P <> nil do
   begin
     FreeMem(P^.Palabra);
     PAux:= PCola(P^.SiguientePalabra);
     Dispose(P);
     P:= PAux;
   end;
end;
 
var
P: PCola;
begin
 AñadirPalabra('Primera palabra');
 AñadirPalabra('Palabra de prueba');
 AñadirPalabra('qwdqwd');
 AñadirPalabra('qwdqwd');
 AñadirPalabra('qwdqwd');
 AñadirPalabra('by Khronos');
 
 P:= PrimeraPalabra;
 while P <> nil do
   begin
     WriteLn(P^.Palabra);
     P:= PCola(P^.SiguientePalabra);
   end;
 ReadLn;
 LiberarMemoria();
end.
 

Aquí tienes un pequeño programa que trabaja con Colas. El código está hecho en Delphi 2010, pero si trabajas con FreePascal no deberías tener ningún problema. Quizás deberías buscar en Internet información sobre las funciones New, Dispose, GetMem y FreeMem...

Con estas funciones, deberías ser capaz de hacer tu ejercicio.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
|Solucionado| Juego con colas y pilas.
Programación General
Littlehorse 2 2,753 Último mensaje 8 Abril 2009, 16:35
por Littlehorse
Ayuda con Pilas y Colas
Programación Visual Basic
[Decoded] 5 2,221 Último mensaje 30 Agosto 2010, 15:06
por goldarg
Ayuda con Pilas y Colas
Programación C/C++
HeavyPsychedelic 1 790 Último mensaje 26 Octubre 2010, 18:57
por Littlehorse
Pilas y Colas
Java
Shell Root 2 2,097 Último mensaje 13 Mayo 2011, 22:35
por ShotgunLogic
Colas, pilas y arbole
Programación Visual Basic
Crarmon 0 205 Último mensaje 14 Julio 2011, 19:12
por Crarmon
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines