Sei sulla pagina 1di 2

Trabajo Práctico 2: Programación

Introducción: En los ejercicios que se proponen a continuación, realizar diagrama de flujo y código Scilab
correspondiente. Implementar con script o función a elección, salvo que especı́ficamente se indique alguna de
estas opciones.

Ejercicio 1: Estructuras: Secuenciales y Alternativas


(a) Ingresar dos números reales correspondientes a dos ángulos, ambos en grados. Calcular los valores de los
mismos en radianes, su suma (en grados) y el seno de la misma.
(b) Leer dos números e indicar por pantalla si el primero es menor, mayor o igual que el segundo. Si el primero
es mayor que el segundo, también intercambiar sus valores. Después de esta modificación, guardar en otra
variable la resta del segundo menos el primero y mostrarla por pantalla.
(c) Indicar la cantidad de dı́as que contiene un año leı́do previamente. Para eso, se debe verificar si es bisiesto
o no considerando lo siguiente:
1- Si no es divisible por 4, no es bisiesto.
2- Si es divisible por 4 pero no es divisible por 100, es bisiesto.
3- 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.

Ejercicio 2: Estructuras Repetitivas


(a) 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.
(b) Dados los valores de entrada x y n, implementar la serie:

s(x) = 1x1 /2! + 2x2 /3! + 3x3 /4! + ... + nxn /(n + 1)!

Dentro del desarrollo, llamar a la función factorial implementada en el (a) cuando sea necesario.
(c) Implementar el algoritmo babilonio para calcular la aproximación de la raı́z cuadrada de un número x. El
mismo consta de los siguientes pasos:
1- Elegir dos valores b y h tales que bh = x. Por ejemplo, utilizar b = x/2 y h = x/b.
2- Repetir los pasos 3 y 4 siempre que la cota del error absoluto sea mayor o igual que un valor tol dado
por el usuario.
3- b = (h + b)/2.
4- h = x/b.
Si se ha escrito un script, mostrar el último valor de b por pantalla. Si se ha implementado una función,
devolverlo como parámetro de salida. La cota del error absoluto puede calcularse como |b − h|.

Ejercicio 3: Arreglos 1D y 2D
(a) Dado un vector v, su cantidad de componentes n y una posición p, desplazar todos los elementos de v
un lugar a la derecha a partir de la posición p inclusive. Después del desplazamiento, el vector tendrá
duplicadas las componentes p y (p + 1)-ésimas y se perderá el valor de su último elemento.
(b) Graficar errores relativos vs número de iteración del algoritmo babilonio utilizando la función plot de
Scilab. A tal fin, realizar las modificaciones que se consideren necesarias en lo desarrollado previamente.

1
(c) Implementar el producto escalar entre dos vectores v y u, ambos de n componentes.
(d) Implementar el producto entre una matriz A de n filas y m columnas por un vector u de m componentes.

Ejercicios Adicionales
(a) Implementar el producto entre una matriz A de n filas y m columnas por otra matriz B de m filas y s
columnas. No necesariamente n es igual a m, ni m igual a s. Además, n, m y s son valores mayores o
iguales a 1.

(b) Dados una matriz A de n filas y m columnas y un valor natural k, intercambiar las filas k y p-ésimas,
siendo p la fila que contiene el mayor valor de la primer columna de A.

Potrebbero piacerti anche