Bonjours, je suis en seconde et mon professeur de maths nous a donné un DM à faire . Et dans ce DM , je suis bloqué au niveau 3 : Refuser la saisie d'un nombre décimal dans un algobox. Je cherche depuis Hier , et je ne trouve aucune solution à ce problème. S'il vous plait , aidez moi .
Merci d'avance.
Bonjour.
Je crois qu'il faut mettre un point au lieu d'une virgule pour écrire un nombre décimal ; exemple : 1.5 à la place de 1,5.
Bonjour, oui ça je le sais.Mais notre professeur nous demande : Quand la personne qui utilise l'algorithme met un valeur decimal ( 7.2) , l'algorithme refuse de faire le calcul. Car on veut calculer des heures minutes ,secondes . Et donc cela sera plus facile d'avoir que des nombres entiers.
Je ne comprends pas trop comment affronter ce problème, désolé...
Attends la réponse d'une autre personne.
Salut,
Faut trouver la fonction "partie entière" (INT ou ENT dans les calculatrices ou sur Excel).
Le test serait :
Si xENT(x) , alors refuser...
Voila mon algorithme , je n'arrive pas insérer ce que tu viens de me dire " Yzz"
VARIABLES
nb_secondes EST_DU_TYPE NOMBRE
h EST_DU_TYPE NOMBRE
min EST_DU_TYPE NOMBRE
sec EST_DU_TYPE NOMBRE
reste EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE h
TANT_QUE (h<0) FAIRE
DEBUT_TANT_QUE
AFFICHER "Il faut un nombre d'heure(s) positif"
LIRE h
FIN_TANT_QUE
TANT_QUE (h>24) FAIRE
DEBUT_TANT_QUE
AFFICHER* "Il faut un nombre infèrieur à 24"
LIRE h
FIN_TANT_QUE
LIRE min
TANT_QUE (min<0) FAIRE
DEBUT_TANT_QUE
AFFICHER "Il faut un nombre de minute(s) positif"
LIRE min
FIN_TANT_QUE
TANT_QUE (min>60) FAIRE
DEBUT_TANT_QUE
AFFICHER* "Il faut un nombre infèrieur à 60"
LIRE min
FIN_TANT_QUE
LIRE sec
TANT_QUE (sec<0) FAIRE
DEBUT_TANT_QUE
AFFICHER "Il faut un nombre de seconde(s) positif"
LIRE sec
FIN_TANT_QUE
TANT_QUE (sec>60) FAIRE
DEBUT_TANT_QUE
AFFICHER* "Il faut un nombre infèrieur à 60"
LIRE sec
FIN_TANT_QUE
nb_secondes PREND_LA_VALEUR (h*3600)+(min*60)+sec
AFFICHER nb_secondes
AFFICHER "= seconde(s)"
FIN_ALGORITHME
Pour ça, tu peux créer une boucle TANT_QUE
si on dit que "x" est ta variable, ca donne:
LIRE x
TANT_QUE x!=floor(x) FAIRE
DEBUT_TANT_QUE
LIRE x
FIN_TANT_QUE
Cette boucle compare un nombre et sa partie entière, si le nombre est entier, la boucle n'est pas activée mais si le nombre est décimal, la condition est remplie et l'algorithme te redemande de rentrer x tant que tu t'obstine a entrer un nombre décimal
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :