Les fonctionnalités de programmation de PTC Mathcad permettent de définir des fonctions récursives.
Exemple 1 : Définition de la fonction factorielle
1. Définissez la fonction Fac qui calcule la valeur factorielle de n. Nommez votre fonction en utilisant le libellé Fonction.
2. Calculez la valeur factorielle de 6 en utilisant Fac, puis vérifiez-la à l'aide de l'opérateur factoriel PTC Mathcad.
3. Définissez une autre fonction Fac avec une condition différente sur n, puis appelez la fonction, comme illustré ci-dessous.
PTC Mathcad produit le même résultat car il utilise la définition précédente de Fac pour effectuer le calcul.
4. Désactivez la première définition de Fac pour voir la différence de résultats. Evitez cette ambiguïté en ne réutilisant pas les noms de fonction.
Exemple 2 : Calcul du plus grand commun diviseur (PGCD) de deux entiers positifs
1. Ecrivez une fonction récursive GCD qui calcule le plus grand commun diviseur de deux nombres, qui est l'entier le plus élevé qui divise de façon égale x et y.
2. Appelez cette fonction avec différentes valeurs.
Ce programme est le même que la fonction intégrée de plus grand diviseur commun gcd :
Exemple 3 : Définition de la nième itération d'une fonction f(x) au point a
1. Ecrivez une fonction récursive nest qui calcule la nième itération d'une fonction f(x) pour un point a.
2. Définissez une fonction f(x), puis affectez 1 à a.
3. Appelez cette fonction avec différentes valeurs.
Exemple 4 : Définition de la séquence de Fibonnaci (deux appels récursifs par appel)
1. Ecrivez une fonction fib qui calcule la valeur de la séquence de Fibonnaci pour n.
2. Définissez un vecteur k, puis appelez la fonction fib.
Exemple 5 : Définition d'une fonction de partition
1. Ecrivez une fonction récursive part qui calcule le nombre de manières différentes pour exprimer m sous la forme de la somme d'entiers positifs ne dépassant pas n.
2. Appelez la fonction avec différentes valeurs.
Exemple 6 : Création d'une arborescence binaire aléatoire
1. Ecrivez une fonction récursive Tree qui crée une arborescence binaire aléatoire.
2. Appelez la fonction.
Exemple 7 : Recherche de la hauteur d'une arborescence binaire
1. Ecrivez une fonction récursive height qui retourne la hauteur de l'arborescence binaire.
2. Appelez la fonction avec l'arborescence que vous avez créée dans l'exemple précédent.
Dans la mesure où Tree crée une arborescence binaire aléatoire, les modifications de hauteur renvoyées changent après chaque nouveau calcul.
Exemple 8 : Paramétrage du crible d'Eratosthène
1. Ecrivez la fonction ceil pour écrire une fonction récursive p qui calcule tous les nombres premiers inférieurs à n, en utilisant le crible d'Eratosthène.
2. Appelez la fonction pour obtenir un vecteur de tous les nombres inférieurs à 200.