Favicon
NSI Terminale

Connexion élèves

Choisir le(s) module(s) à installer :

Correction : modularité

Code du module modultab


def maximum(t):
    """Renvoie la valeur maximale dans le tableau.
    @param : t = tableau de valeurs (list)
    @return : la valeur maximale dans t
    """
    assert isinstance(t, list), "L'argument 't' doit être un tableau."
    assert len(t) != 0, "Le tableau ne peut pas être vide."
    
    maxi = t[0]
    for elt in t:
        if elt > maxi:
            maxi = elt 
    return maxi
    
def minimum(t):
    """Renvoie la valeur minimale dans le tableau.
    @param : t = tableau de valeurs (list)
    @return : la valeur minimale dans t
    """
    assert isinstance(t, list), "L'argument 't' doit être un tableau."
    assert len(t) != 0, "Le tableau ne peut pas être vide."
    
    mini = t[0]
    for elt in t:
        if elt < mini:
            mini = elt 
    return mini
    
def somme(t):
    """Renvoie la somme des élément d'un tableau.
    @param : t = tableau de valeurs (list)
    @return : la somme des éléments de t
    """
    assert isinstance(t, list), "L'argument 't' doit être un tableau."
    assert len(t) != 0, "Le tableau ne peut pas être vide."
    
    s = 0
    for elt in t:
        s += elt
    return s
    
def produit(t):
    """Renvoie le produit des élément d'un tableau.
    @param : t = tableau de valeurs (list)
    @return : le produit des éléments de t
    """
    assert isinstance(t, list), "L'argument 't' doit être un tableau."
    assert len(t) != 0, "Le tableau ne peut pas être vide."
    
    p = 1
    for elt in t:
        p *= elt
    return p
    
def longueur(t):
    """Renvoie le nombre d'éléments dans un tableau.
    @param : t = tableau de valeurs (list)
    @return : le nombre d'élément(s) dans t (int)
    """
    assert isinstance(t, list), "L'argument 't' doit être un tableau."
    
    n = 0
    for elt in t:
        n += 1
    return n
    
def moyenne(t):
    """Renvoie la moyenne des élément d'un tableau.
    @param : t = tableau de valeurs (list)
    @return : la moyenne des éléments de t (float)
    """
    assert isinstance(t, list), "L'argument 't' doit être un tableau."
    assert len(t) != 0, "Le tableau ne peut pas être vide."
    
    s = 0
    for elt in t:
        s += elt
    return s / longueur(t)

def inverse(t):
    """Renvoie un nouveau tableau, avec les éléments dans l'ordre inverse de celui passé en paramètre.
    @param : t = tableau de valeurs (list)
    @return : un nouveau tableau, avec les éléments en ordre inverse (list)
    """
    assert isinstance(t, list), "L'argument 't' doit être un tableau."
    
    nouveau = []
    for elt in t:
        nouveau = [elt] + nouveau
    return nouveau    

def tri(t, reverse = False):
    """Tri en place un tableau avec l'algorithme de tri par sélection.
    @param : t = tableau de valeurs (list)
    @param: ordre = booléen indiquant l'ordre de tri : False = ordre croissant (par défaut), True = ordre décroissant
    @return : le tableau trié (list)
    """
    assert isinstance(t, list), "L'argument 't' doit être un tableau."
    
    for i in range(len(t)-1):
        ech = i 
        for j in range(i+1, len(t)):
            if reverse:
                if t[j] > t[ech]:
                    ech = j 
            else:
                if t[j] < t[ech]:
                    ech = j
        if ech != i:
            t[i], t[ech] = t[ech], t[i]
    return t
    

if __name__ == '__main__':
    # tests du module
    t = [12, 1, 5, 63, 78, 4, 51, 32, 23, 7, 19, 45]
    print(maximum(t))
    print(minimum(t))
    print(somme(t))
    print(produit(t))
    print(longueur(t))
    print(moyenne(t))
    print(inverse(t))
    tri(t)
    print(t)
    tri(t, reverse=True)
    print(t)
			
			
						
			

Quelques remarques