Logo Studenta

TP 2 - Programación

¡Estudia con miles de materiales!

Vista previa del material en texto

MCI I ///////////////////////////////////////////////////////////////////UNCo
Trabajo Práctico 2: Programación
Ejercicios Propuestos
1) Desarrollar Pseudocódigo y Código Scilab de todos los
ejercicios que se exponen a continuación utilizando funciones.
Implementar también con scripts en algunos casos, a elección.
2) Realizar el Seguimiento de Código de:
• Estructuras Secuenciales y Alternativas: Ejercicio 3)
• Estructuras Iterativas: Ejercicio 3)
• Arreglos 1D y 2D: Ejercicios 1) y 4)
• Otros ejercicios, a elección.
Estructuras Secuenciales y Alternativas
1) Para dos números reales correspondientes a dos ángulos en
grados, calcular los valores de los mismos en radianes, su suma
y el seno de la misma.
2) Dadas las coordenadas de dos puntos (𝑥1, 𝑦1) y (𝑥2, 𝑦2), calcular la
distancia entre ambos utilizando al menos cinco asignaciones.
3) Considerando dos valores x y s:
• Si x es mayor que s, calcular el resto de dividir x por s.
• Si x es menor que s, obtener la raíz cuadrada de x.
1
MCI I ///////////////////////////////////////////////////////////////////UNCo
• Si x es igual a s, cambiar el valor de x por su mitad y el valor
de s por su doble. Mostrar por pantalla los nuevos valores de
x y s. Luego, intercambiar los nuevos valores y posteriormente
obtener el resultado de restar x-s.
Observación: Notar la diferencia entre un parámetro de salida y
un valor que se muestra por pantalla.
4) Indicar la cantidad de días que contiene un año dado. Para eso,
se debe verificar si es bisiesto o no considerando lo siguiente:
• Si no es divisible por 4, no es bisiesto.
• Si es divisible por 4 pero no es divisible por 100, es bisiesto.
• Si es divisible por 4 y por 100, analizar:
‣ Si no es divisible por 400, no es bisiesto.
‣ Si es divisible por 400, es bisiesto.
Nota: Antes de comenzar, se debe controlar que el año leído sea
mayor o igual que 1.
Estructuras Iterativas
1) Implementar una función que tenga como parámetro de entrada
un valor entero mayor o igual que 0 y como parámetro de salida,
su factorial.
2) Dados los valores de entrada 𝑥 y 𝑛, implementar la serie:
𝑠(𝑥) = 1𝑥
1
2!
+ 2𝑥
2
3!
+ 3𝑥
3
4!
+ … + 𝑛𝑥
𝑛
(𝑛 + 1)!
2
MCI I ///////////////////////////////////////////////////////////////////UNCo
Dentro del desarrollo, llamar a la función factorial implementada
en el 1) cuando sea necesario.
3) Implementar el algoritmo babilonio para calcular la aproximación
de la raíz cuadrada de un número 𝑥. Al finalizar, la estimación
estará dada por 𝑏. Los pasos son los siguientes:
1- Elegir dos valores 𝑏 y ℎ tales que 𝑏ℎ = 𝑥. Por ejemplo, usar 𝑏 =
𝑥
2
 y ℎ = 𝑥
𝑏
2- Repetir los pasos 3 y 4 siempre que la cota del error absoluto
sea mayor o igual que un valor 𝑡𝑜𝑙 dado por el usuario.
3- Asignar 𝑏 = ℎ+𝑏
2
.
4- Asignar ℎ = 𝑥
𝑏
.
Nota: La cota del error absoluto puede calcularse como |𝑏 − ℎ|.
4) Considerando la serie ∑𝑛𝑖=1 𝑖
−2 que converge al valor 𝜋
2
6
, donde 𝑖
y 𝑛 son números naturales, mostrar las aproximaciones que se
obtienen al agregar cada término y sus correspondientes errores
absolutos y relativos verdaderos hasta 𝑛 = 60.
Arreglos 1D y 2D
1) Dado un vector 𝑣, su cantidad de componentes 𝑛 y una posición
𝑝, desplazar todos los elementos de 𝑣 un lugar a la derecha a
partir de la posición 𝑝 inclusive. Después del desplazamiento, el
vector tendrá duplicadas las componentes 𝑝 y (𝑝 + 1)-ésimas y se
3
MCI I ///////////////////////////////////////////////////////////////////UNCo
perderá el valor de su último elemento. Por ejemplo, si 𝑣=[10 20
30 40 50 60 70] y 𝑝=3, después del desplazamiento se obtiene 𝑣
=[10 20 30 30 40 50 60]
2) Implementar el producto escalar entre dos vectores 𝑣 y 𝑢, ambos
de 𝑛 componentes.
3) Agregar o modificar lo que se considere necesario en la
implementación de los ejercicios 3) y 4) de «Estructuras
Iterativas» para graficar:
• Errores absolutos verdaderos vs número de iteración en el
ejercicio 3)
• Errores relativos vs número de iteración en el ejercicio 4).
Nota: En ambos casos, generar los vectores correspondientes y
utilizar la función 𝑝𝑙𝑜𝑡 de Scilab.
4) Implementar el producto entre una matriz 𝐴 de 𝑛 filas y 𝑚
columnas por un vector 𝑢 de 𝑚 componentes.
5) Dados una matriz 𝐴 de 𝑛 filas y 𝑚 columnas y un valor natural 𝑘,
intercambiar las filas 𝑘 y 𝑝-ésimas, siendo 𝑝 la fila que contiene el
mayor valor de la primer columna de 𝐴.
4

Continuar navegando