Etiqueta: funciones

funciones y procedimientos

  • 3Eva_IT2008_T3 IMC: índice masa corporal

    3ra Evaluación I Término 2008-2009. Septiembre 16, 2008 /ICM00794

    Tema 3 (15 puntos) El índice de masa corporal (IMC) es el cociente entre el peso de una persona en Kg dividido para su estatura al cuadrado en metros.

    La Organización Mundial de la Salud OMS, clasifica a las personas según su IMC de la siguiente forma:

    IMC Tipo IMC
    Menos de 17 1. Infrapeso
    más de 17 hasta 18 2. Bajo Peso
    mas de 18 hasta 25 3. Peso Normal
    mas de 25 hasta 30 4. Obesidad tipo I
    más de 30 hasta 35 5. Obesidad tipo II
    mas de 35 hasta 40 6. Obesidad tipo III
    mas de 40 7. Obesidad mórbida
    Ejemplo:
    peso=75 Kg; 
    estatura=1.70 m ; 
    75/(1.70*1.70)=25.95 equivale a tipo 4.
    
    >> tipoimc(75,1.70)
     ans= 4

    Escriba una función tipoimc(peso,estatura) que reciba el peso y estatura de una persona para dar como resultado el tipo de masa corporal (15 puntos)


    [ Ejercicio resuelto ]

    Referencia: Obesidad y sobrepeso. Datos y cifras. 9 de junio de 2021. OMS. https://www.who.int/es/news-room/fact-sheets/detail/obesity-and-overweight

    ¿Por qué el índice de masa corporal no es un valor fiable?. Dw Español. 6 feb 2023

  • 3Eva_IT2008_T2 cifrado griego por tamaño palabra

    3ra Evaluación I Término 2008-2009. Septiembre 16, 2008 /ICM00794

    Tema 2 (25 puntos) Un algoritmo griego de encriptación de frase consiste en reemplazar cada letra que conforma una palabra por una letra del alfabeto desplazada en base a la longitud de la palabra.

    Ejemplo:
    palabra: radar
    letras: 5
    alfabeto: 'abcdefghijklmnopqrstuvwxyz'
    encriptada: 'wfifw'

    Si la letra fuese ''z' se reemplaza por 'e', y así sucesivamente.

    Escriba una función cifradogriego(palabra) que reciba una palabra y la encripte basado en el algoritmo descrito.

    Nota python: ord(caracter); retorna el código ASCII del caracter ingresado.
    chr(codigo); retorna el caracter de del código ASCII.

    >>> ord('a')
    97
    >>> chr(97)
    'a'
    >>> 
    

    Nota octave/matlab: char(codigo); retorna el caracter de del código ASCII.

    Ejemplo:
    char(97) retorna a letra 'a',
    char(122) retorna 'z'.
    p='a';
    p=p+3;
    p=100;
    char(p) retorna 'd'
  • 3Eva_IIT2007_T2 Verificar matriz Sudoku

    3ra Evaluación II Término 2007-2008. Febrero 26, 2008 /ICM00794

    Tema 2. (30 puntos) El juego SUDOKU consisten en llenar una matriz de 9x9 con números del 1 al 9 de tal forma que un número en una sola celda sea:

    • Único para la fila en la que se encuentra
    • Único para la columna en la que se encuentra
    • Único para el sub-cuadro de 3x3 en el que se encuentra

    Escriba una función que dada una matriz de 9x9 determine si es o no una matriz resuelta de SUDOKU

    Ejemplo:
    1 3 5 4 6 2 9 8 7
    7 6 2 1 9 8 5 4 3
    8 9 4 5 3 7 6 2 1
    9 7 8 6 1 3 2 5 4
    4 1 6 9 2 5 3 7 8
    2 5 3 7 8 4 1 6 9
    5 2 7 3 4 1 8 9 6
    3 8 9 2 7 6 4 1 5
    6 4 1 8 5 9 7 3 2

    Para el ejercicio en python:
    >>> matriz=np.array([[1, 3, 5, 4, 6, 2, 9, 8, 7],
    [7, 6, 2, 1, 9, 8, 5, 4,3],
    [8, 9, 4, 5, 3, 7, 6, 2, 1],
    [9, 7, 8, 6, 1, 3, 2, 5, 4],
    [4, 1, 6, 9, 2, 5, 3, 7, 8],
    [2, 5, 3, 7, 8, 4, 1, 6, 9],
    [5, 2, 7, 3, 4, 1, 8, 9, 6],
    [3, 8, 9, 2, 7, 6, 4, 1, 5],
    [6, 4, 1, 8, 5, 9, 7, 3, 2]])
  • 3Eva_IT2007_T3 Tabla de valores futuros de proyectos

    3ra Evaluación I Término 2007-2008. Septiembre 11, 2007 /ICM00794

    Tema 3. (30 puntos) Escriba la función valor_presente, la cual recibe tres parámetros (Vf valor futuro, n períodos y la tasa de interés i) y retorna el valor presente basado en la siguiente relación matemática:

    V_p = \frac{V_f}{(i+i)^n}

    El flujo de efectivo de un proyecto se puede representar en un arreglo, en donde la primera columna es el presente (año cero) y el resto de columnas son los períodos futuros, en las celdas del arreglo se encuentra el flujo de efectivo para el proyecto en determinado año:

     Año 0 1 2 3 4
    valor -2.000 400 500 300 350

    Si la tasa de interés es 10%, determine el Valor Actual Neto del proyecto (VAN), lo cual consiste en llevar al presente cada valor del flujo a partir del año 1. Si el VAN es positivo entonces el proyecto se lo considera factible.

    Escriba un programa donde se registre la información de flujo de efectivo de un proyecto.

    Considere que los proyectos son planificados para n años.
    Solicite la tasa de interés y haciendo uso de la función valor_ presente determine cuáles proyectos son los factibles.

  • 3Eva_IT2007_T2 Función para crear Acrónimos

    3ra Evaluación I Término 2007-2008. Septiembre 11, 2007 /ICM00794

    Tema 2. (20 puntos) Un acrónimo puede ser una sigla que resulta de la unión de las letras iniciales de una o más palabras presentes en una frase.

    Escriba la función acrónimo, la cual recibe una frase (todos los caracteres en mayúsculas), conteniendo palabras separadas por un espacio en blanco y descartando palabras como “Y”, “DE”, “DEL”, muestre una línea formada por las primeras letras de cada palabra.

    Ejemplos:
    'MINISTERIO DE EDUCACIÓN Y CULTURA' --> 'MEC'
    'MUSEO ANTROPOLÓGICO Y DE ARTE CONTEMPORÁNEO' --> 'MAAC'
  • 3Eva_IIT2006_T3 Números Primos más cercanos

    3ra Evaluación II Término 2006-2007, Febrero 6, 2007 /ICM00794

    Tema 3. (30 Puntos) Dada una lista de n números, obtener el número primo más cercano a cada uno de los números. En caso de que el número de la lista sea un número primo, ese número es el más cercano.

    a) Escriba una función primo(n) que determine si el numero n es primo.

    b) Realice un programa que revise de una lista, los números enteros, los inmediatos inferiores y superiores hasta encontrar un número primo y llene la tabla resultante.

    Ejemplo: Sea n = 6
    Números Primo superior Primo inferior
    100 101 97
    246 251 241
    2 2
    333 337 331
    2007 2011 2003
  • 3Eva_IIT2006_T1 Crear usuarios en lista de nombres

    3ra Evaluación II Término 2006-2007, Febrero 6, 2007 /ICM00794

    Tema 1. (20 Puntos) Los “nombres de usuario” para una compañía se crean a partir de los nombres y el apellido paterno de sus empleados conformado de ocho (8) letras, usando una letra de cada nombre y el resto de su apellido.

    a) Realice una función en matlab user(nombre1,nombre2,apellidop) que reciba los nombres y apellido paterno de un empleado y devuelva su “nombre de usuario”.

    b) Escriba un programa en Matlab que registre en una lista los nombres de los n empleados de la compañía y muestre el listado de los “nombres de usuario”

    Ejemplo:
    Nombre1 Nombre2 Apellido Paterno Usuario
    Juan Pedro Rodriguez jprodrig
  • 3Eva_IT2006_T4 Juego planta bombas (buscaminas)

    3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

    Tema 4. (30 puntos) Un juego de guerra consiste en delimitar el área del enemigo para ser explorada por paracaidistas en ejercicios de prueba y error.

    El enemigo planta bombas en el área para protección a prueba de paracaidistas.

    El juego consiste en enviar un paracaidista a una coordenada del área enemiga y si aterriza exitosamente, explore el área a su alrededor e informe al centro de comando, cuántas bombas existen alrededor de su coordenada.

    a) Realice una función plantabombas(m, n) que dada una cantidad de m bombas, coloque en el área definida por una matriz cuadrada de tamaño las bombas de manera aleatoria y no repetida.
    Considere que m siempre es menor que n2.

    b) Realice un programa, que pida las coordenadas de aterrizaje de un paracaidista, utilice la función del tema anterior, valide si el paracaidista logro llegar a salvo, e informe de cuantas bombas existen a su alrededor.

    Nota: Las coordenadas no pueden ser de los límites de la matriz.

    x\y 1 2 3 4
    1 0 1 1
    2 0 paracaidista 0
    3 1 0 1
    4
    Bombas cercanas a matriz[2,2]=4
  • 3Eva_IT2006_T3 Tabular cuotas y saldo de deuda

    3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

    Tema 3. (25 puntos) Una empresa de venta y financiación de vehículos ofrece a sus clientes planes de pago con cuotas mensuales.

    El vendedor dispondrá de un programa que calcule la cantidad de meses que le tomará a su cliente pagar la totalidad de la deuda de acuerdo a los parámetros definidos.

    p: Precio de Vehículo
    r: Tasa de interés mensual en porcentaje
    cuota: Cuota mensual

    a) Realice una función saldo(r, cuota, saldoanterior) que calcule el saldo mensual conociendo la tasa de interés, la cuota y el saldo anterior.

    b) Realice un programa que usando la función saldo, determine en cuántos meses el cliente terminaría de pagar su deuda.

    Mes Intereses Cuota Saldo
    0 8.000,00
    1 80,00 300,00 7.780,00
    2 77,80 300,00 7.557,80
    3 75,58 300.00 saldo
    4 0
  • 3Eva_IT2006_T2 Intercalar palabras pastestring(a,b,p)

    3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

    Tema 2. (25puntos) Implemente una función en matlab llamada PasteString(a, b, p) que dadas dos cadenas a y b, inserte después de la posición p de primera, a la segunda cadena y retorne la nueva cadena.

    Ejemplo:
    Si la primera cadena es “FUNDAMENTOS”, 
    la segunda “PROG” y p es 4, 
    el resultado será “FUNDPROGAMENTOS”