Etiqueta: funciones

funciones y procedimientos

  • 2Eva_IT2010_T2 Operaciones infix - postfix

    2da Evaluación I Término 2010. Agosto 31, 2010 /ICM00794

    TEMA 2 (30 puntos) Las expresiones aritméticas en notación INFIX establece que en medio de los operandos (números) debe existir un operador aritmético conocido (+, –, *, /).  HP 42S

    Las expresiones aritméticas en notación POSTFIX establece que primero se colocan los operandos y luego el operador.
    Suponga que solamente tendrá como operandos aritméticos los números de una sola cifra.

    a) Escriba la función validainfix(cadena), la cual recibe una cadena de 3 caracteres para una operación aritmética y verifica que: los 2 operandos aritméticos están en las posiciones inicial y final; y existe un operador aritmético en el medio. La función devuelve 1 si es una cadena válida y 0 si no lo es.

    b) Escriba la función cambiapostfix(cadena), la cual recibe una cadena de 3 caracteres, previamente validada usando validainfix(cadena), y cambia la notación de INFIX a POSTFIX. En caso de que la validación no es correcta, se dará el mensaje de “error”.

    INFIX POSTFIX
    2 + 3 2 3 +
    9 - 6 9 6 -
    5 * 4 5 4 *
    8 / 7 8 7 /

    Rúbrica: Definición de funciones (5 puntos). Validación de números y operadores (15 puntos), cambio de notación (10 puntos).

  • 2Eva_IIT2009_T2 Transponer una matriz

    2da Evaluación II Término 2009-2010. Febrero 02, 2010 /ICM00794

    Tema 2 (15 puntos). Realizar una función transponer(matriz) para obtener la transpuesta de una matriz como se muestra en el ejemplo.

    >>matriz

    1 2 3
    4 5 6
    7 8 9
    >> transponer(matriz)

    1 4 7
    2 5 8
    3 6 9

    NOTA: No use la operación de transpuesta definida en MATLAB con la tilde.
    Rúbrica: Definición de la función (5 puntos), trasponer la matriz (10 puntos)

    matriz = [[1,2,3],
              [4,5,6]]
  • 2Eva_IIT2009_T1 Mensaje a SMS

    2da Evaluación II Término 2009-2010. Febrero 02, 2010 /ICM00794

    Tema 1. (25 puntos) Realizar una función txtsms(mensaje) que permita resumir un mensaje para ser utilizado como “SMS” (sistema de mensaje corto) siguiendo las siguientes reglas:

    • Sustituya palabra a la izquierda por el carácter a la derecha de la barra / : “que”/“q” , “de”/ “d” , “lo”/“l” y “se”/ “s”
    • Elimine los espacios después de los signos de puntuación ‘.’ ‘,’
    Ejemplo:
    >>mensaje = 'Nadie que dé lo mejor de sí, se arrepentirá de haberlo hecho'
    >>txtsms(mensaje)
    ans = “Nadie q d l mejor d si, s arrepentirá d haberlo hecho”
    diferencia= 9 letras.

    Realizar un programa que reciba un mensaje y presente, el mensaje sms y la diferencia de longitud entre el mensaje escrito y el sms.

    Nota: luego de copiar la primera letra, sí encuentra una palabra nueva que requiera simplificar, salte las letras que no son necesarias.

    Rúbrica: Definición de la función (5 puntos), sustitución de palabras (10 puntos), eliminación de espacios (5 puntos) y programa que integra el uso de la función (5 puntos)

  • 2Eva_IT2009_T2 Adivinar una palabra desordenada

    2da Evaluación I Término 2009-2010. Septiembre 01, 2009 /ICM00794

    Tema 2 (20 puntos). En un juego de adivinanza, un primer jugador escribe una palabraA, se desordenan sus letras, y se muestran al otro jugador (usando la función del tema anterior).

    El jugador que desea adivinar, usando las letras mostradas, escribe otra palabraB. Si es igual a palabraA gana el juego, sino, tiene tantas oportunidades como letras haya en la palabra.

    Ejemplo:
     palabraA: roma
     desordenada: oamr
     adivina: omar
     adivina: ramo
     adivina: roma
     adivinaste...!!!

    a) Realice la función equivocadas(palabraA, palabraB), la cual compara dos palabras de igual tamaño e indica cuantas letras no son iguales.
    b) Presente un programa para realizar el juego propuesto y que utilice las funciones descritas anteriormente.

    Sugerencia: Se supone que la función del tema anterior está completa y correcta

    Rúbrica: Función “equivocadas” (8 puntos), programa del juego y uso de funciones (12 puntos)

  • 2Eva_IT2009_T1 Desordenar una palabra

    2da Evaluación I Término 2009-2010. Septiembre 01, 2009 /ICM00794

    Tema 1 (10 puntos). Realice la función desordena(palabra), la cual recibe una palabra y desordena las letras en forma aleatoria.

    Ejemplo:
    >> desordena(‘roma’) 
             ans=‘mora’

    Sugerencia: Para cada letra, seleccione aleatoriamente otra letra de la palabra con la que intercambiarán posiciones.

    Rúbrica: Planteo sintáctico de la función (3 puntos), intercambio aleatorio (7 puntos)

  • 2Eva_IIT2008_T2 Etiquetar a robots (R2D2)

    2da Evaluación II Término 2008-2009. Febrero 10, 2009 /ICM00794

    Tema 2 (25 puntos) Una empresa robótica quiere etiquetar a sus robots con un nombre de n caracteres, alternando entre letras y números escogidos de forma aleatoria. Realice una función nrobot(n) para obtener lo requerido. R2D2 Arturito

    >> nrobot(4)
     ans = R2D2
    
    >> nrobot(4)
     ans = C3P0

    Nota: podría usar un arreglo de números y otro de letras, para seleccionar aleatoriamente una letra o número.

    Rúbrica: Función correctamente declarada (5 puntos), Escoger letra o número aleatoriamente (5 puntos), combinar los caracteres y formar el nombre (5 puntos), Solución integrada y funcional (10 puntos).

  • 2Eva_IT2008_T2 Validar cédula ecuatoriana

    2da Evaluación I Término 2008-2009. Septiembre 2, 2008 /ICM00794

    Tema 2. (25 puntos).

    Escriba una función validaid(cédula) que valide si un número de cédula ingresado es válido.
    Para validar una cédula de identidad ecuatoriana el proceso es el siguiente:

    Ejemplo: 0909407173
    El décimo es dígito verificador que se validará es el dígito verificador
    Se trabaja con los primeros 9 dígitos de la cédula 090940717
    Cada dígito de posición impar se lo duplica, si el resultado es mayor que nueve se resta nueve 090980515
    Se suman todos los resultados de posición impar 0+0+8+5+5 = 18
    Se suman todos los dígitos de posición par 9+9+0+1 = 19
    Se suman los dos resultados. 18+19 = 37
    Se resta de la decena inmediata superior; en caso de ser 10, el resultado se vuelve a restar 10 40 – 37 = 3
    Este es el verificador “calculado” 3
    Si el dígito verificador es igual al verificador “calculado”, la cédula es válida, caso contrario es falsa 3 = 3 Cédula válida
  • 2Eva_IIT2007_T1 Palabras aleatorias alternando vocal y consonante, genword

    2da Evaluación II Término 2007-2008. Febrero 12, 2008 /ICM00794

    Tema 1. (25 puntos) Elabore una función GenWord para generar palabras conformadas de n letras escogidas de forma aleatoria, que pueden ser válidas o no en el idioma español.

    Para realizar la función se sugiere conformar una palabra de n letras, empezando con vocal o consonante y luego alternando entre vocal y consonante. Las letras se escogerán entre un arreglo de vocales y un arreglo de consonantes.

    Elabore un programa que permita:

    a) Leer y validar la cantidad de m palabras a generar.
    b) Para cada palabra generada, llamando previamente a la función GenWord, pedir al usuario si la palabra es válida o no.
    c) Mostrar el total de palabras válidas encontradas.

    Ingrese la cantidad de palabras: 4
    Palabra generada: VELA
    Desea aceptarla (1: Si, 0: No): 1
    Palabra generada: IBUX
    Desea aceptarla (1: Si, 0: No): 0
    Palabra generada: ADAN
    Desea aceptarla (1: Si, 0: No): 1
    Palabra generada: CARO
    Desea aceptarla (1: Si, 0: No): 1
    total de palabras válidas: 3

    Referencia: Mono infinito. https://es.wikipedia.org/wiki/Teorema_del_mono_infinito

  • 2Eva_IT2006_T3 Encriptar a Morse

    2da Evaluación I Término 2006-2007. Agosto 29, 2006 /ICM00794

    Tema 3 (35 puntos)

    Cierta organización ha implementado un medio encriptación de sus números de cuentas a través de un traductor de códigos Morse para números:

    Tabla morse
    0 = -..- 1 = ..-. 2 = ..- 3 = .- 4 = .-..
    5 = -.. 6 = -.-. 7 = …- 8 = -.- 9 = -.
    • Escriba una función que reciba un número de cuenta y retorne su equivalente en código Morse numérico
    • Escriba una función que reciba un número en código Morse y retorne en número original.
    • Escriba un programa principal que permita ingresar un número de cuenta entero de 4 dígitos y ofrezca el siguiente menú de opciones: (5 puntos)
    1. Ingresar Cuentas a traducir
    2. Traducir a código Morse
    3. Traducir a número original
    4. Salir
    equivale = [ '-..-' , '..-.' , '..-' , '.-' , '.-..' ,
                 '-..' , '-.-.' , '…-' , '–.-' , '-.' ]
    

    Nota: los números de cuenta son enteros de varios dígitos. En Morse, la cadena de símbolos separa los dígitos por un espacio.

    Rúbrica: función codificar con varios dígitos (15 puntos), funcion decodificar con varios dígitos (15 puntos). Uso de menú (5 puntos)

    Referencia: http://blog.espol.edu.ec/estg1003/morse-codificador/

  • 2Eva_IT2005_T3 Adivina palabra (ahorcado)

    Final I Término 2005 – 2006. Agosto 28, 2005 /ICM00794

    Tema 3. (35 puntos). Adivina la palabra: Es un juego que consiste en presentar una cantidad de espacios numerados dependiendo de la longitud de una palabra.

    El jugador deberá de adivinar la letra oculta de los respectivos espacios conociendo solamente si es una vocal o consonante.
    juegoahorcado

    El jugador podrá tener como máximo 5 fallas antes de completar la palabra o perderá el juego.

    Con el fin de programar el juego, escriba en matlab una función esvocal(caracter) que reciba un carácter y retorne 1 si es vocal y 0 si no lo es (entonces es consonante)

    Escriba un programa en matlab que simule el juego descrito ingresando una palabra inicial de acuerdo a la siguiente muestra:

    >>juego
    Palabra: ECUADOR
    Letras:
    1 2 3 4 5 6 7
    FALLOS=0:
    Ingrese Letra 1 y es vocal: E
    E 2 3 4 5 6 7
    FALLOS=0
    Ingrese Letra 2 y es consonante: C
    E C 3 4 5 6 7
    FALLOS=0
    Ingrese Letra 3 y es vocal: O
    E C 3 4 5 6 7
    FALLOS=1
    Ingrese Letra 3 y es vocal: U
    E C U 4 5 6 7
    FALLOS=1
    Ingrese Letra 4 y es vocal: _
    …
    

    Notas: Convierta la palabra ingresada en mayúsculas. En el programa use la función vocal(caracter). Para convertir enteros a carácter use int2str().

    Rúbrica: función vocal (10 puntos), convertir palabra a numeros (5 puntos),  reemplazo de numero por letra (5 puntos), juego general (15 puntos)