Você está na página 1de 5

324

MR

Versin 1

Primera Integral
Lapso 2009/1

1/4

UNIVERSIDAD NACIONAL ABIERTA


VICERRECTORADO ACADMICO
REA INGENIERA
MODELO DE RESPUESTA
ASIGNATURA: Computacin II
MOMENTO: Primera Integral
FECHA DE APLICACIN: 02/05/09;

CDIGO:

MOD. I, UND. 1, OBJ.1

324
VERSIN:1

CRITERIO DE DOMINIO 1/1

1- Tipo Abstracto de Datos. El siguiente es un modelo del TAD : a) Se propone


el uso de cadenas de caracteres(strings) para operar con cadenas de Fibonacci
y operaciones de Contar caracteres de un tipo, K_sima cadena, Longitud de
la cadena, Concatenar 2 cadenas, Extraer caracteres, y Partir cadenas, entre
otras.

TAD Cadena:
(Fibonacci)
1- K-sima cadena

8- Dada una cadena,


determinar si es o no
Fibonacci

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

b) Tipo de Dato (PASCAL):

type
cadena = string[255];

La operacin a implementar es hallar la k-sima cadena de Fibonacci, esto se


hace a travs de la funcin K_esima, la cual se expone a continuacin:

Ingeniera de Sistemas

324

MR

Versin 1

Primera Integral
Lapso 2009/1

2/4

Function K_esima (S,T: cadena; k: integer): cadena;


var
V, V1,V2 : cadena;
i : integer;
begin
V1 := S;
V2 := T;
for i := 3 to k do
begin
V := Concat(V1,V2);
V1 := V2;
V2:= V;
end;
K_esima := V;
end; {K_esima}

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.

Criterio de correccin: Se logra el objetivo si se realiza lo solicitado en las dos


secciones. Con respecto a la seccin a) deber describir el TAD apropiado,
contemplando al menos 3 operaciones mencionadas en la descripcin de la situacin.
Para cumplir con lo exigido en la seccin b), debe implementarse una operacin en
Pascal. En este modelo se present la operacin K_esima cadena, a travs de la
funcin K_esima.
MOD. I, UND. 2, OBJ. 2

CRITERIO DE DOMINIO 1/1

2- a) Estructura de datos: La estructura de datos


enlazada, con manejo dinmico de memoria.

a emplear es la lista lineal

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

MOD. II, UND. 3, OBJ. 3

4/4

CRITERIO DE DOMINIO 1/1

3- Arbol binario de bsqueda


Especificacin del nodo en PASCAL:
Type
apunt_arbol = ^nodo_arbol;
nodo_arbol = record
elemento: integer;
izq,der: apunt_arbol
end;
Procedimiento recursivo: Intercambio
procedure Intercambio(var AP :apunt_arbol);
begin
if AP <> nil then
begin
if (AP ^.izq = nil) and (AP ^.der <> nil) then
begin
AP^.izq := AP^.der;
AP^.der := nil;
end

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

Você também pode gostar