Está en la página 1de 8

Programación II

Práctica Calificada 1
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 1 - Página 2 de 8 2023-I

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

1. (7 points) Estructuras de Control


Implemente un programa que muestre números primos. Recuerde que un número primo
es aquel que es divisible entre 1 y el mismo número. El programa debe tener los siguientes
requerimientos:

• Solicitar un número entero mayor o igual a 2. Si se ingresa un número menor a 2,


el programa debe volver a solicitar un número.
• Si se ingresó un entero válido n, entonces el programa debe imprimir los primeros
n primos.

Un ejemplo del diálogo de este programa serı́a:


Listing 1: Ejemplo 1
Ingrese n : -1
Ingrese n : 0
Ingrese n : 2

Los primeros 2 primos son : 2 3

Listing 2: Ejemplo 1
Ingrese n : 10

Los primeros 10 primos son : 2 3 5 7 11 13 17 19 23 29

La rúbrica para esta pregunta es:


CS1112 Práctica Calificada 1 - 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 sintaxis 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).
Optimización El código es El código es de El codigo no El código 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 1 - Página 5 de 8 2023-I

2. (6 points) Funciones

Utilizando recursividad, implemente una función que simule el lanzamiento de un dado.


La función debe tener los siguientes requerimientos:

• El resultado de lanzar el dado debe ser un número entero con seis posibilidades: 1,
2, 3, 4, 5 y 6.
• Si al lanzar el dado, el resultado es igual a 6, entonces se debe volver a lanzar el
dado.
• Si al lanzar el dado, el resultado es menor a 6, entonces detenerse y retornar el
resultado.
• El resultado debe acumularse en caso se haya lanzado el dado varias veces.

Algunos ejemplos de diálogo de este programa serı́an:


Listing 3: En la función principal
int main () {
lanzar_dado () ;
}

Listing 4: Resultado 1
Lanzando ... 5
Resultado : 5

Listing 5: Resultado 2
Lanzando ... 6 5
Resultado : 11

Listing 6: Resultado 3
Lanzando ... 6 6 6 1
Resultado : 19

La rúbrica para esta pregunta es:


CS1112 Práctica Calificada 1 - Página 6 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 (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 sintaxis 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).
Optimización El código es El código es de El código no El código 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 1 - Página 7 de 8 2023-I

3. (7 points) Punteros
Implemente un programa que permita adivinar un número generado de manera aleatoria
entre 0 y 9. Los requerimientos del programa son:

• Implemente una función que tome como parámetro el puntero a un número entero.
Dentro de la función se debe asignar un valor aleatorio a este número.
• La función debe solicitar el ingreso de un número y verificar si es igual al número
aleatorio creado.
• Si el jugador ingresa un número igual al aleatorio, entonces mostrar: “Usted Gana!”.
En total el jugador debe tener tres intentos para acertar.
• En caso el jugador falle los tres intentos, el número aleatorio debe de cambiar. Y
el jugador deberá recuperar sus tres intentos. Ası́ hasta que el jugador gane.

Algunos ejemplos de diálogo de este programa serı́an:


Listing 7: Ejemplo 1

// POR COMPLETAR

int main () {
// POR COMPLETAR
jugar ( p ) ;
}

Listing 8: Ejemplo 1
Generando aleantorio ... // aleatorio = 7
Ingrese un numero ( intento #1) : 1
Ingrese un numero ( intento #2) : 7
Usted Gana !

Listing 9: Ejemplo 1
Generando aleatorio ... // aleatorio = 8
Ingrese un numero ( intento #1) : 1
Ingrese un numero ( intento #2) : 3
Ingrese un numero ( intento #3) : 6
Reseteando aleatorio ... // aleatorio = 3
Ingrese un numero ( intento #1) : 1
Ingrese un numero ( intento #1) : 2
Ingrese un numero ( intento #1) : 3
.
.
.

La rúbrica para esta pregunta es:


CS1112 Práctica Calificada 1 - Página 8 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 sintaxis 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 código es de El código no El código 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