Une carte mentale pour récapituler l’essentiel des structures à connaître et un ensemble d’exercices corrigés pour s’entrainer régulièrement.
D’abord une console pour tester vos programmes en direct:
La carte mentale pour se rafraichir un peu la mémoire
Et les exercices pour s’entrainer!
Légende des niveaux. En l’absence de signalétique on a les connaissances pour résoudre dès le début de la seconde. Avec (*) il faut des connaissances de seconde pour résoudre, avec (**) il faut des connaissances de 1ère et avec (***) on aura besoin de connaissances de Term.
Exercice 1: Ecrire une fonction de paramètre R qui retourne le volume d’une sphère de rayon R (pensez à importer le module math pour utiliser la valeur de pi)
Correction
from math import pi
def volume (R):
volume = 4/3 *pi*R**3
return volume
Exercice 2: Soit f la fonction définie sur R par f(x)=x²+8x-2. Ecrire une fonction qui retourne la valeur de f(x) pour une valeur de x choisie par l’utilisateur.
Correction
def fonction (x):
f=x**2+8*x-2
return f
Exercice 3: Ecrire une fonction qui donne la vitesse en km/h à partir de la distance parcourue en km et du temps en heures. Ecrire une fonction qui appelle le résultat précédent et le converti en m/s.
Correction
def vitesse(d,t):
vitesse=d/t
return vitesse
def vitesse_en_USI(d,t):
return vitesse(d,t)/3.6
Exercice 4: Ecrire une fonction qui retourne la racine du nombre choisi en paramètre (Attention, la racine d’un nombre négatif n’existe pas)
Correction
from math import sqrt
def racine(nombre):
if nombre >=0:
print(sqrt(nombre))
else:
print ("Le nombre choisi est négatif, sa racine n'est pas définie")
Exercice 5: Ecrire un programme qui détermine si un nombre entier est pair ou impair. Pour demander une valeur à l’utilisateur on pourra utiliser la double commande int(input())
Correction
nombre=int(input("choisir un nombre entier"))
if nombre %2==0:
print(nombre,"est pair")
else:
print(nombre,"est impair")
Exercice 6: L’accès au ferry pour une voiture particulière ne se fait qu’à deux conditions: la hauteur de la voiture est inférieur à 1,80m et son poids (sa masse!) ne dépasse pas 1,2tonnes. Ecrire une fonction qui a pour paramètre la hauteur et la masse de la voiture et qui retourne soit “accès interdit” soit “accès autorisé” selon le cas.
Correction
def acces_ferry(hauteur, masse):
if hauteur < 1.80 and masse < 1.2:
return "Accès autorisé"
else:
return "Accès interdit"
Exercice 7: Compléter la fonction précédente pour qu’en cas d’interdiction le motif soit précisé.
Correction
def acces_ferry(hauteur, masse):
if hauteur >= 1.80 and masse > 1.2:
return "Accès interdit, la hauteur et la masse de la voiture sont trop grandes."
elif hauteur >= 1.80:
return "Accès interdit, la hauteur de la voiture est trop grande."
elif masse > 1.2:
return "Accès interdit, la masse de la voiture est trop grande."
else:
return "Accès autorisé"
Exercice 8: Une année est bissextile lorsqu’elle respecte les conditions suivantes: la valeur est un multiple de 4 mais pas de 100 sauf si c’est un multiple de 400. Ecrire une fonction qui affiche si l’année choisie est bissextile ou non.
Correction
def est_bissextile(annee):
if annee % 400 == 0 or (annee % 4 == 0 and annee % 100 != 0):
print(annee, "est une année bissextile.")
else:
print(annee, "n'est pas une année bissextile.")
Exercice 9(*): Ecrire une fonction qui calcule la distance entre 2 points dont on connait les coordonnées.
Correction
from math import sqrt
def distance(xA,yA,xB,yB):
distance= sqrt((xB-xA)**2+(yB-yA)**2)
return distance
Exercice 10 (*): Ecrire une fonction qui affiche les coordonnées du point I milieu de [AB] à partir des coordonnées de A et de B.
Correction
def milieu (xA,yA,xB,yB):
xI=(xA+xB)/2
yI=(yA+yB)/2
return (xI,yI)
Exercice 11(**): Ecrire une fonction qui donne le nombre de solutions à l’équation ax²+bx+c=0 en prenant les valeurs de a, b et c comme paramètres.
Correction
a = input("Entrez la valeur de a : ")
b = input("Entrez la valeur de b : ")
c = input("Entrez la valeur de c : ")
discriminant = b**2 - 4*a*c #on calcule la valeur de delta
if discriminant > 0:
print("L'équation a deux solutions distinctes")
elif discriminant == 0:
print("L'équation a une solution")
else:
print("L'équation n'a pas de solution réelle")
Exercice 12(**): Ecrire un programme qui donne une valeur approchée des solutions d’une équation du type ax²+bx+c=0
Correction
a = input("Entrez la valeur de a : ")
b = input("Entrez la valeur de b : ")
c = input("Entrez la valeur de c : ")
discriminant = b**2 - 4*a*c
if discriminant > 0:
x1 = (-b + sqrt(discriminant)) / (2*a)
x2 = (-b - sqrt(discriminant)) / (2*a)
print("Les solutions sont approximativement",x1,"et",x2)
elif discriminant == 0:
x = -b / (2*a)
print("La solution est approximativement", x)
else:
print("L'équation n'a pas de solution réelle")