Está en la página 1de 2

Programación II Examen

4to semestre mayo de 2023

Lea completamente el examen antes de iniciar con su resolución.


Entregue en clase la solución a los numerales del 1 al 4. Tiene hasta el miércoles 3 de mayo a las 23:50 pm para
entregar la solución al resto de los numerales. El nombre de cada programa debe tener como prefijo boleta (signo
de subrayado seguido de su número de boleta, sin espacios). El asunto del correo debe tener el prefijo indicado en
clase, seguido de espacio, seguido de su númeor de boleta, seguido de espacio, seguido de parcial 1. Los programas
que entregue deben estar en un archivo boleta parcial1.zip. Solo debe entregar código fuente, el cual puede
estar dentro de una distribución de carpetas, pero no debe entregar archivos de otro tipo, de hacerlo, se considerará
como tarea entregada incorrectramente y no se considerará como no entregado el numeral que corresponda con esa
entrega incorrecta.
1. (20 puntos) Para cada una de las siguientes aseveraciones, indique con V si considera que es verdadera en
todos los posibles casos, con F si considera que es falsa en todos los posibles casos, con A si considera que es
verdadera en al menos un caso y falsa en al menos algún otro caso, y con X si considera que no hay información
suficiente para poder dar una respuesta distinta a las anteriores. Se calificará aciertos menos errores. Las no
contestadas no se considerarán para la evaluación de este punto. Si el sı́mbolo que Usted haya empleado es
ambiguo, se considerará como erróneo, por lo que se le recomienda marcar cuidadosa y claramente el sı́mbolo
que haya decidido usar en la respuesta correspondiente.

1. Un tipo de dato básico o primi- cuando se sabe la cantidad de totres.


tivo indica el tamaño y la in- ciclos que se van a realizar.
8. El tipo de dato básico o pri-
terpretación de la información 5. De forma dinámica, se puede mitivo char contiene como in-
a emplear. reservar 256 megabytes du- formación el código ASCII del
2. Para un n ∈ N particu- rante la ejecución de un pro- caracter que representa.
lar, se puede calcular la suma grama en particular.
de 9. Considere a, b variables de
Plos primeros n naturales 6. Con únicamente el tipo de
n n(n+1) datos básico o primitivo tipo int consideradas con
i=0 i = 2 .
signo. Siempre que a-b<0, en-
double y el uso exclusivo de
3. Los operadores de asignación los operadores aritméticos, se tonces a<b.
permiten usar expresiones en puede hallar las soluciones a 10. Las funciones en C pueden re-
el operando izquierdo más allá la ecuación ax2 + bx + c = 0 gresar tipos de datos que con-
de solo variables. con coeficiente del tipo long. tengan arreglos, pero que el
4. El control de flujo denomi- 7. En la descripción de una clase, tipo de datos en sı́ mismo no
nado for se utiliza únicamente se pueden omitir los constru- sea un arreglo.

2. (10 puntos) Escriba código fuente para el cual pueda resolver la siguiente situación: Dado n ∈ N, dibujar un
cuadrado con los números del 1 al n2 , como se muestra en el siguiente ejemplo para n = 4.

tipo 2
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16

3. (10 puntos) Indique y agrupe los tipos de datos básicos o primitivos tanto en C como en Java.
4. (20 puntos) Escriba código fuente para el cual pueda resolver la siguiente situación: Considere un conjunto
de hasta 32 elementos enumerados del 0 al 31, eliga el tipo de datos básico o primitivo para representar a tal
conjunto. Dados dos conjuntos A y B desde la entrada estándar (se debe indicar qué número entre 0 y 31
pertenece al conjunto en cuestión), escriba en la salida estándar cada uno de los conjuntos leı́dos, ası́ como su
unión, intersección y complemento.
5. (20 puntos) Note que para k ≥ 1, 6k, 6k + 2, 6k + 3 y 6k + 4 no pueden ser números primos. En cambio, 6k + 1
y 6k + 5 tienen la posibilidad de ser números primos, por lo que se tendrı́a que verificar si no son divisibles entre
algún número primo previamente encontrado y almacenado, puede iniciar con los números primos que conoce
menores que√6. Por cierto, recuerde que si n es un número compuesto, existe un número primo p que lo divide
tal que p ≤ n. Escriba un programa de nombre factoriza y extensión de acuerdo al lenguaje empleado. El
programa debe leer dos enteros n y m con 1 ≤ n, m ≤ 106 , escribir la factorización de n en un renglón y la
Programación I Examen (continúa)

de m en un siguiente renglón empleando números primos calculados como se mencionó anteriormente. Utilice
la representación de la factorización encontrada para escribir, en cada uno de los siguientes dos renglones, la
factorización del máximo común divisor y la del mı́nimo común múltiplo de m y n.
6. (20 puntos) Considere aritmética en polinomios Zp [x]. Escriba un programa de nombre Zpx y extensión de
acuerdo al lenguaje empleado. El programa debe leer de la entrada estándar un número p (el cual se garantiza
que quien lo ingrese dará un número primo), un entero no negativo n1 seguido de n1 + 1 enteros (esos enteros
deben tratarse de tal forma que queden en el residuo correspondiente entre 1 y p − 1, ambos inclusive), seguido
de un entero no negativo n2 seguido de n1 + 1 enteros (con el tratamiento ya descrito para estos enteros). El
programa debe escribir en la salida estándar cada uno de los dos polinomios, su suma, su producto, un máximo
común divisor (mcd) de los dos polinomios, ası́ como una combinación lineal del mcd de los dos polinomios en
término de los mismos, ası́ como la evaluación del primer polinomio en los valores 0, 1, ⌊p/2⌋ y p − 1.

7. (20 puntos) Consideremos conjuntos cuya representación se realizará mediante bits en un arreglo de bytes. Si
el universo consta de 8 × n elementos (n bytes), se puede considerar una numeración desde 0 hasta 8n − 1 y un
conjunto A se puede representar por un arreglo de esos 8n bytes donde el i-ésimo elemento (con 0 ≤ i < 8n) se
encuentra en el conjunto A si el i-esimo bit es 1. Con esta representación desarrolle un programa de nombre
conjuntos y extensión de acuerdo al lenguaje empleado que lea tres enteros n, a y b donde n es el número de
bytes para representar el conjunto universo, a y b las cantidades de elementos a ingresar para cada uno de los
dos conjuntos A y B, seguido de a y luego de b enteros entre 0 y 8n − 1 para representar los elementos del
conjunto A y B. El programa debe escribir en la salida estándar la cardinalidad seguida de los elementos de
cada uno de los siguientes conjuntos, uno por renglón: A, B, A ∪ B, A ∩ B, Ac , A \ B, B \ A, A△B (diferencia
simétrica de A y B).

Pregunta: 1 2 3 4 5 6 7 Total:
Puntos: 20 10 10 20 20 20 20 120
Puntaje:

Página 2 de 2

También podría gustarte