mathsbdp.fr Les notions de base en algorithmique et en programmation les instructions conditionnelles
Pour aiguiller dans différentes directions l’exécution d’un algorithme, on peut avoir recours à des instructions conditionnelles qui permettent de déterminer si les instructions qui suivent doivent être, ou non exécutées.
Ex3. Écrire une fonction absolue qui après saisie d’un nombre décimal, nous donne en sortie la valeur absolue de ce nombre. On pourra utiliser l’instruction conditionnelle si.
Rappel
Définition : On appelle valeur absolue d’un réel 𝑥 et on note |𝑥| le nombre tel que :
|𝑥| = 𝑥 si 𝑥 ≥ 0
|𝑥| = −𝑥 si 𝑥 < 0
NOM du programme absolue Si condition alors
suite d’instructions 1 Sinon
suite d’instructions 2 Fin Si
en PYTHON if condition
:
suite d’instructions 1 else
:
suite d’instructions 2
PYTHON from math import*
def absolue(x) : …
Python
from math import*
def distance(a,b) : …
Ex4. distance entre deux nombres
On considère deux nombres a et b ; après saisie des deux nombres, l’algorithme affiche la distance entre ces deux nombres. On utilisera une fonction distance(a,b)
Rappel
Soient A et B deux points de la droite des réels d’abscisses respectives 𝑎 et 𝑏.
La distance entre les réels 𝑎 et 𝑏 est la distance AB ; elle se calcule à l’aide de la fonction valeur absolue ; on a : 𝐴𝐵 = |𝑏 − 𝑎|
Recopie et complète l’algorithme ci-dessous NOM du programme : : distance
Python def tarif(n) :
…
Python def location(x) : …
Ex5. Comparaison de tarif
Julie souhaite s’inscrire dans un club d’équitation.
Le club lui propose les deux tarifs suivants :
• tarif A : une cotisation annuelle de 80 € et la séance coûte 10,50 €.
• tarif B : la séance coûte 17 €.
Voici un programme incomplet qui suivant le nombre n de séances suivies par Julie dans l’année affiche le tarif le plus avantageux et le prix correspondant.
Écrire une fonction tarif(n) en PYTHON
qui renvoie le tarif avantageux et ainsi que le prix à régler.
La programme sur la calculatrice.
Teste le pour n=5 et n=13
Ex6. Coût location voiture
Dans une agence, le coût d’une location journalière d’une voiture s’élève à 60 € plus :
• 0,35 € par km parcouru jusqu’à 100 km ;
• 0,25 € par km parcouru au-delà.
a) Calcule le coût de la location pour un parcours de 90 km. ____________________________________
b) Même question pour un parcours de 450 km. _______
c) Le programme suivant déterminer et affiche le coût c de la location suivant le nombre x de kilomètres parcourus dans la journée.
Écrire une fonction location(x) qui après saisie du nombre de km renvoie le coût de location c, puis programme cet algorithme sur la calculatrice.
Teste le programme pour 90 km et pour 450 km pour retrouver les réponses du a) et b).
fonction ( variable t temps en minutes ) t←t/60
Si t≤ …
alors d ← 15× 𝒕 sinon si 𝟏 < 𝒕 ≤ 𝟐
d ← … sinon si t>2
alors d ← … FinSi
retourner d
rappel :
𝒗𝒊𝒕𝒆𝒔𝒔𝒆 = 𝒅𝒊𝒔𝒕𝒂𝒏𝒄𝒆
𝒕𝒆𝒎𝒑𝒔
𝒅𝒊𝒔𝒕𝒂𝒏𝒄𝒆 = 𝒗𝒊𝒕𝒆𝒔𝒔𝒆 × 𝒕𝒆𝒎𝒑𝒔 L’instruction 𝒕/𝟔𝟎 permet de passer à une durée en heure.
Ex7. distance parcourue
Un coureur de fond court à 15 km/h pendant la première heure, puis à 12 km/h l’heure suivante et termine à 9 km/h le temps restant.
On souhaite écrire un algorithme qui affiche la distance parcourue lorsque l’utilisateur entre le temps de course en minutes.
On propose cet algorithme incomplet écrit en langage naturel
langage naturel Python Pour i allant de 1 à N
instructions FinPour
for i in range(1,N+1)
:
instructions
La fin de l’indentation marque la fin de la boucle.
langage naturel Python
saisir n
S prend la valeur 0 Pour I allant de 1 à N S prend la valeur S+I Fin Pour
Afficher S
Ex8.âge du joueur et groupe correspondant Dans une école de rugby, il y a quatre groupes :
• le groupe U8 pour les joueurs entre 8 ans inclus et 10 ans exclus ;
• le groupe U10 pour les joueurs entre 10 ans inclus et 12 ans exclus ;
• le groupe U12 pour les joueurs entre 12 ans inclus et 14 ans exclus ;
• le groupe U14 pour les joueurs entre 14 ans inclus et 16 ans exclus.
Programme une fonction u(a) qui renvoie le numéro de l’équipe dans laquelle se trouve le joueur d’âge a.
Boucle bornée et compteur. Dans un programme, une boucle permet de répéter plusieurs fois de suite un même traitement.
Lorsque le nombre n d’itérations (répétitions ) est connu à l’avance, on parle de
boucle bornée et on utilise un compteur généralement initialisé à 1 et qui s’incrémente de 1 à chaque itération jusqu’à la valeur n.
saisir n x←1
Pour i allant de 1 à n x ←2*x
Fin Pour Afficher x ALGO. MYSTERE2
Soit l’algorithme ci-contre écrit en langage naturel.
a) Détermine les valeurs obtenues en sortie pour 𝑛 = 1 ; 𝑛 = 2 ; 𝑛 = 3
b) Explique ce que fait cet algorithme.
c) Le transcrire en langage PYTHON.
langage naturel Python PYTHON avec fonction
saisir n x←1
Pour i allant de 1 à n
x ← 𝟐 ×x Fin Pour Afficher x
n=int(input(« entrer n : »)
x=1 for i in range(1,n+1) : x=2*x
print(x)
def mystere(n) : x=1
for i in range(1,n+1) : x=2*x
return(x)