Outils pour utilisateurs

Outils du site


itc:tps:tp2:exercice1

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Premiers exemples et implémentations

Exercice 1 du TP2

Il est parfois utile – voire nécessaire – de mettre en place un premier parcours séquentiel, avec une boucle, et, en fixant ce premier élément, de parcourir une deuxième boucle. De manière artificielle on peut faire

for i in range(4):
    for j in range(3):
        print(i, j)

Combien de fois la fonction print est-elle appelée dans cette boucle ?

Matrice de Vandermonde

On peut aussi créer un tableau rectangulaire – une matrice – avec une liste de listes grâce à deux boucles imbriquées.

Par exemple, pour une matrice de Vandermonde, dont l’élément de la ligne $0 \leqslant i \leqslant n-1$ et de la colonne $0 \leqslant j \leqslant p-1$, est $i^j$,

def vandermonde(n, p):
    M = []
    for i in range(n):
        L = []
        for j in range(p):
            L.append(i∗∗j)
        M.append(L)
    return M

Ce qui peut être, après exécution, testé en console :

>>> vandermonde(6,4)

Quel est la complexité de la fonction vandermonde ?

Tableau triangulaire

On peut dans certains cas n'avoir besoin que d'un tableau triangulaire, c'est-à-dire qu'une borne de l'itérateur qui permet de décrire la boucle interne (la deuxième) dépend de l’indice qui permet de décrire la première boucle.

for i in range(4):
    for j in range(i): # noter le i
        print(i, j)

ou encore

def tableau_triangulaire(n):
    """
    crée un tableau triangulaire de taille n avec m[i][j]=(i+1)∗(j+1)
    """
    M = []
    for i in range(n):
        L = []
        for j in range(i): # j décrit l'intervalle d'entier [[0 , i−1]]
            item = (i+1)∗∗(j +1)
            L.append(item)
        M.append(L)
    return M

Après exécution en console :

>>> tableau_triangulaire(5)

Quel est la complexité de la fonction tableau_triangulaire ?

itc/tps/tp2/exercice1.txt · Dernière modification : de goupillwiki