Date en variable aléatoire

Date en variable aléatoire

par Daniel LE JALLE,
Nombre de réponses : 9

Bonjour,

Je voudrais créer une question calculée avec une date comme variable aléatoire dans la formule.

Exemple : pour un emprunt effectué le 15/09/2020, quels sont les intérêts courus au 31/12/2020 ?

L'objectif est de faire varier la date de l'emprunt, sachant que le formule des intérêts courus fait intervenir le délai entre cette date et le 31/12/2020.

Je vous remercie.

Moyenne des évaluations  -
En réponse à Daniel LE JALLE

Re: Date en variable aléatoire

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

Pouvez-vous préciser la formule faisant intervenir le délai entre cette date et le 31/12/2020 que devront utiliser les étudiants pour obtenir un résultat correct ?

En réponse à Christian Bocquet

Re: Date en variable aléatoire

par Daniel LE JALLE,
Bonjour,
Dans la suite de l'exemple, la formule serait : montant emprunt x taux d'intérêt x (31/12/2020 - 15/09/2020)
Merci.
En réponse à Daniel LE JALLE

Re: Date en variable aléatoire

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Mais quelle est la fonction acceptée par une question calculée qui permet de trouver le nombre de jours dans (31/12/2020 - 15/09/2020) ?
Dans le tableau des fonctions disponibles pour une question calculée, je n'en trouve pas.

En réponse à Christian Bocquet

Re: Date en variable aléatoire

par Daniel LE JALLE,
Justement, c'était ma question, sinon je ne la poserais pas.... Autrement dit, je voulais savoir s'il était possible de faire des calculs avec des dates, comme sur Excel par exemple.
En réponse à Daniel LE JALLE

Re: Date en variable aléatoire

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Bonjour Daniel
À mon avis, la seule solution est de calculer la durée en prenant une variable pour le jour et une pour le mois.
L'année du début et de la fin est la même ?
En réponse à Jean-Gabriel DEPINOY

Re: Date en variable aléatoire

par Daniel LE JALLE,
Bonjour,
OK, il faut dans ce cas que je mette {JOUR}/{MOIS} comme variable par exemple, et baser mon calcul du nombre de jours sur : 360-({JOUR}+30*{MOIS})
et supposer que ma date de fin est toujours 31/12, et que l'année fait 360 jours....
Merci pour la piste, je vais creuser
En réponse à Daniel LE JALLE

Re: Date en variable aléatoire

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles

Oui c'est à peu près l'idée. Si on veut être plus précis et compter réellement 366 jours pour l'année 2020, j'ai essayé de trouver une formule qui conviendrait en prenant tes données:

la durée serait égale à 366 - ( 30 * (MOIS - 1)  + JOUR + INT ( (MOIS - 1) / 2) + INT ( (Mois - 1)/7) - INT ( (MOIS + 9) /12) ) à réécrire bien sûr au format exploitable par le type de question avec les { } pour les variables.

30 * (MOIS - 1): permet de compter dans un premier temps 30 jours pour chaque mois complet

JOUR: permet d'ajouter le nombre de jours du mois incomplet

INT ( (MOIS - 1) / 2) : ajoute 1 un mois sur 2 (pour arriver à 31 jours)

INT ( (Mois - 1)/7): permet d'ajouter un à partir du mois d'août car juillet ET août ont 31 jours

- INT ( (MOIS + 9) /12): permet de retrancher 1 si le mois est supérieur au mois de février (et donc de compter 29 jours au lieu des 30 initialement calculés)

Je me suis un peu arraché les cheveux, mais je crois que la formule est bonne. Bien sûr, si les deux dates ne sont pas sur la même année (d'où ma question dans le message précédent), il faut encore complexifier un peu la formule pour tenir compte des années bissextiles ou pas...

Bon amusement...

En réponse à Jean-Gabriel DEPINOY

Re: Date en variable aléatoire

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

Une autre proposition pour obtenir le nombre de jours en utilisant un opérateur conditionnel :

366-({JOUR}+(({MOIS}>1) ? 31 : 0)+(({MOIS}>2) ? 29 : 0) +(({MOIS}>3) ? 31 : 0) +(({MOIS}>4) ? 30 : 0)+(({MOIS}>5) ? 31 : 0) +(({MOIS}>6) ? 30 : 0)+(({MOIS}>7) ? 31 : 0)+(({MOIS}>8) ? 31 : 0)+(({MOIS}>9) ? 30 : 0)+(({MOIS}>10) ? 31 : 0)+(({MOIS}>11) ? 30 : 0))

la variable {JOUR} étant un entier pouvant varier de 1 à 29
la variable {MOIS} étant un entier pouvant varier de 1 à 12