Sie sind auf Seite 1von 4

324 -M/R

Versin 1
SEMANA 17

1era. Prueba Parcial 1/4


LAPSO 2014-1

UNIVERSIDAD NACIONAL ABIERTA


VICERRECTORADO ACADMICO
REA: INGENIERA
MODELO DE RESPUESTA
ASIGNATURA: Computacin II
MOMENTO: Primera Prueba Parcial
FECHA DE APLICACIN: 26-04-2014

MOD. I, UND. 1, OBJ.1

CDIGO: 324
VERSION: 1

CRITERIO DE DOMINIO 1/1

1- Tipo Abstracto de Datos.


a) El esquema propuesto seria, ver la Fig.1. Se propone el TAD Lista
Simple. Entre las operaciones estn: Suma, Resta, Multiplicacin,
Divisin, entre otros.
Figura 1.

b)
Type
tipo_nom = string[15];
apunt_nodo_lista = ^nodo_lista;
nodo_lista = record
nombre: tipo_nom;
prox_elemento: apunt_nodo_lista;
ant_elemento : apunt_nodo_lista;
end;

Especialista: Nelly Escorcha

Ingeniera de Sistemas

Evaluadora: Sandra Snchez

324 -M/R

Versin 1
SEMANA 17

1era. Prueba Parcial 2/4


LAPSO 2014-1

c) procedure Insertar_Cliente(var AP : apunt_nodo_lista; c: tipo_nom);


var AUX, NUEVO, ANT : apunt_nodo_lista ;
INSERTO
: boolean;
function CrearNodo : apunt_nodo_lista;
var
N : apunt_nodo_lista;
begin
new(N);
with N^ do
begin
prox_elemento := nil;
ant_elemento := nil;
nombre := c
end;
CrearNodo := N
end;
begin
NUEVO := CrearNodo;
AUX := AP ;
INSERTO := false;
if AUX = nil then AP := NUEVO
else
begin
while (AUX <> nil) and not INSERTO do
begin
if (c < AUX^.nombre) then
begin
INSERTO := true;
NUEVO^.prox_elemento := AUX;
NUEVO^.ant_elemento := AUX^.ant_elemento
end;
ANT := AUX;
AUX := AUX^.prox_elemento
end;
if not INSERTO then
begin
NUEVO^.ant_elemento := ANT;
ANT^.prox_elemento := NUEVO
end;
end;
if NUEVO^.ant_elemento <> nil then

Especialista: Nelly Escorcha

Ingeniera de Sistemas

Evaluadora: Sandra Snchez

324 -M/R

Versin 1
SEMANA 17

1era. Prueba Parcial 3/4


LAPSO 2014-1

writeln('Nodo anterior ', (NUEVO^.ant_elemento)^.nombre)


else begin
AP := NUEVO;
writeln('**NO HAY NODO PREDECESOR**');
end;
if NUEVO^.prox_elemento <> nil then
writeln('Nodo siguiente ', (NUEVO^.prox_elemento)^.nombre)
else writeln('**NO HAY NODO SUCESOR**')
end;

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 4 operaciones. Para cumplir
con lo exigido en la seccin b), debe indicar el correcto tipo de datos y
en la seccin c), debe escribir la codificacin correcta en Pascal
sealando el nombre del cliente anterior y el nombre del cliente
sucesor.
MOD. I, UND. 2, OBJ. 2

CRITERIO DE DOMINIO 1/1

2a) La estructura de datos mas apropiada es la de una cola lineal.


b) TYPE
tipo_num = integer;
tipo_estado = boolean;
apunt_nodo_cola = ^nodo_cola;
nodo_cola = record
num : tipo_num;
estado : tipo_estado;
prox_elem: apunt_nodo_cola;
end;
nodo_control = record
conteo
: integer;
cabeza : apunt_nodo_cola;
fin
: apunt_nodo_cola;
end;
Especialista: Nelly Escorcha

Ingeniera de Sistemas

Evaluadora: Sandra Snchez

324 -M/R

Versin 1
SEMANA 17

1era. Prueba Parcial 4/4


LAPSO 2014-1

procedure Asignar_empaque( var m : control; n : integer);


var
asignada : boolean;
ap : apunt_nodo_cola;
begin
if (m[n].conteo = 0) then writeln('Solo hasta 12 empaques')
else begin
ap := m[n].cabeza;
asignada := false;
repeat
if ap^.estado then
begin
writeln('Nmero de empaque a asignar para',n,' tuercas ', ap^.num);
ap^.estado := false;
asignada := true;
end
else
ap := ap^.prox_elem;
until (ap = nil) or asignada
end;
end;

Criterio de correccin: Se logra el objetivo si se realiza correctamente


y como se presenta la respuesta en la seccin a) y b).

FIN DEL MODELO DE RESPUESTA

Especialista: Nelly Escorcha

Ingeniera de Sistemas

Evaluadora: Sandra Snchez

Das könnte Ihnen auch gefallen