“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 7 — #17
i
i
i
i
i
i
i
i
1.5 Les fonctions avec les listes
7
anglais), parce qu’elle décompose L selon la « forme » H|T. Les variables locales
déclarées avec case se comportent exactement comme les variables déclarées avec
declare, sauf qu’une variable déclarée par case n’existe que dans le corps de
l’instruction case, entre le then et le end.
nil
2
1 2
1 2
1 2
1 2
1 2
1 2
|
8
nil
1
5
|
L = [5 6 7 8]
L =
L.2 =
L.1 = 5
L.2 = [6 7 8]
|
6
|
7
|
8
|
6
|
7
Figure 1.1 Décomposer la liste [5 6 7 8].
1.5 LES FONCTIONS AVEC LES LISTES
Maintenant que nous pouvons calculer avec des listes, définissons une fonction {Pascal N} pour calculer la nième rangée du triangle de Pascal. Il faut d’abord comprendre comment faire le calcul à la main. La figure 1.2 montre comment calculer la
cinquième rangée à partir de la quatrième. Regardons comment cela fonctionne quand
chaque rangée est une liste d’entiers. Pour calculer une rangée, il faut utiliser la rangée
précédente. On la déplace d’une position à gauche et d’une position à droite. Ensuite
on additionne les rangées déplacées. Par exemple, prenons la quatrième rangée :
[1
3
3
1]
Nous déplaçons cette rangée à gauche et à droite pour ensuite additionner élément par
élément :
[1
3
3
1
0]
+ [0
1
3
3
1]
On remarque qu’un déplacement à gauche ajoute un zéro à l’extrémité droite et un
déplacement à droite ajoute un zéro à l’extrémité gauche. Faire l’addition donne :
© Dunod – La photocopie non autorisée est un délit
Précédent

- 22/370

Suivant