Descarga la aplicación para disfrutar aún más
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
Compartir