PROCEDURE encriptar (VAR palabra:string)
Var
Pila:TPila;
Cola:TCola;
Car:Char;
i:Integer;
sacarpila:boolean;
aux:string;
Begin
sacarpila:=false;
i:=1;
While (i<length(palabra)) do
Begin
if Not(palabra[i] in ['a','e','i','o','u'])
then Cola.Meter(palabra[i])
else Begin
While (palabra[i] in ['a','e','i','o','u']) do
Begin
Pila.Meter(palabra[i]);
i:=i+1
End;
sacarpila:=true;
i:=i-1
End;
if sacarpila then
Begin
While Not(Pila.EsVacia) do
Begin
car:=Pila.Sacar;
Cola.Meter(car)
End;
sacarpila:=false
End;
i:=i+1
End;
While Not(Cola.EsVacia) do aux:=aux+Cola.Sacar;
palabra:=aux;
End;