C2 : Exercices

C2.E1 : Unités d'angles

Rappel de mathématiques sur les unités d'angles : \(\pu{180 °} = \pu{π rad}\)

Pour les fonctions ci-dessous, on utilisera la valeur de pi du module math.

1) Écrire une fonction radToDeg(angle_radian:float) -> float qui prend un nombre correspondant à un angle en radians en paramètre et renvoie un nombre correspondant au même angle mais en degrés.

2) Écrire la fonction inverse degToRad(angle_degres:float) -> float.

Afficher la correction
from math import pi

    def radToDeg(angle_radian:float) -> float:
        angle_degre = angle_radian * 180 / pi
        return angle_degre

    def degToRad(angle_degre:float) -> float:
        angle_radian = angle_degre / 180 * pi
        return angle_radian


    # Programme pincipal
    a_rad = pi/2
    a_deg = radToDeg(a_rad)

    b_deg = 360
    b_rad = degToRad(b_deg)

C2.E2 : Surface d'un parallélépipède rectangle

1) Écrire une fonction aire_rect(largeur, longueur) qui prend deux nombres en paramètres et renvoie l'aire du rectangle dont les valeurs des côtés sont ces deux nombres.

Rectangle avec la largeur et la longueur

2) Écrire une fonction aire_boite(a, b, c) qui prend trois nombres en paramètres et renvoie la somme des aires des côtés d'un parallélépipède rectangle dont les trois valeurs sont les arêtes. Cette fonction devra utiliser la fonction du 1).

Parallélépipède rectangle avec ces côtés a, b et c

3) Écrire le programme principal qui permet de calculer l'aire totale de l'ensemble des côtés d'un parallélépipède rectangle dont les arêtes ont pour valeurs 3, 4, 5.

Afficher la correction
def aire_rect(larg, long):
    return larg * long

def aire_boite(a, b, c):
    aire = 2 * aire_rect(a, b) + 2 * aire_rect(b, c) +2 * aire_rect(a, c)
    return aire


# Programme principal
cote_a = 3
cote_b = 4
cote_c = 5
aire_tot = aire_boite(cote_a, cote_b, cote_c)

C2.E3 : Analyse d'un code

Exercice sans ordinateur

On considère le code ci-dessous.

def fct():
    m = randint(1,12)
    j = randint(1,31)
    a = randint(1900,2100)
    return str(j) + "/" + str(m) + "/" + str(a)

1) Expliquer en une phrase l'utilité de cette fonction.

2) Expliquer les différents éléments de la syntaxe python de la ligne 5.

3) Compléter le code de la fonction avec la docstring et les annotations de type.

C2.E4 : Un peu de mathématiques

Exercice sans ordinateur

On s'intéresse au programme suivant où le paramètre x dans les quatre fonctions est un nombre décimal :

def f(x):
    return x + 3

def g(x):
    return 2*x

def h1(x):
    return f(g(x))

def h2(x):
    return g(f(x))

a = 4
b = 8
m = f(a)
n = g(a)
r1 = h1(b)
r2 = h2(b)

1) Compléter les fonctions avec des anotations de type.

2) Donner les valeurs de a, b et c à la fin de l'exécussion du programme.

Afficher la correction
def IMC(masse:float, taille:float) -> float:
    """
    Renvoie l'IMC à partir de la masse et de la taille
    Paramètres :
            masse : (float) masse de la personne en kg
            taille : (float) taille de la personne en m
    Valeur renvoyée : (float) IMC de la personne
    """
    return masse / taille ** 2

# Programme principal
taille_A = 1.65
masse_A = 53
IMC_A = IMC(masse_A, taille_A)

C2.E5 : Indice de Masse Corporelle

L'indice de masse corporelle (IMC) d'un humain se calcule par la formule : \(IMC = \dfrac{masse}{ taille^2}\), la masse étant exprimée en kg et la taille en mètres.

1) Proposer le code d'une fonction, avec sa docstring, qui renvoie l'IMC à partir de la masse et de la taille passées en paramètres.

2) Utiliser cette fonction dans le programme principal pour calculer l'IMC d'une personne de \(\pu{1,65 m}\) ayant une masse de \(\pu{53 kg}\).