3Eva_IIT2015_T2 Gestionar mensajes con etiquetas

3ra Evaluación II Término 2015-2016, Febrero 16, 2016 /ICM00794

Tema 2 (25 puntos). https://salmocorpblog.wordpress.com/2017/03/07/significado-de-hashtag/

Realice programa que permita gestionar una lista de mensajes de una red social, con el menú mostrado:

  1. Ingresar mensaje. Solicite el nombre del usuario y un mensaje de texto.
  2. Usuario frecuente. Determine usando la lista de usuarios y muestre el usuario que más mensajes escribe.
  3. Tendencias. Analice todos los mensajes y encuentre la etiqueta más usada. Suponga que es una sola.
  4. Salir

Ejemplo:

lista
usuario mensaje
Juan Estamos en exámenes en la #ESPOL
María Seré voluntaria en #AJA
Pedro Yo estudio en #FCNM de la #ESPOL
Ana Lean el artículo de #ESPOL en #ELUNIVERSO del domingo 7 de febrero

Para extraer las etiquetas de cada mensaje pueden hacer uso de la función del tema anterior, para luego contar las veces que aparece cada etiqueta en la lista de mensajes. Al final debe encontrar la etiqueta más frecuente conocida como “tendencia”.

tendencias
etiqueta veces
#ESPOL 3
#AJA 1
#FCNM 1
#ELUNIVERSO 1
La tendencia es: #ESPOL

Rúbrica: Menú (5 puntos), uso de función anterior (5 puntos), opción 1 (2 puntos), opción 2 (8 puntos), opción 3 (5 puntos)


propuesta: sol_py

lista = [['Juan','Estamos en exámenes en la #ESPOL'],
         ['María','Seré voluntaria en #AJA'],
         ['Pedro','Yo estudio en #FCNM de la #ESPOL'],
         ['Ana','Lean el artículo de #ESPOL en #ELUNIVERSO del domingo 7 de febrero']]

http://mnl13.nl/mnl13festival-mnl13-twitter-mee/

3Eva_IIT2015_T1 Mensajes en redes sociales y etiquetas

3ra Evaluación II Término 2015-2016, Febrero 16, 2016 /ICM00794

Tema 1  (25 puntos). En redes sociales un mensaje puede contener palabras etiquetadas, también conocidas como “hashtag” por iniciar con el símbolo ‘#’ para resaltar un tópico en particular.

a) Realice una función etiquetados(mensaje), que al recibir un mensaje, busque y retorne las palabras etiquetadas.
Considere que las etiquetadas terminan al encontrar un espacio o una coma, y que también encontrarse al último el mensaje.

Ejemplo:
>> mensaje='En la #ESPOL se usa aprendizaje por proyectos y entre pares, publicado #ELUNIVERSO el domingo 7 de febrero'
>> etiquetados(mensaje)
     ['#ESPOL', '#ELUNIVERSO']
>> mensaje='IX Semillero de Futuros Científicos e Ingenieros Inscripciones #AJA #FCNM #ESPOL'
>> etiquetados(mensaje)
     ['#AJA','#FCNM', '#ESPOL']

b) Elabore una función tabulando(palabras) que reciba una lista de palabras que pueden ser repetidas y genere una tabla con las palabras únicas junto al conteo de las veces que aparece cada una en la lista.

>>palabras=[‘#ESPOL’, ‘#ELUNIVERSO’, ‘#AJA’, ’#FCNM’, ‘#ESPOL’]
>>tabulando(palabras)
     [[#ESPOL,        2]
      [#AJA,          1]
      [#FCNM,         1]
      [#ELUNIVERSO,   1]]

Rúbrica: Definir función (5 puntos), buscar inicio de etiqueta (5 puntos), copiar una etiqueta (5 puntos), lista etiquetas (5 puntos), determinar únicas (5 puntos), contar etiquetas (5 puntos).


propuesta: sol_py

3Eva_IT2015_T4 Bomberos para incendios forestales

3ra Evaluación I Término 2015-2016, Septiembre 22, 2015 /ICM00794

Tema 4. (30 puntos) Para gestionar los grupos de bomberos que acudieron a la provincia de Pichincha para enfrentar los incendios forestales se requiere elaborar un programa con el menú mostrado.

Menú:
1. Registrar bombero
2. Asignar grupos
3. Mostrar nombres de un grupo
4. Guardar datos
5. Leer datos
6. Salir

Al inicio del día se registrará cada bombero en orden de llegada en la siguiente tabla:

Presentados
cedula nombre bombero provincia
1234567890 Juan Pérez 234 17 (Pichincha)
2345678901 Pedro López 91 9 (Guayas)

Por facilidad, la provincia usa un código numérico.

Para asignar y mostrar los grupos se indica el número m de incendios forestales a combatir; use la función del tema anterior enviando un arreglo con los datos de bombero y provincia, el resultado será la matriz de grupos asignados.
El listado de bomberos en un grupo se obtiene usando la opción 3, por lo que se ingresa el número del grupo para mostrar el nombre y cédula de los bomberos asignados.

Rúbrica: Menú (5 puntos), manejar registros (5 puntos), crear arreglo para función (5 puntos), usar función anterior (5 puntos), opción 3 (5 puntos), opción 4 y 5 (5 puntos)

3Eva_IT2015_T3 Asignar bomberos forestales por grupo

3ra Evaluación I Término 2015-2016, Septiembre 22, 2015 /ICM00794

Tema 3. (20 puntos) En la provincia de Pichincha durante tres semanas los bomberos han enfrentado 11 incendios forestales graves, cada uno afecta a más de diez hectáreas de terreno. incendio forestal imagen cerca campus

Para ayudar, acudieron más de 150 bomberos de diferentes provincias del país.

Cada bombero se identifica con su código y número de provincia y se requiere formar grupos de trabajo, asignando líderes de la provincia local (17) Pichincha por conocer de las condiciones geográficas del terreno.

Ejemplo: para n=8 bomberos

registrados
bombero provincia
13 17 (Pichincha)
15 17 (Pichincha)
95 9 (Guayas)
103 13 (Manabí)
19 17 (Pichincha)
91 9 (Guayas)
234 24 (Santa Elena)
17 17 (Pichincha)

Escriba una función grupobombero(registrados, m, local) que reciba el listado de n bomberos registrados, organice los m grupos en una matriz, indicando el número de la provincia local siguiendo las condiciones expuestas.

Primero asigne a cada grupo los bomberos locales y luego complete con los de otras provincias. Ejemplo:

>> m=3
>> local=17
>> grupobombero(registrados,m,local)
Grupo 1 Grupo 2 Grupo 3
13 15 19
17 95 103
91 234 0

Observe que: el registro de los bomberos no es ordenado; los grupos se completan mientras existan bomberos que asignar, sino se representa con 0 (cuando m no es múltiplo de n).

Referencia: Las hectáreas dañadas por los incendios ascendieron a 973 (17.09.2015). http://www.elcomercio.com
Bomberos costeños en Quito para combatir incendios forestales (16.09.2015). http://www.eluniverso.com/

Rúbrica: Definir función y parámetros (5 puntos), control del grupos (5 puntos), asignar locales (5 puntos), completar matriz (5 puntos).


registrados = [[ 13, 17],
               [ 15, 17],
               [ 95,  9],
               [103, 13],
               [ 19, 17],
               [ 91,  9],
               [234, 24],
               [ 17, 17]]
m = 3 
local = 17 
>> grupobombero(registrados,m,local) 
[[13  15  19], 
 [17  95 103], 
 [91 234   0]]

3Eva_IT2015_T2 Deletrear un número

3ra Evaluación I Término 2015-2016, Septiembre 22, 2015 /ICM00794

Tema 2 (25 puntos). Al elaborar una factura o cheque, se escribe el valor numérico con dos decimales y también el valor en forma de texto.

Realice una función deletrearnumero(valor) que reciba el valor, número positivo menor que mil y con dos decimales, para convertirlo a su equivalente en texto.

Ejemplos:
8.43 ocho con 43/100
23.15 veintitrés con 15/100
435.16 cuatrocientos treinta y cinco con 16/100
>>deletrearnumero(435.16)
cuatrocientos treinta y cinco con 16/100

Sugerencia: use la función del tema anterior. Use listas con los nombres de números.

Rúbrica: Definir la función (5 puntos), separar entero (5 puntos), convertir a palabras (10 puntos), añadir centavos (5 puntos)

3Eva_IT2015_T1 Maquina con monedas

3ra Evaluación I Término 2015-2016, Septiembre 22, 2015 /ICM00794

Tema 1 (25 puntos). Para despachar dinero en efectivo con una maquina automática realice lo siguiente:

a) Escriba una función separanum(valor), que reciba un valor numérico real y separe las cantidades en un vector que contiene:
centavos, unidades, decenas, centenas, etc.
Los centavos equivalen a usar dos decimales redondeado al entero más cercano.
Desarrolle el algoritmo usando operaciones de cociente y residuo (no use round()).

>>separanum(435.16)
 [16, 5, 3, 4]
centavos unidades decenas centenas
16 5 3 4

b) Realice una función cuantasmonedas(centavos) que reciba la cantidad de centavos a entregar con monedas de 1, 5, 10, 25, 50 centavos usado la menor cantidad de monedas.

>>cuantasmonedas(63)
[3, 0, 1, 0, 1]
monedas 1 5 10 25 50
cantidad 3 0 1 0 1

Rúbrica: Definir funciones (5 puntos), separar números (5 puntos), operaciones para redondear (5 puntos), literal b (10 puntos)

3Eva_IIT2014_T4 Reporte de aprobados / veces

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

Tema 4. (40 puntos) Una vez finalizado el período académico, se requiere administrar los datos de los estudiantes y sus calificaciones en una materia para generar los reportes de desempeño.

Escriba un programa que realice las operaciones numeradas usando el menú descrito a continuación

  1. Registrar datos de estudiante. Registra el número de matrícula, el nombre, y el número de veces que se registra en la materia [1 a 3] de un solo paralelo. La nota inicial del estudiante es cero.
  2. Registrar calificaciones de estudiantes. Permite ingresar los valores de las calificaciones finales para todos los estudiantes con valores enteros entre 0 y 100
  3. Rectificar una calificación. Dado un número de matrícula, mostrar el nombre del estudiante y solicitar la nueva calificación.
  4. Reporte de resultados. Cuenta y muestra el reporte de estudiantes aprobados (calificación ≥ 60) y reprobados, clasificados por el número de veces que se ha registrado en la materia.
  5. Promedios. Promedio total de calificaciones de la materia, y los promedios por el número de veces que se ha registrado.
  6. Salir
estudiante:
matricula nombre veces calificación
1234 Juan 1 87
4312 Maria 2 85
4567 Pedro 1 47
Resultados:
Veces 1 Veces 2 Veces 3 Total
Reprobado
Aprobado
Total

Rúbrica: Menú (5 puntos), manejo de registros (5 puntos), validar calificaciones (5 puntos), rectificar (10 puntos), conteo de resultados (5 puntos), promedios (5 puntos), algoritmo estructurado (5 puntos)

3Eva_IIT2014_T3 Juego de palabras encadenadas

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

Tema 3 (15 puntos). El Juego de Palabras encadenadas entre dos jugadores consiste en tomar turnos para escribir una palabra que comience con la última sílaba exacta.

>>> Jugador 1
palabra: casa
Jugador 2 :
palabra: saco
Jugador 1
palabra: color
Jugador 2 :
palabra: oro
El ganador de este juego es 1

Nota: Puede hacer uso de la función del tema anterior

Rúbrica: Control de turnos (5 puntos), uso de función (5 puntos), confirmar encadenada (5 puntos)

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

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_IIT2014_T1 Ubicar estudiantes en aula

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

Tema 1. (25 puntos). Se dispone de una lista con los números de matrícula para k estudiantes que darán un examen. El salón donde se desarrollará el examen tiene sillas distribuidas de forma ordenada en n filas y m columnas. aula de clases dando examen

Realice un programa que permita ingresar en un vector los números de matrícula, luego usando una matriz, asigne las sillas de forma aleatoria para cada estudiante.

El resultado se debe mostrar de dos formas:

a) una matriz que contiene en las casillas los números de matrícula.
b) un listado con números de matrícula, y la posición de fila y columna de la silla asignada al estudiante.

Considere que:

  • k siempre es menor que la capacidad de sillas en el aula (nxm),
  • Una silla sin estudiante asignado, contiene valor 0.
  • Las ubicaciones de los estudiantes son únicas.
>>> cantidad de estudiantes: 50
filas en el aula: 5
columnas en el aula: 4
**Hay más estudiantes que las sillas en el aula
cantidad de estudiantes: 5
filas en el aula: 5
columnas en el aula: 4
matricula[1]:123
matricula[2]:234
matricula[3]:345
matricula[4]:456
matricula[5]:567

Distribución del aula
[[ 0  567 0   0  ]
 [ 0  0   0   345]
 [ 0  0   123 0  ]
 [ 0  0   0   0  ]
 [ 0  0   234 456]]
Listado de sillas
matricula, fila, columna
123 3 3
234 5 3
345 2 4
456 5 4
567 1 2

Rúbrica: Ingresar y validar (5 puntos), literal a (10 puntos), literal b (5 puntos). Algoritmo estructurado. (5 puntos)