3241pm Solución Computación II

4
324 -M/R Versión 1 1era. Prueba Parcial 1/4 SEMANA 17 LAPSO 2014-1 Especialista: Nelly Escorcha Ingeniería de Sistemas Evaluadora: Sandra Sánchez UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA: INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Primera Prueba Parcial FECHA DE APLICACIÓN: 26-04-2014 VERSION: 1 MOD. I, UND. 1, OBJ.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 están: Suma, Resta, Multiplicación, División, 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;

description

Solución de Examen

Transcript of 3241pm Solución Computación II

Page 1: 3241pm Solución Computación II

324 -M/R Versión 1 1era. Prueba Parcial 1/4 SEMANA 17 LAPSO 2014-1

Especialista: Nelly Escorcha Ingeniería de Sistemas Evaluadora: Sandra Sánchez

UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA: INGENIERÍA

MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Primera Prueba Parcial FECHA DE APLICACIÓN: 26-04-2014 VERSION: 1 MOD. I, UND. 1, OBJ.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 están: Suma , Resta , Multiplicación , División , 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;

Page 2: 3241pm Solución Computación II

324 -M/R Versión 1 1era. Prueba Parcial 2/4 SEMANA 17 LAPSO 2014-1

Especialista: Nelly Escorcha Ingeniería de Sistemas Evaluadora: Sandra Sánchez

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 no t 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

Page 3: 3241pm Solución Computación II

324 -M/R Versión 1 1era. Prueba Parcial 3/4 SEMANA 17 LAPSO 2014-1

Especialista: Nelly Escorcha Ingeniería de Sistemas Evaluadora: Sandra Sánchez

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 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 4 operaciones. Para cumplir con lo exigido en la sección b), debe indicar el correcto tipo de datos y en la sección c), debe escribir la codificación correcta en Pascal señalando el nombre del cliente anterior y el nombre del cliente sucesor. MOD. I, UND. 2, OBJ. 2 CRITERIO DE DOMINIO 1/1 2- a) 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;

Page 4: 3241pm Solución Computación II

324 -M/R Versión 1 1era. Prueba Parcial 4/4 SEMANA 17 LAPSO 2014-1

Especialista: Nelly Escorcha Ingeniería de Sistemas Evaluadora: Sandra Sánchez

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('Número 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 corrección: Se logra el objetivo si se realiza correctamente y como se presenta la respuesta en la sección a) y b).

FIN DEL MODELO DE RESPUESTA