Está en la página 1de 8

Programación II

Práctica Calificada 2
Pregrado
2023-I
Profesor: José A. Chávez Álvarez
Lab 1.03

Indicaciones especı́ficas:
• Esta evaluación contiene 8 páginas (incluyendo esta página) con 3 preguntas. El total
de puntos son 20.

• El tiempo lı́mite para la evaluación es 100 minutos.

• Cada pregunta deberá ser respondida en un solo archivo con el número de la pregunta.

– p1.cpp
– p2.cpp
– p3.cpp

• Deberás subir estos archivos directamente a www.gradescope.com, uno en cada ejerci-


cio. También puedes crear un .zip

Competencias:
• Para los alumnos de la carrera de Ciencia de la Computación
Aplicar conocimientos de computación y de matemáticas apropiadas para la disci-
plina. (Evaluar)
Analizar problemas e identificar y definir los requerimientos computacionales apropi-
ados para su solución.(Usar)
Utilizar técnicas y herramientas actuales necesarias para la práctica de la com-
putación. (Usar)

• Para los alumnos de las carreras de Ingenierı́a


Capacidad de aplicar conocimientos de matemáticas (nivel 3)
Capacidad de aplicar conocimientos de ingenierı́a(nivel 2)
Capacidad para diseñar un sistema, un componente o un proceso para satisfacer
las necesidades deseadas dentro de restricciones realistas (nivel 2)
CS1112 Práctica Calificada 2 - Página 2 de 8 2023-I

Calificación:
Tabla de puntos (sólo para uso del professor)
Question Points Score
1 7
2 6
3 7
Total: 20
CS1112 Práctica Calificada 2 - Página 3 de 8 2023-I

1. (7 points) Matrices con Punteros

En el presente problema implemente:

• La función crearMatriz para crear una matriz de rows × cols.


• La función inicializar para inicializar la matriz con valores aleatorios en 0 y 9.
• La función modificar(i,j,x) para acceder y modificar el elemento en la posición
(i, j) con de la matriz con el valor x.
• La función printMatriz para imprimir la matriz.

Complete estas funciones en el siguiente programa:


Listing 1: Ejemplo 1
# include < iostream >

// ===============================================
// Implemente aqui las funciones

// ===============================================

int main () {
int rows = 3 , cols = 3;
int ** M = crearMatriz ( rows , cols ) ;
inicializar (M , rows , cols ) ;

modificar (M , 0 , 0 , 7) ;
modificar (M , 1 , 1 , 7) ;
modificar (M , 2 , 2 , 7) ;

printMatriz (M , rows , cols ) ;

// Completar : Libera la memoria de la matriz

El posible resultado serı́a:


Listing 2: Ejemplo 1
7 1 4
0 7 3
1 8 7

La rúbrica para esta pregunta es:


CS1112 Práctica Calificada 2 - Página 4 de 8 2023-I

Criterio Excelente Adecuado Mı́nimo Insuficiente


Ejecución El diseño del El diseño del al- La ejecución es La ejecución
algoritmo es or- goritmo es orde- correcta (1pts). no es correcta
denado y claro, nado y claro. La (0.5pts)
siguiendo bue- ejecución es cor-
nas prácticas en recta (2pts)
programación.
La ejecución es
correcta (3pts)
Sintaxis No existen er- Existen al- Existen errores El código tiene
rores sintácticos gunos errores sintácticos en errores de
o de compilación sintácticos de la forma de sintáxis que
(2pts) menor rele- ejecución, que afectan el resul-
vancia, que no no afectan el re- tado (0.5pts).
afectan el resul- sultado (1pts).
tado (1.5pts).
Optimizacion El código es El codigo es de El codigo no El codigo no está
óptimo y efi- buen perfor- está optimizado optimizado y la
ciente. De buen mance durante pero la eje- ejecución es defi-
performance la ejecución cución no es ciente (0pts).
e interacción (1.5pts). deficiente(1pts).
con el usuario
(2pts)
CS1112 Práctica Calificada 2 - Página 5 de 8 2023-I

2. (6 points) Vectores

En el presente problema implemente:

• La función eliminar pares que elimine elementos pares de un vector.


• La función girar horizontalmente que gire horizontalmente un vector.
• La función print para imprimir un vector

Complete estas funciones en el siguiente programa:


// ===============================================
// Implemente aqui las funciones

// ===============================================

int main () {
vector < int > vec = {1 , 2 , 4 , 7 , 3 , 2 , 4 , 5};

eliminar_pares ( vec ) ;
cout << " Sin ␣ pares : ␣ " ;
print ( vec ) ;

girar_horizontalmente ( vec ) ;
cout << " Girado : ␣ " ;
print ( vec ) ;
}

Resultado:
Sin pares : 1 7 3 5
Girado : 5 3 7 1
CS1112 Práctica Calificada 2 - Página 6 de 8 2023-I

La rúbrica para esta pregunta es:

Criterio Excelente Adecuado Mı́nimo Insuficiente


Ejecución El diseño del El diseño del al- La ejecución es La ejecución
algoritmo es or- goritmo es orde- correcta (1pts). no es correcta
denado y claro, nado y claro. La (0.5pts)
siguiendo bue- ejecución es cor-
nas prácticas en recta (1.5pts)
programación.
La ejecución es
correcta (2pts)
Sintaxis No existen er- Existen al- Existen errores El código tiene
rores sintácticos gunos errores sintácticos en errores de
o de compilación sintácticos de la forma de sintáxis que
(2pts) menor rele- ejecución, que afectan el resul-
vancia, que no no afectan el re- tado (0.5pts).
afectan el resul- sultado (1pts).
tado (1.5pts).
Optimizacion El código es El codigo es de El codigo no El codigo no está
óptimo y efi- buen perfor- está optimizado optimizado y la
ciente. De buen mance durante pero la eje- ejecución es defi-
performance la ejecución cución no es ciente (0pts).
e interacción (1.5pts). deficiente(1pts).
con el usuario
(2pts)
CS1112 Práctica Calificada 2 - Página 7 de 8 2023-I

3. (7 points) Clases y Objetos

Implemente la clase Conjunto que permita agregar, eliminar e imprimir los elementos en
un conjunto. A diferencia de un vector, en un conjunto no se pueden repetir elementos.
Implemente la clase en el siguiente programa:

# include < iostream >

using namespace std ;

// ======================================================
// Completar aqui la clase Conjunto

// ======================================================

int main () {
Conjunto c1 ; // Conjunto vacio , c1 = {}
c1 . insertar (1) ;
c1 . insertar (2) ;
c1 . insertar (1) ;

c1 . print () ; // Resultado : 1 2

Conjunto c2 ( c1 ) ;
c2 . insertar (3) ;
c2 . print () ; // Resultado : 1 2 3

c2 . eliminar (2) ;
c2 . print () ; // Resultado : 1 3
}

El resultado deberı́a ser el siguiente:


1 2
1 2 3
1 3
CS1112 Práctica Calificada 2 - Página 8 de 8 2023-I

La rúbrica para esta pregunta es:

Criterio Excelente Adecuado Mı́nimo Insuficiente


Ejecución El diseño del El diseño del al- La ejecución es La ejecución
algoritmo es or- goritmo es orde- correcta (1pts). no es correcta
denado y claro, nado y claro. La (0.5pts)
siguiendo bue- ejecución es cor-
nas prácticas en recta (2pts)
programación.
La ejecución es
correcta (3pts)
Sintaxis No existen er- Existen al- Existen errores El código tiene
rores sintácticos gunos errores sintácticos en errores de
o de compilación sintácticos de la forma de sintáxis que
(2pts) menor rele- ejecución, que afectan el resul-
vancia, que no no afectan el re- tado (0.5pts).
afectan el resul- sultado (1pts).
tado (1.5pts).
Optimizacion El código es El codigo es de El codigo no El codigo no está
óptimo y efi- buen perfor- está optimizado optimizado y la
ciente. De buen mance durante pero la eje- ejecución es defi-
performance la ejecución cución no es ciente (0pts).
e interacción (1.5pts). deficiente(1pts).
con el usuario
(2pts)

También podría gustarte