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_IIT2008_T1 Contar palabras para un clasificado

3ra Evaluación II Término 2008-2009. Marzo 3, 2009 /ICM00794

Tema 1 (20 puntos). Publicar un anuncio en la sección clasificados de un periódico tiene costo por palabra para lo cual se solicita realizar en matlab lo siguiente:

Crear una función totalpalabras(mensaje), que dado un mensaje retorne la cantidad de palabras contenidas.

Realizar un programa para solicitar un mensaje y el precio por palabra, muestre al final el precio final del clasificado.

Solicito Asistente oficina Publicidad, 320 promedio, 4horas. Telf 555444 Silvia Sierra

Ejemplo:
>>mensaje=’Solicito Asistente oficina Publicidad, 320 promedio, 4horas. Telf 555444 Silvia Sierra’
>> totalpalabras(mensaje) respuesta=11

Nota: Considerar que las palabras están separadas por comas, puntos, o espacios. Los espacios no cuentan si le precede un punto o coma.

Rúbrica: definición función (5 puntos), algoritmo (10 puntos), programa (5 puntos).

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_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

3Eva_IIT2013_T3 buscar cadena en una frase

3ra Evaluación II Término 2013-2014, Febrero 25, 2014 /ICM00794

Tema 3. (25 puntos) Realice una función en buscarcadena(frase, cadena) que entrega un vector con la posición inicial de todas las veces que aparece una cadena de caracteres en una frase.

>>frase= ‘cada proyecto tiene programas y compromisos’
>>cadena=’pro’
>> buscarcadena(frase, cadena) ans = 6 21 36

Nota: Se debe describir el algoritmo completo, NO use la función strfind() incluida en matlab,
Rúbrica: Definir función (5 puntos), buscar letra (5 puntos), validar cadena buscada (5 puntos) crear vector de resultados (10 puntos)

2Eva_IIT2013_T2 Verificar secuencia ADN

2da Evaluación II Término 2013-2014, Febrero 11, 2014 /ICM00794

Tema 2. (25 puntos) Una cadena ADN se representa como una línea de texto con los caracteres A, C, G, T en cualquier secuencia.

Se considera que cada par de caracteres consecutivos está ordenado si el carácter a la izquierda es alfabéticamente menor o igual que el carácter a la derecha.

Escriba una función para determinar cuántos pares de una cadena ADN están ordenados.
La función debe verificar que la cadena tenga caracteres válidos, caso contrario, el resultado es un número negativo.

Ejemplo: 
>>cadena= CCGAATCGTA 
>>ordenados(cadena) 
ans=6 
>>cadena= CBGAATCGWA 
>>ordenados(cadena) 
ans=-2

Rúbrica: definir función (5 puntos), validar caracteres (5 puntos), contar pares ordenados (10 puntos)

Referencia: https://es.wikipedia.org/wiki/Gattaca

3Eva_IT2013_T1 Verificar un Abecegrama

3ra Evaluación I Término 2013-2014, Septiembre 10, 2013 /ICM00794

Tema 1 (25 puntos). Realice un programa que reciba un texto, y verifique si es un abecegrama mostrando el mensaje "Es un abecegrama" ó "No es un abecegrama".

Un abecegrama consiste en realizar un texto utilizando la inicial de cada letra del abecedario en orden ascendente, pero pudiendo elegir la letra del abecedario que se quiera para empezar.

Ejemplo: iniciando con la ‘a’:

anoche brillaron cerca, dos estrellas fugaces;
g
ravitaban hermosas iluminando juntas kilométricos lugares;
m
ágicos negros ñublos;
o
riginaban planetas que relucían surcando tenues universos,
vertiendo wolframio, xenón y zafiros.’

Francisco Briz Hidalgo, Juegos de palabras.

Nota: No considerar para ésta evaluación las letras del alfabeto en español ‘ch’ y ‘ll’

Sugerencia: buscar posición de letras dentro del alfabeto y usar el número como banderas para verificación de orden.

Rúbrica: programa estructurado (5 puntos), posición de letra en alfabeto (5 puntos), registro de orden de letras (10 puntos), verificación de orden (5 puntos),


Referencia: Conceptos de abecegramas: https://www.juegosdepalabras.com/abc/abecegrama.htm

2Eva_IT2013_T3 Verificar anagrama

2da Evaluación I Término 2013-2014, Agosto 27, 2013 /ICM00794

Tema 3. (25 puntos) Un anagrama es una palabra o frase que resulta de la transposición de letra de otra palabra o frase, como se muestra en el ejemplo.

Otro ejemplo, en la serie Harry Potter, versión en español, el nombre del personaje “Tom Sorvolo Ryddle” convierte en la frase “Soy Lord Voldemort”
Ambas cadenas contienen la misma cantidad de caracteres.

Realice un programa que solicite dos palabras y muestre: “es un anagrama” o “no es un anagrama”.

Sugerencia: use banderas para determinar si coinciden las letras en diferente orden.
Referencia: http://es.wikipedia.org/wiki/Anagrama

Rúbrica: programa estructurado (5 puntos), comparación por letra (15 puntos), validación de letras (5 puntos)

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)