“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 23 — #33
i
i
i
i
i
i
i
i
1.15 Exercices
23
pour encore augmenter l’efficacité. Si k > n/2 on pourra faire le calcul avec
n − k au lieu de k.
➤ Exercice 3 — L’exactitude d’un programme
La section 1.6 explique les idées de base pour vérifier l’exactitude des programmes et les utilise pour démontrer que la fonction factorielle définie dans
la section 1.3 est correcte. Dans cet exercice, appliquez les mêmes idées pour
démontrer l’exactitude de la fonction Pascal de la section 1.5.
➤ Exercice 4 — La complexité calculatoire d’un programme
Que dit la section 1.7 par rapport aux programmes dont la complexité temporelle
est un polynôme de grand ordre ? Sont-ils pratiques ou pas ? Qu’en pensez-vous ?
➤ Exercice 5 — La programmation d’ordre supérieur
La section 1.8 explique comment utiliser la programmation d’ordre supérieur
pour calculer des variations du triangle de Pascal. Le but de cet exercice est
d’explorer ces variations.
a) Calculez quelques rangées avec la soustraction, la multiplication et d’autres
opérations. Pourquoi la multiplication donne-t-elle un triangle rempli de
zéros ? Essayez la multiplication suivante :
fun {Mul1 X Y} (X+1) * (Y+1) end
À quoi ressemble la dixième rangée avec la fonction Mul1 ?
b) L’instruction de boucle for peut calculer et afficher dix rangées à la fois :
for I in 1..10 do
{Browse {GenericPascal Op I}}
end
Utilisez cette instruction pour faciliter l’exploration des variations.
➤ Exercice 6 — L’état explicite
Cet exercice compare les variables et les cellules. Nous montrons deux fragments
de programme. Le premier utilise des variables :
local X in
X=23
local X in X=44 end
{Browse X}
end
© Dunod – La photocopie non autorisée est un délit
Précédent

- 38/370

Suivant