Etiqueta: cadenas de caracteres

string, texto

  • 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_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_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_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”
  • 3Eva_IIIT2004_T4 Enmascara frase cambiando pareja de letras

    Mejoramiento III Término 2004 - 2005. Marzo, 2005 /ICM00794

    Tema 4. Un esquema simple para enmascarar un mensaje consiste en intercambiar cada par de caracteres.

    Ejemplo: 
    con la frase: 'TE SALUDO', 
    se obtiene; ' ETSLADUO'

    Escriba un programa que lea desde el teclado una línea de texto, enmascárela y almacénela en un archivo llamado 'mensaje.txt'

    Escriba un segundo programa que lea del archivo 'mensaje.txt' la línea de texto, la desenmascare y muestre en pantalla el texto.

  • 3Eva_IT2000_T1 Validar caracteres tipo numérico

    Mejoramiento I Término 2000 - 2001. Septiembre 24, 2000 /ICM00794

    Tema 1.
    a) Escriba una función esnumero(caracter) que permita ingresar y validar un caracter numérico.

    b) Escriba una función tresdigitos(numero) que permita ingresar un número de exactamente 3 dígitos entre 100 y 999, haciendo uso de la función anterior.


    Ejemplo:

    >>> esnumero('a')
    'no es numerico'
    >>> esnumero('1')
    True
    >>> esnumero('15')
    'varios caracteres'
    >>> 
    
    >>> tresdigitos('12a')
    0
    >>> tresdigitos('123')
    1
    
  • 2Eva_IIT2012_T2 Cifrado César

    2da Evaluación II Término 2012-2013, Enero 29, 2013 /ICM00794

    Tema 2 (30 puntos) Dice la historia que la criptografía fue utilizada por los gobiernos para comunicaciones secretas durante las campañas militares. encriptacinturon

    En el siglo I A.C., Julio César usó un algoritmo que consistía en desplazar tres espacios hacia la derecha las letras del texto siguiendo el orden alfabético.

    Realice una función cifradocesar (mensaje, llave) que usa una variante del método descrito para cifrar el mensaje, desplazando cada letra del mensaje en el alfabeto las posiciones que indique la “llave”. Con el resultado, el mensaje original no es reconocido a menos que se use el valor negativo de la “llave”.

    Considerar que siguiente posición de la letra “Z” será la “A”, y la anterior a la letra “A” será la “Z”.

    Ejemplo:
    >> mensaje=’HOLA’ , llave=+3;
    >> cifradocesar(mensaje,llave)
     ans=KROD
    >> mensaje=’KROD’ , llave =-3;
    >> cifradocesar(mensaje,llave)
     ans=HOLA

    Rúbrica: definición de función (5 puntos), posición letra en alfabeto (7 puntos), desplazamiento (10 puntos), desplazamiento negativo (8 puntos)

    Referencia: Cifrado César, http://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar

  • 2Eva_IT2012_T2 Número de tecla en cifrado musical con Python

    2da Evaluación I Término 2012, Agosto 28, 2012 /ICM00794

    Tema 2. (25 puntos) El cifrado musical americano deriva de la notación griega que nombraba las notas musicales desde la letra alfa hasta la gamma; piano octava numera tecla

    siendo alfa la nota “la” actual y gamma la nota “sol“ actual, tal como se muestra en el teclado del piano en la figura.

    Realice una función teclanum(canción), que permita recibir una canción en cifrado americano mediante una cadena de caracteres, y la transforme en un arreglo que represente el número de la tecla a ser usada en secuencia.

    Ejemplo:
    >> cancion = 'EFGGFEDCCDEED'
    >> teclanum(cancion) 
    ans= 5 6 8 8 6 5 3 1 1 3 5 5 3

    Nota: Considere un arreglo de letras y símbolos ordenados por posición, al implementar # observe que le añade una posición (+1) a la tecla anterior.

    Referencia: http://es.wikipedia.org/wiki/Cifrado_ingl%C3%A9s ,
    http://www.bgfl.org/custom/resources_ftp/client_ftp/ ks2/music/piano/index.htm

    Rúbrica: Definición de función (5 puntos), selección de numero de tecla (10 puntos), determinar tecla con dos caracteres (10 puntos)

  • 2Eva_IT2011_T4 Números Romanos a decimal

    2da Evaluación I Término 2011, Agosto 30, 2011 /ICM00794

    Tema 4 (25 puntos). Realice un programa que reciba una cadena de caracteres, que representa un número romano y la convierta a número en base decimal.

    El equivalente de números romanos se muestra en la tabla, y para la conversión considere solo las siguientes reglas:

     Tabla de equivalentes
    Romano I V X L C D M
    Decimal 1 5 10 50 100 500 1000
    • Si a la derecha de una cifra romana de escribe otra igual o menor, el valor de ésta se suma a la anterior.
    • Si entre dos cifras romanas cualesquiera existe otra menor, ésta restará su valor a la siguiente. Casos para I, X y C
    • En ningún número se puede poner una misma letra más de tres veces seguidas.
    • Suponga que la cadena de caracteres corresponde a un número romano válido.
    Ejemplos:
    Romano: CLXIII C L X I I I
    Decimal: 163 +100 +50 +10 +1 +1 +1
    Romano: CXLIX C X L I X
    Decimal: 149 +100 -10 +50 -1 +10

    Rúbrica: cálculo de equivalencias aditivas (10 puntos), equivalencias con signo menos (15 puntos)

  • 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).