s2Eva_IT2003_T1 Funciones promedio, mayor y menor

Ejercicio: 2Eva_IT2003_T1 Funciones promedio, mayor y menor

Propuesta de solución en Python: py_pdf, también versión en matlab: m_pdf

Se requiere desarrollar las funciones usando las operaciones para mostrar el conocimiento de los conceptos.

Como los datos se envían en un vector, se debe recorrer cada elemento del vector para obtener los resultados. Esta parde muestra su dominio del manejo de lazos/bucles con los índices de un arreglo.

Instrucciones en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IT2003_T1 Funciones promedio, mayor y menor
# Se EVALUA escribir un algoritmo
# Evite usar las funciones del lenguaje de programación
# Propuesta de Solución: edelros@espol.edu.ec

def promedio(vector):
    n = len(vector)
    suma = 0
    for i in range(0,n,1):
        suma = suma + vector[i]
    prm = suma/n
    return (prm)

def mayor(vector):
    n = len(vector)
    # Busca cual es el mayor
    max = 1
    for i in range(0,n,1):
        if (vector[i]>vector[max]):
            max = i
    # presenta el valor de mayor
    z = vector[max]
    return (z)

def menor(vector):
    n = len(vector)
    # Busca cual es el menor
    min = 1
    for i in range(0,n,1):
        if (vector[i]<vector[min]):
            min = i
    # presenta el valor de menor
    z = vector[min]
    return (z)


# PROGRAMA de prueba de funciones
import numpy as np

# INGRESO
meses = 12
temperatura = np.zeros(meses,dtype=int)
for mes in range(0,meses,1):
    temperatura[mes] = int(input("temperatura["+str(mes+1)+"]: "))

# PROCEDIMIENTO
tprom = promedio(temperatura)
tmax  = mayor(temperatura)
tmin  = menor(temperatura)
diferencia = tmax-tmin

# SALIDA
print("promedio: "+str(tprom))
print("Diferencia max-min: "+str(diferencia))

resultado del algoritmo

temperatura[1]: 30
temperatura[2]: 32
temperatura[3]: 30
temperatura[4]: 28
temperatura[5]: 29
temperatura[6]: 25
temperatura[7]: 25
temperatura[8]: 23
temperatura[9]: 25
temperatura[10]: 27
temperatura[11]: 29
temperatura[12]: 30
promedio: 27.75
Diferencia max-min: 9