Musique

Problème 173 – Le Jerusalema dance challenge

Niveau : Terminale (Spécialité Maths)
Chapitres : Suites numériques (Récurrence), Algorithmique (Python)
Inédit, publié le 18/11/2020

Sorti fin décembre 2019, « Jerusalema » a créé une surprise en devenant en quelques mois un véritable tube planétaire ! Initialement, cette chanson, qui est une prière, n’était pourtant destinée à être utilisée que dans les églises d’Afrique du Sud. C’était sans compter le levier de milliers d’utilisateurs de TikTok, qui ont relayé le #JerusalemaDanceChallenge durant la période du premier confinement au printemps 2020. Dans ce problème, nous allons proposer une modélisation simple et totalement imaginaire de ce dance challenge, pour justement voir comment il se développe sur une piste de danse.

La danse de « Jerusalema » est une danse du type « Madison », où l’on exécute, en mangeant avec une assiette à la main, une série de pas que l’on répète sans arrêt après avoir effectué à chaque fois ¼ de tour – ce qui signifie qu’on fait un tour entier après avoir effectué la série de pas 4 fois de suite. On suppose qu’au début de la chanson, un certain nombre de personnes se lancent sur la piste de danse. Au bout du premier tour de danse, le nombre de danseurs a doublé. Durant le deuxième tour, un nombre de personnes égal aux nombres de danseurs déjà présents sur la piste au début de ce tour rejoignent la piste de danse, mais une personne s’arrête de danser. Puis, de manière plus générale, on considère que durant le (n+1)ième tour, un nombre de personnes égal au nombre de danseurs déjà présents au début de ce (n+1)ième tour rejoignent la piste de danse, mais n personnes s’arrêtent de danser. On admet, dans ce scénario fictif, que la chanson tourne en boucle sans s’arrêter et que la piste de danse n’a pas de limite de taille.

On appelle (un) la suite qui à n associe le nombre de danseurs présents sur la piste au bout du nième tour de danse, en appelant u0 le nombre de danseurs sur la piste au début de la chanson.

1) Expliquer pourquoi pour tout n≥0, un+1 = 2u– n.

2) Dans cette question uniquement, on suppose que u0 = 1.
a) Calculer u1, u2, u3.
b) Conjecturer l’expression de un en fonction de n pour tout n≥0, et montrer cette expression par récurrence.

3) On suppose à partir d’ici que u0 n’est pas connu. On cherche une expression explicite de un en fonction de n et de u0.

On pose pour tout n≥0 :

a) Démontrer que pour tout n≥0 :  vn = 2(2n – 1) – n
b) Montrer par récurrence que, pour tout n≥1, un = 2nu0 – vn-1

4) On cherche à écrire un algorithme en langage Python, qui permet de déterminer, dans ce modèle, au bout de combien de tours le nombre de personnes sur la piste de danse dépasse 10 000 personnes – étant donné un nombre initial u0 rentré par l’utilisateur.

a) Remplir le programme ci-dessous afin qu’il puisse donner une réponse à cette question.

1   u=int(input(« Nombre de personnes? »))
2   n=……….
3   while u<………….:
4           u=……………
5           n=……………
6   print(…)

b) Déterminer ce qu’affiche le programme si l’utilisateur entre la valeur 2 à l’exécution du programme.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s