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)

2Eva_IT2012_T4 Afiliados a partidos

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

Tema 4. (30 puntos) El Consejo Nacional Electoral requiere de un programa que permita administrar los datos de registros de los afiliados a partidos y movimientos políticos, presentados al inicio para un proceso electoral.
Los datos disponibles se encuentran listados en dos tablas de datos como las siguientes:

Tabla 1. Padrón Electoral
Cédula Nombre
0123456789 MARIA RODRIGUEZ
0234567891 JUAN PEREZ
0345678923 JOSE PARRA
Tabla 2. Ficha de afiliación a partidos
Cédula Nombre Partido Estado
0234567891 JUAN PEREZ 7 1
0123456789 MARIA RODRIGUEZ 9 3
0123456789 MARIA RODRIGUEZ 4 3

El programa debe permitir el ingreso de las tablas (1 y 2), luego validar y registrar el Estado final conforme a los criterios mostrados en la tabla 3.

Para revisar cada registro por cada criterio, solo se validaran los registros con Estado “1”,
Si luego de revisar y validar, el Estado del registro se mantiene en “1”, éste se considera válido.
Al final presente una tabla de “Resultado” que liste cuántos registros por estado tiene cada partido.

Tabla 3. Criterios
Estado Descripción
1 Aceptado al inicio como válido, sin revisar “errores”
2 No empadronado.- La cédula de la ficha no se encuentra en el padrón
3 Afiliación duplicada.- El registro de cédula en la ficha se encuentra más de una vez
4 Nombres errados.- por no coincidir entre la ficha y el padrón
Resultado Estado
Partido 1 2 3 4
1
2
3 …. …. …. ….

Nota: para comparar cadenas de caracteres, puede usar la función strcmp(cadenaA, cadenaB)
Referencia: “El sistema del CNE permitió la confusión de identidades”, 6 –Agosto-2012, www.expreso.ec

Rúbrica. Ingreso con estructura de datos (5 puntos), validar empadronados (5 puntos), validar duplicados (5 puntos), validar nombres (5 puntos), Contador de registros por estado (5 puntos), Algoritmo estructurado (5 puntos)

2Eva_IT2012_T3 Consumo de tinta y negativo de foto

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

Tema 3. (25 puntos). En los contextos de fotografía digital, una imagen puede ser representada en una escala de grises, corresponden a un conjunto de colores en tonalidades entre el blanco y negro.

Se emplean 8 bits para representar cada píxel lo que sólo permite una escala con 256 intensidades o escalas de gris [0,255].

a) Realice una función totaltinta(matriz) que para una imagen representada en una matriz de nxm, muestre el equivalente numérico de las unidades de tinta a consumir en la imagen.

Suponga que en una impresora de inyección de tinta, el consumo de tinta corresponde al número escrito en la casilla de la matriz escala de gris.

matriz
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
>>totaltinta(matriz)
 ans=1550

b) Realice una función imgnegativa(matriz) que cambie la imagen a negativo, invirtiendo los valores en la escala [0,255] que contiene cada pixel (casilla). Tal como se muestra en el ejemplo.

imgnegativa(matriz)
225 225 225 255 255
225 225 225 255 255
85 85 225 225 255
175 175 85 225 225
175 175 175 85 85

Referencia: http://es.wikipedia.org/wiki/Escala_de_grises

Rúbrica: definición de funciones (5 puntos), literal a (10 puntos), literal b (10 puntos)

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_IT2012_T1 BAnd y BOr lógicas

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

Tema 1 (20 puntos)
a) Escriba las funciones denominadas:
band(A,B), que devuelve resultado “A∧B” entre 2 variables enteras y otra función
bor(A,B) que devuelve el “A∨B” entre 2 variables enteras.
Ambas funciones retornan 1 si es verdadero y 0 si es falso, deben validar los datos de A y B, de existir un error devuelven -1.

b) Escriba un programa que solicite valores para las variables A, B y C, usando las funciones anteriores evalúe las siguientes ecuaciones:

X = (A ∨ B) ∧ (A ∧ C)
Y = (A ∧ B) ∨ (B ∧ C)
Z = A ∨ (A ∧ B)
W = C ∧ (A ∨ B)

Rúbrica: funciones band (5 puntos), bor (5 puntos), Programa estructurado y uso de funciones creadas en operaciones (10 puntos)

2Eva_IIT2011_T4 Inscripción universitaria SNNA

2da Evaluación II Término 2011-2012, Enero 31, 2012 /ICM00794

Tema 4. (40 puntos) Realice un programa para gestionar el proceso de inscripción como postulante universitario en el “Sistema Nacional de Nivelación y Administración” (SNNA), donde se deben registrar los datos y gestionar el proceso de acuerdo al siguiente menú:

  1. Registrar Postulante. – Ingresando los datos del postulante: Cedula, Nombre, Año Nacimiento, Provincia, Carrera a la que se postula.
  2. Consulta Día de prueba.- Ingresa la cédula y le muestra el día conforme al penúltimo dígito: 1 y 2 lunes, 3 y 4 Martes, 5 y 6 Miércoles, 7 y 8 Jueves, 9 y 0 Viernes.
  3. Postulantes por provincia.- Muestra la cantidad de postulantes por cada provincia (24 en Ecuador).
  4. Postulantes por carrera.- Muestra la cantidad de postulantes por carrera (considerar solo 5).
  5. Salir

Nota: Las provincias se podrían registrar por numero, ejemplo: 1 (Guayas), 2 (Manabí), 3 (Los Rios), etc. De la misma forma se podría proceder con las carreras, ejemplo: 1 (Ingeniería) 2 (Medicina) 3 (Leyes), etc.
Referencia: “Con problemas en sitio web se inicia registro de ingreso a universidades” www.eluniverso.com – 13.Enero.2011

Rúbrica: Menú (5 puntos), definición y uso de estructura datos (5 puntos), caso 1 (5 puntos), caso 2 (10 puntos), caso 3 mostrando tabla (10 puntos), caso 4 mostrando tabla (5 puntos)

2Eva_IIT2011_T2 Ubicar ficha en tablero

2da Evaluación II Término 2011-2012, Enero 31, 2012 /ICM00794

Tema 2. (15 puntos) Escriba una función ubicaficha(m, n) que ubique aleatoriamente m números entre 2 y m+1 dentro de una matriz de nxn.

ubicaficha(6,8)
3
2
6
5
4
7

Nota: No se deben repetir las posiciones de los números y las casillas vacías se llenan con ceros.

Rúbrica: Definición de función (5 puntos), ubicación aleatoria no repetida (5 puntos), resultado y algoritmo integrado (5 puntos).