2018_IIT Semana06 – Funciones y Matrices

1. Ejercicios en clase

1.1 3Eva_IT2016_T2 sensar cultivos con dron

Solución propuesta: s3Eva_IT2016_T2 sensar cultivos con dron

1.2. 3Eva_IIT2016_T2 Juntas receptoras de voto

Solución propuesta: s3Eva_IIT2016_T2 Juntas receptoras de voto

# 3ra Evaluación II Término 2016. Tema 2
# Juntas receptoras de voto
import numpy as np

def misuma(conteo):
    m = len(conteo)
    # total de votantes
    suma = 0
    candidato = 0
    while not(candidato>=m):
        suma = suma + conteo[candidato]
        candidato = candidato +1
    return(suma)

# INGRESO
JRV_H = np.array([[15,145,230,45],
                  [18,187,89,67],
                  [109,12,28,18],
                  [231,76,67,137]])
# PROCEDIMIENTO
tamano = np.shape(JRV_H)
n = tamano[0] # filas, mesas
m = tamano[1] # columnas, candidato

conteo = np.zeros(m,dtype = int)

columna = 0 # candidato
while not(columna>=m):
    suma = 0
    fila = 0    # mesa
    while not(fila>=n):
        votos = JRV_H[fila,columna]
        suma = suma + votos
        fila = fila +1
    conteo[columna] = suma
    columna = columna +1

totalvotos = misuma(conteo)

# decide segunda vuelta
conteo2 = np.copy(conteo)
primero = np.argmax(conteo2)
conteo2[primero] = 0
segundo = np.argmax(conteo2)
diferencia = conteo[primero]-conteo[segundo]

porcentaje = conteo[primero]/totalvotos
difporcentual = diferencia/totalvotos
vuelta2 = 1
if (porcentaje>=0.4 and difporcentual<0.1):
    vuelta2 = 0
    
# SALIDA
print(conteo)
print('total votos: ', totalvotos)
print('hay segunda vuelta: ', vuelta2)

1.3 1Eva_IIT2016_T2 Ventas por tienda deportiva

# 1ra Evaluación II Término 2016
# Tema 2. Ventas por tienda deportiva
import numpy as np

# INGRESO
# ventas en arreglos numéricos
ventas=np.array([[1,2,3,4,5,6],
                 [7,8,9,1,2,3],
                 [4,5,6,7,8,9],
                 [1,2,3,4,5,6],
                 [7,8,9,1,2,3],
                 [4,5,6,7,8,9],
                 [1,2,3,4,5,6],
                 [7,8,9,1,2,3],
                 [4,5,6,7,8,9]])
# tiendas en listas
sur    = ['LosEsteros', 'Pradera', 'RiocentroSur']
centro = ['Bahia', 'Malecon2000', 'MaleconSalado']
norte  = ['MallDelSol', 'CityMall', 'RiocentroNorte']
# categorias en listas
futbol   = ['zapatos-Adidas', 'zapatos-Nike', 'rodilleras-Reebok']
natacion = ['short-Nike', 'gafasPiscina-Swingo', 'aletas-Speedo']

# PROCEDIMIENTO
tamano = np.shape(ventas)
n = tamano[0]
m = tamano[1]

# literal b) tienda que mas vende
# concatena nombres de tiendas
tiendas = sur + centro + norte

totaltienda = np.sum(ventas,axis=1)
cuantomasventas = np.max(totaltienda)
cualvendemas = np.argmax(totaltienda)

# mensaje literal b (cadenas de caracteres)
mensajeb = 'la que mas vende es ' + tiendas[cualvendemas]
mensajeb = mensajeb + ' que vendio ' + str(cuantomasventas) + ' unidades '

# literal a, usando categorias
# contatena nombres de productos
categoria = futbol + natacion
nfutbol = len(futbol)
nnatacion = len(natacion)

totalproducto = np.sum(ventas,axis=0)
totalfutbol = totalproducto[0:0+nfutbol]
totalnatacion = totalproducto[nnatacion:nnatacion+nnatacion]
ventasfutbol = np.sum(totalfutbol)
ventasnatacion = np.sum(totalnatacion)

# mejores ventas de productos
gana = 'EMPATE'
if (ventasfutbol<ventasnatacion): gana = 'NATACION' if (ventasfutbol>ventasnatacion):
    gana ='FUTBOL'

# SALIDA
print('ventas por tienda: ', totaltienda)
print('el mejor vendedor es: ', cualvendemas)
print('que vendio unidades: ', cuantomasventas)
print()
print('b) ', mensajeb )
print('a) la categoria con mayores ventas es: ',gana)

1.4 1Eva_IT2017_T2 youtubers

Solución propuesta: s1Eva_IT2017_T2 youtubers