Escolar Documentos
Profissional Documentos
Cultura Documentos
MR
Versin 1
Primera Integral
Lapso 2009/1
1/4
CDIGO:
324
VERSIN:1
TAD Cadena:
(Fibonacci)
1- K-sima cadena
7- Sustituir
caracteres de un
tipo por otro tipo
2- Longitud de
la cadena
3- Contar caracteres
de un tipo
4- Concatenar
cadenas
5- Extraer
caracteres de un
tipo
6-Partir
cadenas
Figura 1
type
cadena = string[255];
Ingeniera de Sistemas
324
MR
Versin 1
Primera Integral
Lapso 2009/1
2/4
S y T son S1 = a y S2 = b
La iteracin se inicia con k =3, ya que se comienza a generar las cadenas a partir
de S3, que es la concatenacin de S1 y S2.
Es importante destacar que el tipo de dato string (cadena) tiene una longitud
mxima de 255 caracteres. Si se quiere obtener cadenas ms largas, debe
analizarse el uso de una estructura de datos que permita almacenarlas. Por otra
parte, la funcin que se implement es iterativa, pero es posible hacerlo de manera
recursiva, lo cual la hace ms eficiente.
Ingeniera de Sistemas
324
MR
Versin 1
Primera Integral
Lapso 2009/1
Type
tipo_nom = string[10];
tipo_mes = string[3];
apunt_nodo_lista = ^nodo_lista;
nodo_lista = record
nombre: tipo_nom;
cumple: tipo_mes;
prox_elemento: apunt_nodo_lista;
end;
b) Procedimiento
procedure Buscar_mes(AP : apunt_nodo_lista; mes: tipo_mes);
var
AUX : apunt_nodo_lista;
hay : boolean; { switch que detecta si hay personas en el mes dado}
begin
AUX := AP;
hay := false;
while (AUX <> nil) do { recorrido de la lista}
begin
if( AUX^. cumple = mes) then
begin
writeln( AUX^.nombre, ' cumple el mes de ',mes);
hay := true;
end;
AUX := AUX^.prox_elemento
end;
if not hay then writeln(' ninguna persona cumple el mes de ',mes);
end; {Buscar_mes}
Ingeniera de Sistemas
3/4
324
MR
Versin 1
Primera Integral
Lapso 2009/1
4/4
Si el enlace nulo es
el izquierdo,
intercambia
else if (AP ^.izq <> nil) and (AP ^.der = nil) then Si el enlace nulo es
begin
el derecho,
AP^.der := AP^.izq;
intercambia
AP^.izq := nil;
end;
Intercambio(AP^.izq);
Intercambio(AP^.der);
end;
end; {Intercambio}
Al realizar los intercambios de los nodos, el rbol no mantendr su estructura
de rbol de bsqueda.
Criterio de correccin: Se logra el objetivo si se resuelve el problema planteado
empleando una estructura de rbol binario, con un procedimiento recursivo de
recorrido, que detecte los casos en que hay nodos con un solo hijo, e intercambie
los enlaces del nodo padre.
FIN DEL MODELO DE RESPUESTA
Ingeniera de Sistemas
324
MR
Versin 1
Primera Integral
Lapso 2009/1
Ingeniera de Sistemas
5/4