Algoritmos y arquitecturas de alto rendimiento | 29451 | Semestre 2022-2
Primera evaluación
A continuación se presentan tres problemas de programación. Deberán entregar el archivo de
código fuente mediante correo electrónico. El código fuente en C/C++ debe estar comentado,
explicando el funcionamiento del programa.
1. La formula de Leibniz para calcular π:
i
∞
(−1)
∑ (2 i+ 1) = π4
i=0
Con esta formula, que es una serie infinita, se puede hallar el valor de π. El verdadero potencial de
ella está en poder lograr una aproximación bastante buena del valor de π usando solo operaciones
matemáticas básicas y repeticiones. Para realizar esta aproximación se substituye el valor de
infinito en la sumatoria por un valor n. Construir un programa que lea n y después genere los
términos desde i=0 hasta i < n, después se suman los elementos y este resultado se multiplica por 4
para hallar el valor aproximado de π. Imprimir el resultado. (nota: se notará si quedó bien al ver el
valor de π entregado, que debe acercarse más al valor de π entre más términos se usen)
2. Construir un programa que lea un número entero positivo n y después genere n valores de
manera aleatoria (entre 0 y 10) y los guarde en un vector. El programa deberá hallar la media de los
elementos, y después buscar entre ellos aquellos que sean mayores que la media. El resultado que
entregara el programa es la media de los números y una lista de elementos que cumplan con la
condición de ser mayores que la media. (nota: se deberá usar un segundo vector para la lista de
elementos mayores que la media)
3. Una aplicación sencilla de la multiplicación de matrices es el uso de transformaciones lineales,
por ejemplo la rotación.
A= (cos (θ)
sin ( θ ) )
−sin( θ )
cos ( θ )
Construir un programa que lea 4 parejas x, y (que representan los cuatros vertices de un
cuadrilatero), así como un valor para θ, y calcule los valores resultantes (x', y') de aplicar la
transformación a los puntos dados.
( xy '' )= A ( xy)