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

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

1Eva_IT2013_T2 Código de barras- simbología discreta

1ra Evaluación I Término 2013-2014, Julio 2, 2013 /ICM00794

Tema 2. (25 puntos) El código de barras utiliza líneas paralelas verticales (barras y espacios) que representan información en su equivalente binario.

El código es muy usado en los puntos de ventas y es “leído” por un dispositivo láser (scanner).

Para facilitar la lectura por scanner se usa el método de “simbología discreta”, en el que se marca el inicio, separación y fin de los datos con  la secuencia barra/espacio/ barra (101) por cada grupo de 10 bits (dígitos binarios).

Elabore un algoritmo que permita cambiar un código de producto conformado por dos números de 3 cifras a su equivalente en código de barras usando simbología discreta.

>> codigobarras
1er Número: 725
2do Número: 673
101 1011010101 101 1010100001 101

Nota Matlab: Mostrar todos los dígitos fprintf(‘% .0d ‘, número).
Referencia: http://es.wikipedia.org/wiki/C%C3%B3digo_de_barras
Rúbrica: Cambio decimal a binario (10 puntos), simbología discreta (10 puntos), resultado (5 puntos).

1Eva_IT2007_T2 Convertir decimal a hexadecimal

1ra Evaluación I Término 2007 – 2008. Julio 03, 2007 /ICM00794

Tema 2. (30 puntos) El procedimiento para convertir un número que está en base 10 (sistema decimal) a base 16 (sistema hexadecimal) consiste en divisiones sucesivas para 16 hasta que el cociente sea 0.

Considere que el número entero positivo a convertir no puede exceder de 5 cifras y que se guardará en un arreglo, en donde cada ubicación almacenará la cifra en código hexadecimal equivalente.

Elabore un algoritmo tal que, dado un número leído por teclado (válido en base 10), muestre por pantalla el mismo número en base 16, pero considerando mostrar el símbolo hexadecimal a partir del 10 (A = 10, B = 11, C=12, D = 13, E = 14, F = 15)

A continuación se muestra la representación en el arreglo, del ejemplo descrito: (Para hexadecimal las cifras se muestran de derecha a izquierda)

Ejemplo:
30748 16
(12) 1921 16
(1) 120 16
(8) 7 16
(7) 0
12 1 8 7
C 1 8 7
3074810 -> 781C16

 

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”