Procédures et fonctions

Procédures

Dans les langages de programmation, une procédure est un bloc d’ instructions isolé du reste du programme, qui possède un nom, et qui peut être appelé de n’importe quel endroit du programme et autant de fois que l’on veut.
Une procédure exécute des instructions (imprime par exemple) mais ne retourne pas de valeurs

La définition d’une procédure est composée :

  •  du mot clé def suivi de l’identificateur de la procédure, de parenthèses entourant les paramètres de la procédure séparés par des virgules, et du caractère « deux points » qui termine toujours une instruction composée
  •  du bloc d’instructions indenté par rapport à la ligne de définition, et qui constitue le corps de la procédure.

La syntaxe est donc la suivante :

def nomDeLaProcédure(liste de paramètres):
…. intruction 1
….instruction 2
 

 Procédure sans paramètre

Pour utiliser ce type de procédure il suffit de l’appeler par son nom :

>>>def test():
…     a= »bonjour »
…     b= »monsieur »
…     print(a+b)
>>> test()
bonjourmonsieur

Procédure avec paramètre(s)

Quand on appelle la procédure, les arguments (valeurs données aux paramètres) peuvent être des constantes ou des variables et même une autre procédure !

def airerectangle(largeur,longueur):
…     aire=largeur*longueur
…     print(aire)
>>> airerectangle(2,3)
6

Fonctions

A la différence d’une procédure, une fonction exécute des instruction et « retourne » une valeur !
Tout ce qui a été dit sur les procédures s’appliquent aux fonctions
Exemple :
La fonction cube calcule le cube d’un nombre et retourne le résultat

def cube(x):
….p=x**3
….return p
# Programme principal
from math import*
volumesphere=4*pi*cube(2)
print(volumesphere)

:

Avec un return multiple : les valeurs sont renvoyées comme éléments d’une liste

import math
def surfaceVolumeSphere(r):
….surf = 4.0 * math.pi * r**2
….vol = surf * r/3
….return surf, vol
# programme principal
rayon = float(input(‘Rayon : ‘))
x=surfaceVolumeSphere(rayon)
print(« Sphère de surface », x[0])
print(« Sphère de Volume « , x[1])