Parcours Le minuteur de cuisine Étape 1
Des secondes aux minutes
Lire une durée en minutes et secondes, la convertir en secondes, puis l'afficher au format mm:ss.
Notions :division entièremoddeux chiffres
Un minuteur compte en secondes : 3 minutes et 30 secondes font 3 × 60 + 30 = 210 secondes.
Revenir aux minutes
Pour afficher 210 secondes en « 03:30 » :
- les minutes sont le quotient de la division par 60 :
arrondi_inferieur(210 / 60)= 3 ; - les secondes sont le reste :
210 mod 60= 30.
Toujours deux chiffres
« 3:5 » est difficile à lire : on veut « 03:05 ». La fonction deuxChiffres ajoute un zéro devant les nombres de 0 à 9 :
retourne sialors(n < 10, "0" + convertir_texte(n), convertir_texte(n))
La fonction lireEntier repose la question tant que la réponse n'est pas un nombre entier.
Ouvrez CoddyRun et partez d'un programme vide : tout commence ici.
Il te faut le logiciel pour faire cette étape. Il est gratuit : crée ton compte pour le télécharger, puis reviens ici, ta place t'attend.
Créer mon compte et téléchargerIndice 1
Déclarez minutesM, secondesM, total est un nombre.
Indice 2
formatTemps utilise deux fois deuxChiffres, avec « : » au milieu.
Indice 3
Testez 0 minute et 75 secondes : le programme doit afficher 01:15.
Voir la solution complète
Essayez d'abord par vous-même : c'est en cherchant qu'on apprend. La solution sert à vérifier ou à se débloquer.
@ Les déclarations
minutesM, secondesM, total est un nombre
@ Lire un nombre entier positif
fonction lireEntier(question)
reponse est un texte
valeur est un nombre
valeur vaut -1
tant que valeur < 0
demande question dans reponse
reponse vaut supprime_espace(reponse)
si reponse <> "" et chiffres(reponse) = reponse alors
valeur vaut convertir_nombre(reponse)
sinon
couleur(#F4212E, "Un nombre entier, s'il vous plaît.")
fin si
fin tant que
retourne valeur
fin fonction
@ Le temps au format mm:ss
fonction deuxChiffres(n)
retourne sialors(n < 10, "0" + convertir_texte(n), convertir_texte(n))
fin fonction
fonction formatTemps(secondes)
retourne deuxChiffres(arrondi_inferieur(secondes / 60)) + ":" + deuxChiffres(secondes mod 60)
fin fonction
@ Programme principal
html("<h2>Minuteur</h2>")
minutesM vaut lireEntier("Minutes : ")
secondesM vaut lireEntier("Secondes : ")
total vaut minutesM * 60 + secondesM
affiche "Durée : " + convertir_texte(total) + " secondes, soit " + formatTemps(total)