324 MR Versión 1 1° Prueba Integral 1/5 Lapso

Anuncio
324 MR
Versión 1
UNIVERSIDAD NACIONAL ABIERTA
VICERRECTORADO ACADÉMICO
ÁREA INGENIERÍA
1° Prueba Integral
Lapso 2012-1
1/5
Semana 28
MODELO DE RESPUESTA
ASIGNATURA: Computación II
MOMENTO: Primera Integral
FECHA DE APLICACIÓN : 14/07/2012
MOD. I, UND. 1, OBJ.1
•
•
•
•
•
CÓDIGO: 324
CRITERIO DE DOMINIO 1/1
Tipo Abstracto de Datos. El siguiente es un modelo del TAD: a) Se
propone el uso de Matrices y las operaciones Insertar: inserta una
palabra x en la matriz.
Eliminar: elimina una palabra x, puede ser según la posición o por la
palabra en sí.
Buscar: busca una palabra.
Localizar: obtiene la posición de una palabra.
Vaciar: borra todas las palabras
Figura 1. Esquema de la matriz
b) Tipo de Dato (PASCAL):
Const
N = 100;
Type
Cadena = string(15);
matriz = array[1..N,1..2] of cadena;
var
A
: matriz;
Especialista: Nelly Escorcha
Ingeniería de Sistemas
Evaluador: Carmen Velásquez
324 MR
Versión 1
1° Prueba Integral
Lapso 2012-1
2/5
Procedure Buscar (var A: matriz, palabra: cadena);
var
i
: integer;
palabra
: cadena;
Encontrado
: boolean;
begin
i=1
Encontrado=false
While (not Encontrado and i<=N ) do
begin
if palabra=A(i,1) then
begin
writeln (´Sinonimo: ',A(i,2));
Encontrado= true;
i=i+1;
end;
end;
if (not Encontrado) then writeln('Palabra no encontrada ');
end; \*Fin Buscar
Criterio de corrección: Se logra el objetivo si se realiza lo solicitado en las dos
secciones. Con respecto a la sección a) deberá describir el TAD apropiado,
contemplando al menos 3 operaciones posibles. Para cumplir con lo exigido en la
sección b) debe implementarse correctamente la Búsqueda en el archivo
MOD. I, UND. 2, OBJ. 2
CRITERIO DE DOMINIO 1/1
1- Estructuras lineales de datos
a- La estructura de datos mas apropiada es la de colas, en donde los elementos
son atendidos estrictamente por orden de llegada (FIFO). Se mantienen
apuntadores a la cabeza y fin de la cola, (ver Figura 2).
b- Una cola es una estructura de datos caracterizada por ser una secuencia de
elementos en la que la operación de inserción push se realiza por un extremo y
la operación de extracción pop por el otro. Las operaciones más comunes son:
buscar cola según el tipo, insertar en la cola, eliminar de la cola, cola vacía,
cola llena y longitud de la cola, entre otras.
Especialista: Nelly Escorcha
Ingeniería de Sistemas
Evaluador: Carmen Velásquez
324 MR
Versión 1
1° Prueba Integral
Lapso 2012-1
3/5
Figura 2
c) Especificación de las estructuras de datos y procedimiento Solicitudes
El procedimiento Solicitudes; consiste en crear una cola de solicitudes y
atenderlas por numero de solicitud.
program colas;
uses WinCrt;
const N=5;
Type
tcola = ^nodo;
nodo = Record
Num_repuesto : integer;
Num_solicitud: integer;
sig : tCola;
end;
TArr = array[1..N,1..2] of integer;
var
matriz : TArr;
repuesto: integer;
ch
: char;
cab,fin: tcola;
Especialista: Nelly Escorcha
Ingeniería de Sistemas
Evaluador: Carmen Velásquez
324 MR
Versión 1
1° Prueba Integral
Lapso 2012-1
4/5
Procedure Solicitudes(var matriz: Tarr; Var cab : tcola; Var fin:tcola );
Var
nuevo : tcola;
aux: tcola;
numsol, numrep,cantidad :integer;
begin
repeat
if not Vacia(cab) then
begin
numsol := cab^.Num_solicitud;
numrep := cab^.Num_repuesto;
writeln ('Numero Sol: ',numsol,' Numero Rep: ',numrep);
writeln;
BuscarTabla(matriz,numrep,cantidad);
if cantidad= 0 then
writeln (' No hay existencias del repuesto')
else
writeln ('Hay ',cantidad,' unidades');
aux:= cab^.sig;
dispose(cab);
cab:=aux;
end
else writeln ('La cola esta vacia');
until (cab=nil);
end;
Criterio de corrección: Se logra el objetivo si se realiza correctamente todo lo
solicitado en las tres secciones de la pregunta, debe utilizar manejo dinámico de
memoria y la estructura de colas.
MOD. II, UND. 3, OBJ. 3
CRITERIO DE DOMINIO 1/1
2- Operación con un árbol binario.
const N=3;
Type
TipoDato= string[15];
cadena= string[15];
{ Vamos a guardar texto, por ejemplo }
Puntero = ^TipoBase;
{ El puntero al tipo base }
Especialista: Nelly Escorcha
Ingeniería de Sistemas
Evaluador: Carmen Velásquez
324 MR
Versión 1
TipoBase = record
dato: cadena ;
hijoIzq: Puntero;
hijoDer: Puntero;
end;
1° Prueba Integral
Lapso 2012-1
5/5
{ El tipo base en sí: }
{ - un dato }
{ - puntero a su hijo izquierdo }
{ - puntero a su hijo derecho }
TArr = array[1..N,1..N] of cadena;
var
matriz : TArr;
palabra: cadena;
ch
: char;
procedure Insertar(var punt: puntero; x: TipoDato);
var AUX, AUX1, NUEVO : puntero;
begin
AUX := punt;
AUX1 := punt;
while (AUX <> nil) do
begin
AUX1 := AUX;
if (x <= AUX^.dato) then AUX := AUX^.hijoIzq
else AUX := AUX^.hijoDer
end;
NUEVO := NuevoNodo(x);
if (punt = nil) then punt := NUEVO
else if (x <= AUX1^.dato) then AUX1^.hijoIzq := NUEVO
else if (x > AUX1^.dato) then AUX1^.hijoDer := NUEVO;
end;
Criterio de corrección: Se logra el objetivo si se resuelve el problema
planteado empleando una estructura de árbol binario. Se deben especificar la
estructura de datos empleada.
FIN DEL MODELO
Especialista: Nelly Escorcha
Ingeniería de Sistemas
Evaluador: Carmen Velásquez
Descargar