324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN: 05-03-2016 MOD. I, UND. 1, OBJ.1 CRITERIO DE DOMINIO 1/1 1- a) TAD: Para representar cada cadena de dígitos binarios se propone el uso del TAD cadena de caracteres o string. Otra manera de representar a cada cadena es empleando una estructura de vector unidimensional de caracteres cuyos únicos caracteres son ceros y unos. b) Operación Gray void gray(string cad, string &cadnueva) int i; cadnueva[0] = cad[0]; for(i=1; i < N;i++) cadnueva[i] = Xor(cad[i-1], cad[i]); Criterio de corrección: Se logra el objetivo si se construye un TAD semejante, considerando operaciones apropiadas. Es obligatorio elaborar correctamente la especificación del TAD y la operación Gray en lenguaje C++.
324 MR Versión 1 Prueba Integral 2/3 MOD. I, UND. 2, OBJ. 2 CRITERIO DE DOMINIO 1/1 2- TAD lista circular a- Codificación de la estructura: b- typedef struct nodo //tipo Nodo int numero; int dist ; struct nodo* sig; //apuntador al nodo sig nodo; typedef nodo *apunt; b- Operación Recorrido de la lista circular con cálculo de la distancia recorrida void Recorrido( apunt L) apunt ptaux; int acumdista; bool no_destino; acumdista = 0; no_destino = true; if (L == NULL) cout <<"Lista Vacia" << endl; ptaux = L; while (no_destino) acumdista= ++ ptaux->dist; printf("\n Visito ciudad %d",ptaux -> numero); ptaux = ptaux->sig; if (ptaux == L) no_destino = false; printf("\n La distancia recorrida es%d",acumdista); estructura de datos tipo lista circular con manejo dinámico de memoria y se elabora correctamente la función en C++ denominada Recorrido que visita cada nodo y acumula la distancia recorrida.
324 MR Versión 1 Prueba Integral 3/3 MOD. I, UND. 3, OBJ. 3 CRITERIO DE DOMINIO 1/1 3- TAD cola i) Función de distribución en tres colas void Distribuir(apunt &C, apunt &F, apunt &C1, apunt &F1, apunt &C2, apunt &F2, apunt &C3, apunt &F3) apunt pt, ptaux; int a,b; if (ColaVacia(C)== false) pt = C; while (pt!= NULL) ptaux = EliminarEnCola(C,F); a = ptaux-> numero; b = ptaux-> operacion; Extrae nodo a la cabeza de la cola general if ((b >=1)&&(b <= 3)) InsertarEnCola(C1,F1,a,b); if ((b >= 4)&&(b <= 6)) InsertarEnCola(C2,F2,a,b); InsertarEnCola(C3,F3,a,b); delete ptaux; pt = C; Inserta en Cola 1 Inserta en Cola 2 Inserta en Cola 3 ii) Estructura de datos typedef struct nodo //tipo Nodo int numero; int operacion ; struct nodo* sig; // apuntador al nodo siguiente nodo; typedef nodo *apunt; estructura de datos tipo cola con manejo dinámico de memoria y se elabora
324 MR Versión 1 Prueba Integral 4/3 correctamente la función Distribuir, en C++, que reparte los clientes en 3 colas según el tipo de operación que van a realizar. MOD. II, UND. 4, OBJ. 4 CRITERIO DE DOMINIO 1/1 4- TAD árbol Función recursiva Grado void Grado(apunt pt, int &grado) if ((pt->izq == NULL)&&(pt->der == NULL)) grado = 0; if((pt->izq == NULL) (pt->der == NULL)) grado = 1; grado = 2; Esta función será invocada desde la función recursiva HalleElemento, que busca el elemento en cuestión. El indicador ind se emplea para informar desde el programa principal si el elemento no está en el árbol y emitir el mensaje. void HalleElemento(apunt apt, int numero, bool ind) int grado; if (apt!= NULL) if (numero == apt-> num) Grado(apt,grado); printf("\n El grado del nodo es %d ", grado); ind = true; apt = NULL; HalleElemento(apt-> izq,numero, ind); HalleElemento(apt-> der,numero, ind);
324 MR Versión 1 Prueba Integral 5/3 Estructura de datos typedef struct nodoarbol //tipo Nodo int num ; struct nodoarbol* izq; // apuntador al nodo izquierdo struct nodoarbol* der; nodoarbol; typedef nodoarbol *apunt; estructura de datos tipo árbol con manejo dinámico de memoria y se elabora correctamente una función en C++ que halle un elemento dado en un árbol de búsqueda y el grado del nodo en donde se encuentra. Nota: Para codificar, compilar y posteriormente ejecutar los algoritmos diseñados en C++, se empleó Dev C++. FIN DEL MODELO DE RESPUESTA