On cherche à écrire un algorithme déterminant la première puissance d'un nombre positif donné supérieure ou inférieure à une valeur donnée.
Comment s'appelle une boucle en Python qui s'arrête lorsqu'une condition n'est plus remplie ?
En Python, les boucles \verb/while/ permettent de s'arrêter lorsque la condition précisée au départ n'est plus remplie. Attention à ne pas confondre avec les boucles \verb/for/ qui itèrent un nombre déterminé de fois les instructions contenues dans la boucle.
Soit \verb/res/ une variable en Python.
Quelle instruction permet de parcourir une boucle tant que \verb/res/ est inférieur à un entier \verb/a/ ?
La syntaxe d'une boucle \verb/while/ en Python est :
\verb/ while (condition): /
\verb/ [INSTRUCTIONS] /
Si la condition est \verb/res/ inférieur à un entier \verb/a/, on peut donc écrire :
\verb/ while res < a: /
Comment définit-on en Python une fonction \verb/puissance/ qui prend deux entiers \verb/x/ et \verb/a/, et qui renvoit \verb/res/ égal à x^a ?
La syntaxe d'une fonction Python est :
\verb/ def nom_de_la_fonction(premier_arg, deuxieme_arg): /
\verb/ instructions /
\verb/ return resultat /
Pour définir une fonction \verb/puissance/ qui prend deux entiers \verb/x/ et \verb/a/, on écrit donc :
\verb/def puissance(x, a): /
\verb/ res = x**a/
\verb/ return res /
Soit \verb/a/ un entier.
Quelle fonction permet de renvoyer la première puissance d'un nombre \verb/x/ supérieur ou égal à \verb/a/ ?
On définit une fonction \verb/puissance/ qui prend deux arguments \verb/x/ et \verb/a/.
Pour calculer les puissances de \verb/x/, on définit une variable \verb/res/ qui contiendra les puissances successives de x. On parcourt une boucle tant que le nombre est plus petit que a à l'aide d'une boucle \verb/while/, et on multiplie le résultat précédent par x.
Enfin, on renvoie la valeur de la variable \verb/res/.
La fonction qui permet de renvoyer la première puissance d'un nombre \verb/x/ supérieur ou égal à \verb/a/ est donc :
\verb/ def puissance(x, a): /
\verb/ res = x /
\verb/ while res < a: /
\verb/ res = res*x /
\verb/ return res /