3Eva_IIT2014_T2 última sílaba

3ra Evaluación II Término 2014-2015, Marzo 10, 2015 /ICM00794

Tema 2 (20 puntos) Realice una función ultimasilaba(palabra) que al recibir una palabra retorne los dos o tres últimos caracteres.
Si la última letra es una vocal, la respuesta serán las dos últimas letras, si es consonante la respuesta contiene las tres últimas letras.

>>> ultimasilaba('casa')
'sa'
>>> ultimasilaba('color')
'lor'
>>> ultimasilaba('examen')
'men'

Referencia: http://www.wikilengua.org/index.php/S%C3%ADlaba

Rúbrica: definir función (5 puntos), determinar vocal o consonante (8 puntos), repuesta condicionada (7 puntos).

3Eva_IT2014_T4 Función siembra

3ra Evaluación I Término 2014-2015, Septiembre 16, 2014 /ICM00794

Tema 4. (25 puntos) Realice una función siembra(tablero, fila, columna) que en un tablero de 2×8, siguiendo el sentido de las manecillas del reloj, distribuye la cantidad de fichas en la casilla indicada por fila y columna, equitativamente una a una entre las casillas contiguas.

Observe que dependiendo de la fila, la siguiente casilla es o a la izquierda o a la derecha de donde estaba.

Al redistribuir el valor:

  • Se empieza a partir de la siguiente casilla seleccionada.
  • Si la siguiente casilla está fuera del tablero, se cambia de fila, invierte el sentido entre izquierda o derecha, y se corrige regresando al tablero en el mismo extremo.
  • Se incrementa el valor de la casilla

Repitiendo el proceso hasta que no queden fichas.

>>tablero
0 4 4 4 4 4 4 0
0 4 4 4 4 4 4 0
>>siembra(tablero,1,5)
0 4 4 4 0 5 5 1
0 4 4 4 4 4 4 1
>>siembra(tablero,2,2)
1 5 5 4 4 4 4 0
1 0 4 4 4 4 4 0

Rúbrica: definir función (5 puntos), asignar sentido (5 puntos), añadir valor a casillas (5 puntos), control del valores, tamaños, validar extremos (10 puntos)

3Eva_IT2012_T3 Tonalidad de colores en GIF

3ra Evaluación I Término 2012-2013, Septiembre 11, 2012 /ICM00794

Tema 3 (25 puntos). El formato GIF para imágenes digitales, usa la técnica de color indexado con 256 tonalidades de color por pixel [0-255] en una matriz de pixeles de tamaño nxm.

Se requiere separar los distintos colores, para identificar y determinar las cantidades de cada tonalidad de color mediante el uso de un vector de frecuencias [0-255].

Realice una función colorimg(imagen) que reciba la matriz de una imagen de tamaño nxm y presente como resultado el vector de frecuencias de los colores indexados.

imagen.gif
30 30 30 0 0
30 30 30 0 0
170 170 30 30 0
80 80 170 30 30
80 80 80 170 170
>>frecuencia=colorimg(imagen)
    color = [0, 1, 2, ..., 30, ..., 80, ..., 170, ...]
frecuencia =[5, 0, 0, ..., 10, ...,  5, ...,   5, ...]
usar para ejemplo en python:
matriz = np.array([[30, 30, 30, 0, 0],
                   [30, 30, 30, 0, 0],
                   [170, 170, 30, 30, 0],
                   [80, 80, 170, 30, 30],
                   [80, 80, 80, 170, 170]])

Nota: El rango de color es [0-255] y el indice de frecuencias es [1-256] en matlab
Referencia: http://www.ecured.cu/index.php/Color_indexado

Rúbrica: Definición de Función (5 puntos), manejo de tamaño de matriz (5 puntos), vector de frecuencias (15 puntos).

3Eva_IIT2012_T2 Practicar alfabeto radiofónico con Python

3ra Evaluación II Término 2012-2013, Febrero 20, 2013 /ICM00794

Tema 2 (30 puntos). Realice un programa para practicar el uso del alfabeto radiofónico usando un menú como el siguiente:

https://www.icao.int/about-icao/Pages/ES/default_ES.aspx
https://www.icao.int
  1. Mostrar alfabeto radiofónico.- muestra la tabla del alfabeto radiofónico.
  2. Prueba de escritura.- Presenta una cadena con 6 letras del alfabeto generadas de forma aleatoria, pregunta al usuario la conversión a alfabeto radiofónico, luego verifica y muestra si fue correctamente escrita. Si hay errores se permiten hasta 3 intentos para completarla.
  3. Prueba de lectura. Presenta una cadena con 6 palabras del alfabeto radiofónico seleccionadas de forma aleatoria, luego pregunta al usuario las letras correspondientes, verificando y mostrando si se superó la prueba. En caso de errores, solo admiten hasta 3 intentos para superar la prueba.
  4. Salir
>> radiofono
 ** Entrenamiento Alfabeto Radiofónico **
 1. Mostrar alfabeto radiofónico
 2. Prueba de escritura
 3. Prueba de lectura
 4. Salir
 ¿cuál opción?:2
 ** Prueba de escritura
 GUAYAS
 Escriba código:
 GOLF UNIFORM ALFA YANKEE ALFA SIERRA
 Correcto…!
 ¿cuál opción?:3
 ** Prueba de Lectura
 GOLF UNIFORM ALFA YANKEE ALFA SIERRA
 Escriba código: GUAYAS
 Correcto....!

Nota: Puede usar las funciones del tema anterior. Para comparar cadenas: strcmp(a ,b).

Rúbrica: menú (5 puntos), ítem 1 (5 puntos), ítem 2 (5 puntos), ítem 3 (10 puntos), Programa estructurado (5 puntos)


Referencia: Parte 1: 3Eva_IIT2012_T1 Alfabeto radiofónico con Python

Wikipedia: Alfabeto radiofónico

3Eva_IIT2012_T3 Funciones mayor y contar

3ra Evaluación II Término 2012-2013, Febrero 20, 2013 /ICM00794

Tema 3 (20 puntos).
a) Realice una función rangomayor(matriz), que recibe una matriz de números enteros y devuelve el número de mayor valor.

b) Escriba una función cuenta(matriz,k) que reciba una matriz de números enteros y cuente las veces que aparece el número k dentro de la matriz.

c) Realice una función contartodos(matriz), que recibe una matriz de números enteros y entrega un vector con las veces que se presentan cada número en la matriz. Ejemplo:

matriz
0 3 4
2 2 3
0 2 1
>> rangomayor(matriz) ans=4
>> cuenta(matriz,2) ans=3
>> contartodos(matriz)
Número 1 2 3 4
Veces: 1 3 2 1

Nota: Para este tema se requiere presentar las funciones y sus soluciones algorítmicas (no use las existentes en matlab), puede hacer uso de las funciones entre literales de este tema.

Rúbrica: definición de funciones (3 puntos), literal a (5puntos), literal b (5 puntos), literal c (7 puntos).

3Eva_IT2012_T2 Validar infix y convertir a prefix

3ra Evaluación I Término 2012-2013, Septiembre 11, 2012 /ICM00794

TEMA 2 (25 puntos) Las expresiones aritméticas en notación INFIX establece que en medio de los operandos (números[0-9]) debe existir un operador aritmético conocido (+, –, *, /).

En la computadora a veces se necesita representar la operación en notación PREFIX, la cual establece que primero se colocan el operador aritmético y luego los operandos.

Suponga que solamente tendrá como operandos números de una cifra.

Ejemplo:
INFIX PREFIX
2+3 + 2 3
>>validainfix('2+3') 
ans= 1
>>validainfix('23+') 
ans=0
>>in2prefix('2+3') 
ans= + 2 3
9-6 – 9 6
5*4 * 5 4
8/7 / 8 7

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

b) Escriba la función in2prefix(cadena), la cual recibe una cadena de 3 caracteres previamente validado (llame a la función validar), y convierta la operación de notación INFIX a notación PREFIX.

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

3Eva_IIT2012_T1 Alfabeto radiofónico con Python

3ra Evaluación II Término 2012-2013, Febrero 20, 2013 /ICM00794

Tema 1. (20 puntos). El alfabeto radiofónico establecido por Organización de Aviación Civil Internacional (OACI),

https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Military_history/News/April_2016/Book_reviews#/media/File:Bundesarchiv_Bild_101I-198-1395-08A,_Russland,_Soldat_und_Funker_in_Deckung.jpg
A German Army sergeant and radio operator in 1943

es un lenguaje para la comunicación empleado cuando es importante que no se produzcan errores en la comprensión de datos o códigos tal como para deletrear la identificación de un contenedor de carga, una aeronave, etc.

letra Palabra Letra Palabra Letra Palabra
A Alfa J Juliet S Sierra
B Bravo K Kilo T Tango
C Charlie L Lima U Uniform
D Delta M Mike V Victor
E Echo N November W Whiskey
F Foxtrot O Oscar X X-ray
G Golf P Papa Y Yankee
H Hotel Q Quebec Z Zulu
I India R Romeo

a) Realice una función coderadio(secuencia) que reciba una secuencia de letras y entregue una cadena de caracteres con las palabras del alfabeto radiofónico. Ejemplo:

>>> coderadio('ESPOL')
Echo Sierra Papa Oscar Lima

b) Escriba una función decoradio(cadena) que reciba una cadena de caracteres con las palabras del alfabeto radiofónico, y muestre la secuencia de letras. Ejemplo:

>>> decoradio('Echo Sierra Papa Oscar Lima')
ESPOL

Nota: para declarar una cadena vacía: cadena='', para unir cadenas puede usar strcat(a,b).
Rúbrica: definición de funciones (5 puntos), literal a. (5 puntos), literal b.(10 puntos)


radiofonico = [['A','Alfa'],   ['B','Bravo'], ['C','Charlie'],
               ['D','Delta'],  ['E','Echo'],  ['F','Foxtrot'],
               ['G','Golf'],   ['H','Hotel'], ['I','India'],
               ['J','Juliet'], ['K','Kilo'],  ['L','Lima'],
               ['M','Mike'],   ['N','November'],['O','Oscar'],
               ['P','Papa'],   ['Q','Quebec'],['R','Romeo'],
               ['S','Sierra'], ['T','Tango'], ['U','Uniform'],
               ['V','Victor'], ['W','Whiskey'],['X','X-ray'],
               ['Y','Yankee'], ['Z','Zulu']]

Referencia: Wikipedia: Alfabeto radiofónico.
Ejercicio Parte 2: 3Eva_IIT2012_T2 Practicar alfabeto radiofónico con Python

Iberia. Wikiberia: Alfabeto aeronaútico. 27 may 2013

3Eva_IT2011_T2 producto de matrices

3ra Evaluación I Término 2011-2012, Septiembre 13, 2011 /ICM00794

Tema 2 (15 puntos). Dos matrices A y B se pueden multiplicar si el número de columnas de A coincide con el número de filas de B.

Am x n x Bn x p = Cm x p

El elemento Cij de la matriz producto se obtiene multiplicando cada elemento de la fila i de la matriz A por cada elemento de la columna j de la matriz B y sumándolos.

Realice una función producto(A,B) que permita realizar el producto entre una matriz A de tamaño de mxn y un vector B de tamaño n.

Ejemplo:
A B
2 1 2 3 25
3 1 0 2 x 50
2 2 1 1 100
150
C
2*25=50 1*50=50 2*100=200 3*150=450
= 75 50 0 300
50 100 100 150

Nota: Desarrolle el algoritmo que describa las operaciones para cada elemento Cij. No use las funciones de matlab para multiplicar matrices.

Rúbrica: Definición de función (5 puntos), algoritmo (10 puntos).


A = [[2,1,2,3],
     [3,1,0,2],
     [2,2,1,1]]
B = [25,50,100,150]

3Eva_IIT2011_T1 Generar números 1800-nombre

3ra Evaluación II Término 2011-2012, Febrero 14, 2012 /ICM00794

Tema 1 (30 puntos). Las empresas para recibir llamadas de servicio al cliente pueden solicitar se les asigne números telefónicos 1800-nombre de tal forma se facilite recordarlo para su marcación en el teclado telefónico.

 

El número asignado será 1800 seguido de seis dígitos que se obtienen de las letras marcadas en el teclado de un teléfono convencional mostrado en la figura.

CocaCola
1800- 262226
Cinemark
1800- 246362

a) Realice una función teclaletra(letra), que permita convertir una letra a su respectivo dígito de un teclado telefónico:

Ejemplo:
>>> teclaletra('K')
5

b) Realice un programa que permita ingresar el nombre de la empresa y muestre el número telefónico 1800-nombre que el fue asignado.

Nota: Por facilidad, convierta todas las letras a mayúsculas con upper(texto);

Rúbrica: Definición de Función (5puntos), Conversión letra a tecla (10 puntos), Manejo de caracteres (10 puntos), Programa integrado (5 puntos)

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/