
Certains langage de programmation utilise le terme de procédure comme équivalent des fonctions.
Une fonction se caractérise comme suit :

Une fonction peut utiliser des paramètres pour réaliser un traitement donné. Ce n'est pas une obligation, mais généralement il y a un ou plusieurs paramètres donnés à la fonction.
La fonction peut retourner des valeurs, c'est à dire que le résultat du traitement en renvoyé. Ce n'est pas non plus une obligation de retourner des valeurs !
Plusieurs langages de programmation utilise le mot clef return suivi des variables à retourner pour renvoyer celles-ci.
Faire les exercices de David Roche sur les fonctions. (A faire vous-même 16 à 21)
a- Une fonction qui ne fait rien
Tester le code suivant :
def ditBonjour(nom, age):
phrase = f"Bonjour {nom}, vous avez {age} ans."
ditBonjour('Baptiste',14)
ditBonjour('Ninon',11)
ditBonjour('Titouan',7)
Pourquoi cela n’affiche rien ?
Corriger le code de la fonction pour que cela affiche les 3 phrases.
b - Variable locale vs variable globale
Tester le code suivant :
def add(a,b):
c=a+b
return (a,b,c)
resu = add(5,8)
print(f"{a} + {b} = {c}")
Pourquoi y a t-il une erreur ?
Corriger le code pour que cela affiche le résultat tout en conservant la ligne 3 telle quelle.
Quel est le type de donnée de resu ?
Est-ce utile de retourner a et b ?
c- Utiliser les valeurs retournées
Tester le code suivant afin de comprendre l'écriture de ope(nb1,nb2)[0] :
def ope(a,b):
c=a+b
d=a-b
return (c,d)
nb1=int(input("Premier nombre ?"))
nb2=int(input("Deuxième nombre ?"))
print(f"{nb1} + {nb2} = {ope(nb1,nb2)[0]}")
Compléter le code pour afficher, en deuxième ligne, l'opération de soustraction en se basant sur l'exemple de l'addition.
d- Créer une fonction CalcTVA()
Partie Fonction :
Créer une fonction CalcTVA qui calcule la TVA à partir des paramètres du prix hors taxe et du montant du taux de TVA.
Cette fonction doit retourner le montant de la taxe et le prix total
Partie Programme principal :
Tant que le prix est positif :
- demander le prix hors taxe
- demander le taux de TVA
- appeler la fonction CalcTVA
- Afficher les résultats en respectant la présentation : "Prix hors Taxe: 100€ --- Taux TVA: 20% --- Prix TTC: 120€"
e- Créer une fonction Rect()
Partie Fonction :
Créer une fonction Rect qui calcule le périmètre et l’air d'un rectangle à partir de ses arguments que sont la longueur et la largeur.
La fonction retournera le périmètre et l'air.
Partie Programme principal :
Tant que la largeur et la longueur sont positives :
- demander à l’utilisateur la longueur et la largeur du rectangle,
- afficher “le périmètre est de” suivi de la valeur retournée par la fonction
- afficher “l’air est de” suivi de la valeur retournée par la fonction
f- Créer une fonction SconvHMS()
Partie Fonction :
Créer une fonction SconvHMS(t) qui convertit la durée t exprimée en secondes en une durée heure, minutes et secondes.
La fonction retournera ces trois valeurs.
Partie Programme principal :
Tant que t est positif :
- demander à l’utilisateur la durée t,
- afficher “La durée ... secondes fait ... h - ... mn - ... s"
g- Créer une fonction tableMultiple(nb,debut,fin)
Partie Fonction :
Créer une fonction tableMultiple(nb,debut,fin) qui calcul et affiche la table de multiplication de nb de la valeur debut à la valeur fin.
L'affichage devra respecter la mise en forme suivante :
Table de mutltiplication de nb, de la valeur debut à la valeur fin
15 x 4 = 60
15 x 5 = 75
etc
Partie Programme principal :
Tant que Nb est différent de -1:
- demander à l’utilisateur la valeur de Nb, Debut et Fin
- appeler la fonction pour effectuer le traitement
h- Créer une fonction mesurePiece(larg,long,haut)
Partie Fonction :
Créer une fonction mesurePiece(larg,long,haut) qui calcul la surface et le volume d'une pièce rectangulaire.
La fonction retournera s et v
Partie Programme principal :
Demander à l'utilisateur le nombre de pièces de la maison
Pour chaque pièce (utiliser une boucle while):
- Afficher la numéro de la pièce
- Demander à l’utilisateur les valeurs de la largeur, longueur et hauteur.
- Appeler la fonction pour effectuer le traitement.
- Comptabiliser au fur et à mesure la surface et le volume de la maison.
Afficher les informations suivantes :
La maison a une surface de surface m^2 et un volume de volume m^3
i- Créer une fonction calpinagePiece(largP,longP,coteC)
Partie Fonction :
Créer une fonction calpinagePiece(largP,longP,coteC) qui calcul le nombre de carreaux de carelage d'une pièce à commander pour réaliser le carelage.
Les paramètres sont :
largP : largeur de la pièce
longP: longueur de la pièce
coteC: les carreaux à commander sont carrés de longueur coteC
La fonction retournera :
nbE : le nombre de carreaux entiers (donc qui n'ont pas besoin d'être coupés)
nbC : le nombre de carreaux à couper (donc qui ont besoin d'être coupés). Pour simplifier, on considère que la chute coupée est non réutilisable
Partie Programme principal :
Tant que coteC est non nul:
- Demander à l'utilisateur les dimensions de la pièce et la longueur d'un côté du carreau (ils sont carrés)
- appeler la fonction pour effectuer le traitement
- Afficher les informations suivantes :
- Pour poser le carelage, il faut commander : nE carreaux entier et nC carreaux qui seront coupés, donc N carreaux en tout.
