Les fonctions informatiques


Afin de suivi le cours/TD plus agréable, je vous conseille de lire le guide vidéo disponible en cliquant sur l’image ci-dessous. Vous pouvez par ailleurs optimiser votre espace de travail en ouvrant une fenêtre consacré au guide vidéo et une autre à la lecture de cette page web.


Une fonction informatique est une sorte de sous-programme, prenant en entrées plusieurs paramètres et retournant une valeur en sortie.

Partons d’un exemple, afin de mieux comprendre sa fonctionnalité.

  • L’instruction 1 :
    • def est l’indicateur qui nous permet de définir une fonction.
    • somme est le nom de la fonction nommée par le programmeur.
    • Elle prend comme paramètre trois variables nommées : nb1, nb2, nb3. Ses variables sont définies entre parenthèses et séparées par des virgules.
    • : permet de marque le commencement de notre fonction. L’ensemble de son contenu est indenté.
  • L’instruction 2 :
    • return est l’instruction qui permet retourner, d’envoyer la valeur d’une opération, d’une assertion, ou d’une variable.
    • nb1+nb2+nb3 est l’opération dont la valeur retourner par la fonction somme
  • L’instruction 3 affiche le résultat de la fonction somme si l’on affecte à nb1 la valeur 1, à nb2 la valeur 2, nb3 la valeur 3.

L’avantage des fonctions, c’est qu’une fois celles-ci écrites, elles sont réutilisables à souhait pour une autre application. Par ailleurs, il est possible de programmer des fonctions sans paramètre (voir ex 1 et 2).

En mathématiques, vous avez souvent à faire l’usage de fonctions. Vous faites appel à cette fonction dans l’interprétateur. Cela évite d’utiliser les instructions print, input, et de déclarer le types de variables rendant l’usage du python plus simple. Cependant, cet usage ne permet de répondre à tout les problèmes.

Il existe ainsi quelques “fonctions” déjà programmées. Pour les appeler, il faut déclarer l’endroit où elle se situe. Le fichier qui stocke certains ensembles de fonctions est appelée bibliothèque, librairie ou encore module.

Dans la bibliothèque random, on peut appeler la fonction randint(a,b) qui permet de générer un nombre aléatoire entier compris entre a et b.

  • L’instruction 1 :
    • from random, nous indique que l’on souhaite charger des “fonctions” de la bibliothèque random;
    • Import *, nous permet de charger l’ensemble des fonctions de la bibliothèque random. Le caractère * est l’expression régulière signifiant all (ou tout).
  • L’instruction 2 : on affecte à la variable a la valeur retournée par la fonction randint de paramètre 0 et 10. C’est-à-dire une valeur aléatoire (pseudo-aléatoire) comprises entre 0 et 10.
  • L’instruction 3 : affiche la valeur de la variable a.

A chaque exécution du programme, vous obtiendrez un nombre compris entre 0 et 10.

Pour s’amuser avec ces fonctions déjà pré-programmées, le programmeur se documente afin d’utiliser. Voici la doc de la bibliothèque random : https://docs.python.org/3/library/random.html

Et pour plus d’amusement, la doc référençant les bibliothèques standards utilisées en python : https://docs.python.org/fr/3/library/index.html

Pour les 4 exercices suivants, vous pouvez dérouler les programmes dans votre « tête » afin de gagner du temps. Solution en vidéo après l’exercice 4.

Exercice 1

Tester et dérouler le programme ci-dessous.

Exercice 2

Tester et dérouler le programme ci-dessous.

Exercice 3

Tester et dérouler le programme ci-dessous.

Exercice 4

Tester et dérouler le programme ci-dessous.

Cliquer sur le + pour obtenir la réponse :
Vidéo réponse aux 4 exercices précédents.

Exercice 5

Tester et saisir les valeurs 3,4,5. Le programme indique le triangle est rectangle. Ce qui est mathématiquement incohérent. Trouvez l’erreur et corrigé là.

Cliquer sur le + pour obtenir la réponse :

Exercice 6

Écrire un programme avec une fonction nommée parité. Elle prend en entrée une valeur entière de variable nommée nb et retourne en sortie une chaine de caractère.

Si le nombre est pair, la fonction retourne la chaine de caractère “Le nombre est pair”.

Si le nombre est impair, la fonction retourne la chaine de caractère “Le nombre est impair”.

Pour ce programme, on utilisera l’assertion nb%2==0. Cette assertion signifie que le reste de la division euclidienne de nb par 2 doit être égal à 0.

Cliquer sur le + pour obtenir la réponse :

Exercice complet

1) Tester et dérouler programme suivant :

2) On souhaite créer un jeu de Pierre-Feuille-Ciseau en contre l’ordinateur. On associe la valeur 1 à la pierre, la valeur 2 à la feuille et la valeur 3 au ciseau. Déterminer les 8 combinaisons possible et compléter le programme ci-dessous :

Cliquer sur le + pour obtenir la réponse :

3) Compléter votre programme. On souhaite jouer plusieurs fois contre l’ordinateur. En utilisant les boucles, faites-en sorte que le joueur puisse continuer à jouer tant qu’il ne saisit pas la valeur 0.

Cliquer sur le + pour obtenir la réponse :

4) Compléter votre programme. Créer deux variables permettant de compter le nombre de victoires du joueur et le nombre de victoires de l’ordinateur. A la fin du jeu, le jeu affiche qui est le gagnant de la partie.

Cliquer sur le + pour obtenir la réponse :