Академический Документы
Профессиональный Документы
Культура Документы
Cet exercice propose deux petits probl`emes autour de la simulation du syst`eme phy-
sique du rebond dune balle.
1.1 Proc
edure rebondir
Lorsquune balle tombe dune hauteur initiale h0 , sa vitesse darrivee au sol est :
q
v0 = 2gh0
v1 = v0
1
Unisciel algoprog Rebonds de balles / it10 2
Ecrivez une procedure rebondir(coef,h) qui effectue un unique rebond dune balle de
coefficient de rebond coef (reel) et de hauteur courante h (reel). La procedure effectuera
le rebond puis restituera la nouvelle hauteur dans h.
Outil
C++ La fonction racine carree sqrt(x) est definie dans la biblioth`eque <cmath>.
Solution simple
C++ @[rebondsA1.cpp]
Les probl`emes [Hauteur finale] et [Nombre de rebonds] utilisent les procedures suivantes
pour la saisie des donnees. Faites un copier/coller des procedures fournies.
Procedure demanderNbr(x,a,b) (reel dans x dans [a,b[)
C++ @[demanderNbrA1.cpp]
Ce probl`eme calcule la hauteur finale dune balle apr`es un nombre donne de rebonds.
Il utilise la procedure rebondir ainsi que les procedures demanderNbr, demanderSup et
saisirEntier fournies dans le probl`eme [Procedure rebondir].
Ecrivez une fonction hrebonds(coef,h0,n) qui calcule et renvoie la hauteur finale at-
teinte par une balle de coefficient de rebond coef (reel) lachee dune hauteur initiale h0
(reel) et effectuant n (entier) rebonds.
Unisciel algoprog Rebonds de balles / it10 3
Ecrivez une procedure test_hrebonds qui demande et saisit :
Un coefficient de rebond tel que 0 < 1 dans coef (reel).
Une hauteur initiale telle que h0 0 dans h0 (reel).
Un nombre de rebonds compris dans lintervalle [1..100] dans n (entier).
Affichez les invites :
Coefficient de rebond:
Hauteur initiale:
Nombre de rebonds:
Solution simple
C++ @[pg-rebondsA1a.cpp]
Ce probl`eme determine le nombre de rebonds que fait une balle avant que la hauteur
a` laquelle elle rebondit ne soit plus petite ou egale a` une hauteur donnee. Il utilise la
Unisciel algoprog Rebonds de balles / it10 4
procedure rebondir ainsi que les procedures demanderNbr et demanderSup fournies dans
le probl`eme [Procedure rebondir].
Solution simple Ici il faut boucler TantQue la hauteur courante h (initialisee avec
h0) est superieure a` la hauteur finale h1.
Calculez et affichez :
==> Nombre de rebonds = ...
Unisciel algoprog Rebonds de balles / it10 5
Solution simple
C++ @[pg-rebondsA1b.cpp]