Está en la página 1de 4

Programación II Ejercicios

4to semestre octubre de 2023

Para cada uno de los siguientes ejercicios, desarrolle un programa que resuelva la
situación descrita. El nombre del código fuente principal debe ser En (con 1 ≤ n ≤
10) y de extensión de acuerdo al lenguaje empleado entre C y Java. La entrega
debe realizarse dentro de un archivo .zip con nombre boleta LE03. Nota: El
programa principal debe tener el nombre indicado, los archivos fuente que pudieran
existir adicionales al principal, pueden tener el nombre que Usted elija, también se
permite una distribución de archivos (en carpetas) según lo requiera para la solución
del numeral correspondiente. En este caso, se pide que la carpeta que contenga
esa disttibución de archivos tenga el mismo nombre del numeral correspndiente sin
extensión. La entrega de los ejercicicos solicitados en clase debe ser por correo con
asunto el prefijo ya indicado, seguido de boleta LE 03 (para hacer alusión a lista
de ejercicicos número 3), donde boleta es su número de boleta.

A tomar en cuenta previo a los ejercicios Debe considerar implementar fun-


cionalidad para la manipulación de los siguientes elementos.
I. K para el caso de un campo, implementar la suma, el inverso aditivo, la multi-
plicación, el inverso multiplicativo, si se considera n ∈ N y un k ∈ K, el cálculo
de nk y el de k n . Los campos a considerar son:
(a) Zp números enteros módulo un p primo previamente determinado. En la
lectura se permite cualquier valor entero, pero se debe cambiar el repre-
sentante en Zp a un valor entre n con 0 ≤ n < p.
(b) Q números racionales considerados como dos enteros p y q con p el nu-
merador, q el denominador y mcd(p, q) = 1 con q > 0 pq con p, q ∈ Z
y q > 0). En la lectura se permite que no sean primos relativos y q < 0,
pero se debe cambiar el representante de ese racional con la convención
indicada.
(c) R números reales.
(d) Q[i] números complejos con entradas racionales, es decir, un número que
tenga una parte real y una parte imaginaria,  cada una de estas partes
a c
debe ser racional b + d i, con a, b, c, d ∈ Z y b, d > 0) de acuerdo a la
representación indicada en Ib.
(e) C números complejos considerados como dos números reales, uno para la
parte real y otro para la parte imaginaria (a + bi, con ab, ∈ R)
II. DE para el caso de un dominio euclidiano, implementar la suma, el inverso adi-
tivo, la multiplicación, el cociente y residuo, combinación lineal de un máximo
Programación II Ejercicios (continúa)

común divisor en términos de los elementos involucrados, si se considera n ∈ N


y un k ∈ K, el cálculo de nk y el de k n . Los dominios euclidianos a considerar
son:

(a) Z números enteros.


(b) Zp [x] anillo de polinomios de números enteros módulo un p primo previa-
mente determinado. En la lectura se permite cualquier valor entero, pero
se debe cambiar el representante de los oeficientes del polinomio en Zp a
un valor entre n con 0 ≤ n < p.

III. A para el caso de un anillo, implementar la suma, el inverso aditivo, la multi-


plicación, si se considera n ∈ N y un k ∈ K, el cálculo de nk y el de k n . Los
dominios euclidianos a considerar son:

(a) Z[i] números gaussianos, es decir, números de la forma a + bi con a, b ∈ Z


y con i2 = −1. La suma se realiza de forma “natural” y la multiplicación
con la propidad distributiva de la multiplicación respecto la suma y la
condición de i.
(b) Z[ω] números eisensteinianos, es decir, números de la forma a + bω con
a, b ∈ Z y con ω es tal que ω 2 + ω + 1 = 0. La suma se realiza de
forma “natural” y la multiplicación con la propidad distributiva de la
multiplicación respecto la suma y la condición de ω.
(c) K[x] anillo de polinomios con coeficientes en un campo.
(d) Mm×n (K) anillo de matrices m × n con entradas en un campo, para una
m y n predetermiandas.
(e) Mn (K) anillo de matrices cuadradas de orden n con entradas en un campo,
para una m y n predetermiandas.

IV. char[] Manejo de cadenas de caracteres, las cuales deben tratarse como ar-
reglos de caracteres. Se debe considrar la forma de obtener la longitud, la
concatenación de dos cadenas de caracteres, la búsqueda de un carácter den-
tro de una cadena, una subcadena dentro una cadena, la eliminación de un
carácter dentro de una cadena en su primera aparición, en su última aparición
y en todas sus apariciones dentro de la cadana.

1. Considere un número entero n dado desde la entrada estándar, con 0 ≤ n ≤ 106 .


El programa debe escribir en la salida estándar si el número es primo. En caso
de no serlo, debe escribir su factorización. En adición a lo anterior, el programa

Página 2 de 4
Programación II Ejercicios (continúa)

debe escribir el nombre cardinal en un renglón, ordinal en otro renglón y, si


1 < n < 4000, el correspondiente número romano en otro renglón. Nota: en
https://www.rae.es/dpd/ordinales se encuentra una descripción de los números
ordinales y la escritura de los romanos.
2. Considere una palabra leı́da desde la entrada estándar terminada en ar, er o ir,
la cual se va a interpretar como un verbo regular. Escriba en la salida estándar la
conjugación en los modos indicativo y subjentivo. Para cada modo en todos sus
tiempos simples y compuestos. En las personas del singular, primera, segunda
informal, tercera y en las personas del plural, pimera segunda formal y tercera.
La escritura debe visualizarse como tres columnas en donde en cada columna
va un tiempo, es decir, tres tiempos por renglón, salvo para el último bloque de
tiempos.
3. Considere los campos descritos en I. Muestre en la salida estándar un menú para
la elección del campo a utilizar. Una vez seleccionado el campo, lea desde la
entrada estándar un entero n y un sistema lineal de n ecuaciones con n incógnitas.
El programa debe utilizar el método de Gauß-Jordan para indicar si el sistema
de ecuaciones tiene o no solución única. De tener solución única, se debe escribir
en la salida estándar la solución única.
4. Considere el anillo de polinomios con coeficientes en K, DE o A, descritos en I,
II y III, salvo por IIb, IIIc y IIId. Escriba en la salida estándar un menú para
la elección de los “números” a usar y lea de la entrada estándar un elemento
r y dos polinomios con coeficientes en estos elementos. En la salida estándar
debe escribir la suma, el producto y la evaluación de r en cada uno de los dos
polinomios, ası́ los valores rm y rn donde m y n son los grados de los polinomios
dados, respectivamente. En caso de que el conjunto de números seleccionado
fuera Ia, se debe escribir una combinación lineal para el mcd de los polinomios
dados.
5. Considere el anillo de matrices con entradas en K, DE o A, descritos en I, II y III,
salvo por IIId y IIIe. Escriba en la salida estándar un menú para la elección de
los “números” a usar y lea de la entrada estándar un elemento r y dos matrices
con entradas en estos elementos. En la salida estándar debe escribir la suma
y el producto y la transpuesta de ambas matrices, ası́ el valor rn donde n es
elrango de las matrices a utilizar en este numeral. En caso de que el conjunto
de números seleccionado fuera I, use el método de Gauß-Jordan para calcular el
determinante y la inversa de la matriz. Escriba ambos resultados en la salida
estándar.

Página 3 de 4
Programación II Ejercicios (continúa)

6. Considere los fractrales que se muestran en la página web


https://archive.org/details/commodore-power-play-21/page/n89/mode/2up?q=fractals.
Implemente los fractales ahı́ descritos e indique la manera de seleccionar cada
uno de ellos para que al ejecutar el programa, se muestre el seleccionado. Por
detallar en calse esta forma de selección.

7. Defina 5 diferentes funciones f : R → R. indique la forma de seleccionar dos


de ellas. Debe representar el bosquejo de la gŕafica de cada una de ellas, de
su suma y de su producto en un intervalo [a, b] con a, b ∈ R. También debe
representar el sólido de revolución girando sobre el eje de las x y, por separado,
sobre el de las y. Para la rotación, utilice un ∆θ equivalente a un centésimo de la
“vuelta completa”. La rotación debe ser con la perspectiva de un cı́clope como
se describe en clase.

8. Defina 5 diferentes funciones f : R2 → R. indique la forma de seleccionar una de


ellas. Debe representar el bosquejo de la gŕafica un intervalo [a, b] para x y un
intervalo [c, d] para y con a, b, c, d ∈ R (es decir, sobre el rectángulo [a, b] × [c, d]).
La visualización de la gráfica en R3 debe ser con la perspectiva de un cı́clope
como se describe en clase.

9. Investigue y considere un modelo de congujación de verbos irregulares para cada


una de las terminaciones ar, er e ir. Indique una forma de seleccionar un verbo
dentro de una lista de alguna forma indicada por el programa y escriba en un
archivo de texto la conjugación en modo indicativo y subjuntivo en los tiempos
simples de las seis personas indicadas en 2. La escritura debe ser en tres columnas
para los tiempos de forma similar a lo indicado en 2. El archivo debe tener el
nombre del verbo seleccionado y extensión .txt.

10. En las páginas web https://learn.microsoft.com/de-de/windows/win32/gdi/bitmaps


y https://learn.microsoft.com/de-de/windows/win32/gdi/bitmap-storage se in-
dica la especificación de los archivos BMP. Lea de un archivo binario donde se
encuentre un BMP la información al respecto. Si no está comprimido y es a col-
ores de 24 bits, despliéguelo en pantalla. Escriba en un archivo de texto de
nombre el mismo que el BMP, pero con extensión .info.txt la información cor-
respondiente al encabezado del archivo y al encabezado de la información del
BMP.

Página 4 de 4

También podría gustarte