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

2Eva_IIT2013_T1 Cable submarino para internet

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

Tema 1 (25 puntos) Para disponer del servicio de internet con banda ancha en una isla turística, se proyecta instalar un cable submarino de fibra óptica desde la costa continental. Se dispone de una tabla con los datos (x, y, z) para el anclaje del cable en el lecho marino correspondientes a las coordenadas tipo rectangulares en kilómetros y la profundidad en cada punto en metros.

a) Realice una función, que dada las coordenadas y la profundidad entre dos puntos, calcule el costo equivalente del tendido del cable entre los puntos. Suponga que costo de instalación de un cable submarino de fibra óptica se determina por:

  • La extensión del cable por kilómetro es $ 100, suponiendo que es en línea recta entre anclajes
  • La profundidad del punto más bajo entre los dos anclajes conforme a la tabla siguiente:

Costo por km de cable = $100

Profundidad (m) Costo anclaje($)
<10 $ 500
Entre 10 y 30 $ 1000
mayor de 30 $ 3000

b) Realice un programa para ingresar la tabla de datos de anclaje y usando la función anterior, calcule el costo total del tendido del cable entre el continente y la isla (puntos consecutivos). También encuentre y muestre cuál es el tramo que representa el mayor costo.

Nota: Suponga que las unidades de las coordenadas se encuentran en km y la profundidad en metros.

Distancia entre dos puntos en el espacio:

d = \sqrt{(x_2-x_1)^2+(y_2-y_1)^2+(z_2-z_1)^2}

Rúbrica: Definir función (5 puntos), cálculo con unidades (5 puntos), usar función en programa (5 puntos), Costo total (5 puntos). Tramo caro (5 puntos)

2Eva_IT2013_T4 Control de cupos de gasolina

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

Tema 4. (40 puntos) Una gasolinera vende por mes cupos pre-pagados de combustible para empleados de las empresas, luego de consumido el cupo se debe cancelar el consumo excedente.

  • Para ingresar un nuevo comprador se requiere de cédula y cupo.
  • Se puede consultar el saldo de cupo en la opción, de no existir registro, mostrar “cliente no registrado para cupo”.
  • En cada venta para cargar combustible, el empleado proporciona su cédula y la cantidad de galones a llenar. El programa le presenta para el despacho la cantidad a despachar “dentro de cupo” y de ser necesario la cantidad de galones que “excede del cupo”.

Realice un programa con el menú mostrado para realizar el control de despacho por cupos en la gasolinera.

>> controlcombustible.m
Menú:
1. Nuevo comprador
2. Saldo de cupo
3. Registro de venta
4. Salir
-- ¿Cuál opción?: 1
Cédula de comprador: 0912345678
Cupo pre-pagado: 20
-- ¿Cuál opción?: 2
Ingrese cédula: 0912345678
Saldo cupo: 20
Consumido en el mes: 0
-- ¿Cuál opción?: 3
Ingrese cédula: 0912345678
Cantidad a llenar: 5
- dentro de cupo: 5
- excede del cupo: 0
saldo después de venta: 15
-- ¿Cuál opción?: 3
Ingrese cédula: 0912345678
Cantidad a llenar: 20
- dentro de cupo: 15
- excede del cupo: 5
saldo después de venta: 0
-- ¿Cuál opción?: 4
Gracias por usar el software

Referencia: www.expreso.ec 7/08/2013 – La reducción del subsidio a la gasolina, tema de análisis.
www.eluniverso.com 24/08/2014 -SRI pide datos de usuarios en venta de gasolina

Rúbrica: Menú estructurado (5 puntos), opción 1 (5 puntos), opción 2 (15 puntos), opción 3 (10 puntos), actualizar cupos (5 puntos).

 

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_IT2013_T2 Una Tabla de Bingo con arreglos

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

Tema 2. (20 puntos). Para una tarde de bingo se usaran tablas generadas con las siguientes reglas:

  • Los 5 números en cada columna son aleatorios ordenados no repetidos de acuerdo al rango asignado por columna.
  • La casilla central de la tabla tiene valor marcado cero o ‘libre’.

Realice un programa para generar una tabla de bingo.

Columna /Rango:
B entre 1 – 15
I entre 16 – 30
N entre 31 – 45
G entre 46 – 60
O entre 61 – 75
Tabla de Bingo
B I N G O
2 16 32 46 61
4 19 34 47 63
6 22 libre 49 66
7 25 37 54 70
8 26 42 60 73

Nota: Puede hacer uso de la función del tema anterior sorteoentre(K,a,b). 2Eva_IT2013_T1 Función sorteoentre(k,a,b)

Rúbrica: Programa estructurado (5 puntos), uso de funciones (5 puntos), llenado de matriz (5 puntos), salida (5 puntos)

 

2Eva_IT2013_T1 Función sorteoentre(k,a,b)

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

Tema 1. (15 puntos) Realice una función sorteoentre(k,a,b) que selecciona k números aleatorios no repetidos en el rango comprendido entre a y b.
La función entrega un vector ordenado en forma ascendente.

>> sorteoentre(5,1,15)
ans = 2 4 6 7 8
>> sorteoentre(5,16,30)
ans = 16 19 22 25 26

No use las funciones definidas en MATLAB.

Rubrica: Definición de función (5 puntos), generar vector no repetidos (5 puntos), vector ordenado (5 puntos)


propuesta: s2Eva_IT2013_T2 Una Tabla de Bingo con arreglos

2Eva_IIT2012_T3 Contar y validar único en rango

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

Tema 3 (20 puntos)
a) Escriba una función contando(vector, n), que reciba un vector de números enteros y cuente el número de veces que se encuentra cada número en el rango entre 1 y n. Los números fuera de rango se descartan del conteo.

m
 i 1 2 3 4 5 6 7 8
 vector[i] 2 4 5 6 1 2 4 5
Ejemplo: contando(vector,6)
 n
 k 1 2 3 4 5 6
 cuenta[k] 1 2 0 2 2 1

b) Realice una función unicorango(vector, n), que muestre si los números en el vector no son repetidos y se encuentran en el rango entre 1 y n.

Ejemplos:
>>vector= [1 2 4 5 ]
 >> unicorango(vector,6)
 ans=1
>>vector= [ 1 4 4 7 ]
 >> unicorango(vector,6)
 ans=0

Rúbrica: Definición de funciones (5 puntos), contadores (5 puntos), validación de únicos (5 puntos), validación de rango (5 puntos).

2Eva_IIT2012_T4 Elecciones directiva FCNM

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

Tema 4 (30 puntos) La Facultad de Ciencias Naturales y Matemáticas (FCNM) se conforma de tres departamentos: Física, Química y Matemáticas.

Para elegir el Consejo Directivo de la FCNM se requieren seleccionar cuatro profesores entre los candidatos por votación en base a las siguientes reglas:

  • El candidato(a) que obtenga la mayor cantidad de votos.
  • Un candidato(a) de cada uno de los tres departamentos que obtenga la mayor cantidad de votos.

Existen dos candidatos por cada departamento identificados por un número entero (ver tabla ejemplo b).

Escriba un programa para la selección del Consejo Directivo siguiendo los procesos de votación y selección.

a) Proceso de Votación:
Para cada votante se debe realizar:

a.1. Ingreso y validación de papeleta.- Se llena un vector papeleta con los números de 4 candidatos.
Se valida que cada voto en la papeleta sea único y que correspondan a un candidato, sino se la descarta y se llena de nuevo.
Puede usar la función unicorango() del tema anterior.

a.2. Registro del voto.- la papeleta valida se añadirá al vector que contiene todos los votos del proceso.

Ejemplo a.1 :
 >> unicorango(papeleta,6)
 ans=1

si la papeleta es:

i papeleta(i)
1 1
2 2
3 4
4 5
a.2. Registra voto

j voto(j)
1 2
2 4
3 5
4 6
5 1
6 2
7 4
8 5

b) Proceso de selección:
Consiste en realizar el conteo de votos por candidato, usando el vector voto.
Puede usar la función contando() del tema anterior.
Luego muestre los seleccionados conforme a las reglas especificadas.

c) Muestre los seleccionados.

Nota: El tema no considera la posibilidad de votos blancos o nulos.
Para declarar un arreglo vacío: voto=[ ];

Ejemplo b)
Dep. Candidato conteo más votos Selecc.
/ Dep.
Física 1 25 1
2 29 2
Química 3 23 3
4 2
Matemáticas 5 24 5
6 13
candidatos seleccionados: 1, 2, 3, 5

Referencia: Convocatoria elecciones FCNM-ESPOL-2013.  www.espol.edu.ec/tribunal/

Rubrica: literal a.1 (5 puntos), literal a.2 (10 puntos), uso correcto de las funciones (5 puntos), literal c. (10 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_IIT2012_T1 Recursiva Multi

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

Tema 1 (20 puntos). La siguiente definición recursiva permite calcular la multiplicación de dos números enteros no negativos.

multi(p,q) = \begin{cases} 0, & q=0\\ p+multi(p,q-1), & q>0\end{cases}
  • Escriba una función recursiva multi(p,q).
  • Desarrolle una prueba de escritorio para multi(3,5)

Rúbrica: literal a (15 puntos), literal b (5 puntos)