Cours S4 Python

Principe de récursivité

Nous avons vu les fonctions précédement. Dans ce cours, vous allez apprendre ce que c’est que le principes de récursivité et comment créer des objets !

I. Introduction

Le principes de récursivité est une démarche qui permet de répéter indéfiniment un programme. Elle permet de créer des algorithme. Le principe pour le créer en Python est relativement simple. Mais, il devient beaucoup plus complexe dans le domaine scientifique par exemple. (Point culture: Le premier language informatique, maintenant perdu, qui permettait la création d’ algorithme récursif est Algol 60. Il date des année 50 !)

II. Créer un algorithme récursif

Admettons En Python, vous pouvez créer un algorithme récursif très facilement. Vous allez donc commencer par définir une fonction add() et lui accorder une variable x.

def add(x):

Ensuite, vous ajoutez votre calcul récursif:

x += 1   (x = x+ 1)

Maintenant vous l’ afficher:

print(x) 

Mais si vous vous arrêter ici, vous afficherer simplement x + 1.  Mais ce que vous souhaitez, c’est que le résultat précédent s’ajoute et soit garder en mémoire pour a. Alors vous devez ajouter x:

add(x)

Puis a l’exterieur de la fonction, vous devez définir votre premier x:

add(0)

Ici, lorsque vous mettez 0, votre programme commencera à 0, mais si vous mettez 10 par exemple, votre programme commencera à 10.

Tips: Vous ne pourrez afficher au maximum, que 996 résultats. Ensuite, vous verrez un message d’erreur. Considérer que ce message vous sauvent parce qu’il permet de définir une fin à votre programme. Sinon, il ne s’ arrêterait jamais et fera crash votre programme.

IV. Arrêter cette algorithme sur un nbr précis

Si vous désirez que votre algorithme s’arrête à un endroit précis, vous n’avez qu’a utiliser une condition. Vous devez remplacer le add(x) en-dessous de print() par cette condition:

if x < 100:

Puis intégrer votre fonction dans cette condition:

 add(x)

Et voila, votre fonction s’arrêtera à 100.

 V. Puis ajouter la fonction next_price

Vous allez donc définir une 2ème fonction next_price():

def next_pri

VI. Calcul 

Vous pouvez aussi calculer des opérations grace au fonction. Pour cela, vous allez utiliser la fonction return. Elle permet d’afficher directement un calcule sans passer par une création d’une variable:

result = 10 + 2          —->      return 10 + 2

Cela est valable pour tout type d’opération! Vous pouvez aussi créer des variables mathématiques comme par exemple x, y, a, b, c, (etc…)  avec des fonctions. Par conséquent, nous commencerons par définir une fonction calcul() et nous intégrerons la variable mathématique x dans le calcul:

def calcul(x):     

(Ici, vous ajoutez x dans les paranthèses. Cela permet de créer votre variable)

Puis utilisez return:

return 2 * x

Vous intégrez donc x dans votre calcul. 

Puis afficher votre calcul:

print(“Votre résultat est égale a “, calcul(5))

Ici, vous remarquerez que j’ai mis 5 entre paranthèses derrière calcul. Cela permet de définir la variable mathématique x et donc de lui donner la valeur 5. Vous pouvez évidemment lui accorder une autre valeur.

ATTENTION: Si vous ne mettez rien entre les paranthèses mais que vous mettez une variable mathématiques à l’interieur de votre calcul, vous aurez un message d’erreur puisque vous ne définissez pas votre variable !

Exercice:

Reprenons notre falaise. Admettons que vous pouvez sautez de la falaise à 2 endroits différents.

Le première endroit est d’une hauteur de 7*148 m.

Le deuxième endroit est d’une hauteur de 383 + 654 m.

Vous ne devez pas calculer les 2 distances par vous-même. Votre programme doit pouvoir vous demander d’entrer ces calcules. Mais aussi, il doit pouvoir afficher et vous donnez l’endroit le moins haut pour sauter.

Tips: Vous pouvez utiliser int(input()) et if et else.

Correction a droite —->