Ataurima M. - Laboratorio No.5v3

download Ataurima M. - Laboratorio No.5v3

of 2

Transcript of Ataurima M. - Laboratorio No.5v3

  • 7/28/2019 Ataurima M. - Laboratorio No.5v3

    1/2

    Sentencias de Control

    Gua de Laboratorio

    Miguel Ataurima Arellano

    9 de junio de 2013

    1. Sentencias Condicionales

    1.1. Simple

    1.1.1. if

    1. Implemente un script que permita verificar si un numero es par

    2. A partir del script anterior, crear una version en forma de funcionMATLAB.

    1.1.2. if ... else

    1. Implemente una funcion que permita modelar la funcion matematicavalor absoluto y = |x|

    2. Implemente una funcion que permita modelar la funcion matematicasigno y =sgn(x)

    3. Implemente una funcion que determine las races de una ecuacioncuadratica.

    4. Implemente una funcion que permita verificar que un numero escalarx se encuentra dentro de un intervalo [a, b] dado

    5. Implemente una funcion que permita verificar si cada uno de loselementos de una matriz X se encuentra dentro de un intervalo [a, b]dado

    6. Implemente una funcion que permita verificar el cumplimiento deuna hipotesis dado el valor del t-estadstico y el nivel de significancia de una prueba de dos colas.

    CASO: if ... else anidados

    1. Implemente una funcion que permita verificar si un ano es bisiesto.

    Un ano es bisiesto si es divisible por 4, excepto el ultimo de cadasiglo (aquel divisible por 100) salvo que este ultimo sea tambiendivisible por 400.

    2. Implemente una funcion que clasifique a un triangulo segun la lon-gitud de sus lados: Equilatero, Escaleno o Isosceles.

    3. Haga las modificaciones a la funcion anterior para el caso en el queel triangulo no exista, esto es, la longitud de los lados no formen untriangulo.

    4. Implemente una funcion que determine el mayor de tres numeros.

    1.2. Multiple

    1.2.1. if ... elseif ... else

    1.

    Implementar una funcion que permita modelar la siguiente funcioncompuestas

    y =

    1 , x < 12x + 1 , 1 x < 0

    ex , x 0

    2. Implemente una funcion que permita identificar el intervalo al que

    pertenece una variable x segun la siguiente tablaIntervalo x

    I < 5II [5, 10III [10, 15IV 15

    1.2.2.switch ... case

    1. Implementar un menu de opciones que permita realizar las opera-ciones aritmeticas basicas: suma, resta, multiplicacion y division dedos numeros

    2. Ingresar un numero entero, y si este termina en 2,5 u 8 reportar elcuadrado del numero, si este termina en 4,7 o 9 reportar el numeromultiplicado por 5 y reportar el mismo numero en otro caso.

    3. Ingresar el numero de mes y el ano y reporte el numero de das quetiene ese mes.

    4. Dados como entrada 3 enteros representando la fecha como da, mes,ano, imprimir la fecha del da anterior. Por ejemplo para una en-trada como: 1/3/1992 La salida sera: Fecha anterior a 1/3/1992 es29/02/1992.

    2. Sentencias Repetitivas

    2.1. Controlada por expresiones

    2.1.1. while

    1. Implementar una funcion que tome como entrada un nvector x yretorne el nvector y tal que

    yj =j

    i=1

    xi

    para todo j = 1, 2, ...,n

    2. Implementar una funcion que retorne el MCD de dos numeros ente-ros.

    3. Implementar una funcion que retorne en un vector columna los nu-meros primos comprendidos entre 1 y n. El valor n debera ser pasadoa la funcion como argumento de entrada.

    Sugerencia: Use el algoritmo de la Criba de Eratostenes

    4. Implementar un programa que haga la lectura de une determinadafecha dd/mm/aa y determine el numero de dias transcurridos desdeel inicio de tal ano.

    5. Implementar una funcion que efectue la lectura de un numero de talmanera que este pertenezca al intervalo [0, 10]

    2.2. Controla por conteo

    2.2.1. for

    1. Implementar una funcion que permita evaluar la sumatoria

    S =n

    k=1

    xk

    k!

    2. Implementar una funcion que permita calcular el factorial de un

    numero.

    3. Implementar una funcion que determine los N primeros elementosde la serie de fibonacci: 0, 1, 1, 2, 3, 5,...

    4. Implementar una funcion que mediante el proceso de division sinteti-ca permita evaluar un polinomio.

    1

  • 7/28/2019 Ataurima M. - Laboratorio No.5v3

    2/2

    UNIVERSIDAD NACIONAL DE INGENIERIA

    Facultad de Ingeniera Electrica y Electronica

    MATLAB para Ciencia e Ingeniera

    Modulo Basico

    5. Implementar una funcion que permita determinar si un numero esperfecto. Se dice que un numero es perfecto cuando la suma de susdivisores (menor que el numero) es igual a el mismo.

    6. Implementar una funcion que permita conocer los numeros perfectoscomprendidos entre 1 y N. (N 100).

    7. Implementar una funcion que obtenga las races de una funcion nolineal por el metodo de Newton-Raphson.

    8. Implementar una funcion que obtenga las races de un sistema de

    funciones no lineal por el metodo de Newton-Raphson.

    9. Implementar una funcion que permita construir la matriz de Hilbert.

    10. Implementar una funcion que permita construir la matriz de Pascal.

    11. Implementar una funcion que permita construir una matriz de iden-tidad.

    12. Implementar una funcion que permita construir una matriz magica.Considere el caso impar.

    13. Implementar una funcion que ordene los elementos de un vectorcolumna de menor a mayor por el metodo burbuja.

    14. Implemente una aplicacion que emule el funcionamiento de un cajero

    automatico. El cajero solo despacha billetes en denominacion nacio-nal de S/.10, S/.20, S/.50, S/.100 y S/.200. Considere que el cajeroinicia sus operaciones con un numero esp ecfico de cada una de lasdenominaciones y que conforme los usuarios van haciendo retiros,las provisiones de cada denominacion van disminuyendo. En caso yano existan denominaciones para despachar un pedido del cliente sele sugerira un monto que pueda ser despachado lo mas cercano almonto que deseaba retirar del cajero.

    15. n participantes se disponen formando un circulo, asignandose a cadaparticipante un numero diferente entre 1 y n. Se inicia un conteo mposiciones a partir del participante No. 1. El participante en el quetermina el conteo es retirado del circulo, los participantes cierran filasy se procede a reiniciar el conteo a partir del participante inmediatoal que fue retirado. El juego finaliza cuando han sido retirado n 1

    participantes, siendo el ultimo el participante elegido (sacrificado).

    a) Implementar un programa que indique la secuencia en la quelos participantes van siendo retirados del crculo as como elparticipante que resulta ser sacrificado al finalizar todos losconteos.

    b) Modifique el programa anterior de manera que el participante apartir del cual se inicia el juego sea especificado por el usuario.

    c) Modifique el programa anterior de manera que el paso del con-teo (m) sea elegido aleatoreamente con un par de dados cadavez que se inicie un conteo.

    d) Imagine que existe un jugador que se desea innmolar por susdemas companeros y desea ser el elegido. Modifique el programa

    de manera que para un numero n determinado de jugadores, leproporcione el paso m adecuado. Considere m como un valorfijo que se especifica al inicio de todo el juego mortal.

    3. Funciones Recursivas

    1. Implementar una funcion recursiva para la obtencion de la Serie deFibonacci

    2. Implementar una funcion recursiva para la obtencion del factorialde un numero

    3. Implementar la funcion de Ackermann.

    La funcion de Ackermann es una funcion recursiva que toma dosnumeros naturales como argumentos y devuelve un unico numeronatural. Como norma general se define como sigue:

    A (m, n) =

    n + 1 , si m = 0A (m 1, 1) , si m > 0 y n = 0

    A (m 1, A (m, n 1)) , si m > 0 y n > 0

    4. Implementar un programa en MATLAB que resuelva el problemaLas torres de Hanoi.

    Se tienen 3 palos de madera, que llamaremos palo izquierdo, centraly derecho. El palo izquierdo tiene ensartados un monton de discosconcentricos de tamano decreciente, de manera que el disco mayoresta abajo y el menor arriba.

    El problema consiste en mover los discos del palo izquierdo al derechorespetando las siguientes reglas:

    a) Solo se puede mover un disco cada vez.

    b) No se puede poner un disco encima de otro mas pequeno.

    c) Despues de un movimiento todos los discos han de estar enalguno de los tres palos.

    Implementar una funcion que tome cono entrada un valor n, y re-torne la secuencia de pasos para resolver el problema.

    EXPOSITOR: Miguel Ataurima Arellano 2 [email protected]