[R] Besoin d'aide pour un petit calcul
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
[R] Besoin d'aide pour un petit calcul
Bonjour,
J'ai un petit problème de calcul .
J'ai une variable ($pente) qui peut varier de +45° à -45° et une variable ($slider) qui peut aller de 65536 à 0.
En fait:
si la variable $pente = +45° ou supérieure, ma variable $slider doit valoir 65536
si la variable $pente = 0° ma variable $slider doit valoir 32768
si la variable $pente = -45 ° ou inférieure, ma variable $slider doit valoir 0.
Comment puis je écrire cela svp afin de connaitre la valeur de $slider pour $pente compris entre + et - 45°
Merci par avance.
J'ai un petit problème de calcul .
J'ai une variable ($pente) qui peut varier de +45° à -45° et une variable ($slider) qui peut aller de 65536 à 0.
En fait:
si la variable $pente = +45° ou supérieure, ma variable $slider doit valoir 65536
si la variable $pente = 0° ma variable $slider doit valoir 32768
si la variable $pente = -45 ° ou inférieure, ma variable $slider doit valoir 0.
Comment puis je écrire cela svp afin de connaitre la valeur de $slider pour $pente compris entre + et - 45°
Merci par avance.
Modifié en dernier par pierrotm777 le mer. 08 sept. 2010 19:13, modifié 2 fois.
- sksbir
- Niveau 7

- Messages : 384
- Enregistré le : lun. 26 oct. 2009 17:57
- Localisation : Lyon
- Status : Hors ligne
Re: [..]Besoin d'aide pour un petit calcul
bonjour
ton énoncé est incomplet : quelle valeur doit avoir slider entre -45 et 45? tu précises pour 0, mais pas pour les autres valeurs de la fourchette.
si c'est idem 0 pour entre -45 et 45 alors
tu fais ça en 3 tests.
if ($PENTE >= 45) then
$slider=65535
elseif ($pente >-45 ) and ( $pente <45) then
$slider=32768
else
$slider=0
endif
ton énoncé est incomplet : quelle valeur doit avoir slider entre -45 et 45? tu précises pour 0, mais pas pour les autres valeurs de la fourchette.
si c'est idem 0 pour entre -45 et 45 alors
tu fais ça en 3 tests.
if ($PENTE >= 45) then
$slider=65535
elseif ($pente >-45 ) and ( $pente <45) then
$slider=32768
else
$slider=0
endif
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..]Besoin d'aide pour un petit calcul
C'est bien mon problème.
J'ai eu la même idée que vous et j'avais pensé à trois tests aussi:
Je viens de penser à une solution de calcul assez simple.
Si mon slider possède 20 positions, il en a alors 10 entre +-45° .
Mais cela ne me donne pas une solution au ° prét , bien que je pense que cela devrait suffire .
Il faudrait donc diviser (65536-32768)/9 et 45/9 avec une solution de 5° en 5°.
Qu'en pensez vous ?
J'ai eu la même idée que vous et j'avais pensé à trois tests aussi:
Code : Tout sélectionner
If $pente > 0 Then $slider = Round(Abs(65536/$pente)
If $pente < 0 Then $slider = Round(Abs(1/$pente))
If $pente = 0 Then $slider = 32768Si mon slider possède 20 positions, il en a alors 10 entre +-45° .
Mais cela ne me donne pas une solution au ° prét , bien que je pense que cela devrait suffire .
Il faudrait donc diviser (65536-32768)/9 et 45/9 avec une solution de 5° en 5°.
Qu'en pensez vous ?
- matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [..]Besoin d'aide pour un petit calcul
Désolé sksbir mais ta réponse n'a rien à voir!
voila!
Au fait, voici le raisonnement:
Tu veut ça:
- P = 45 => S = 65536
- P = 0 => S = 32768
- P = -45 => S = 0
Si on prend une nouvelle variable P2 = P + 45, on aura:
- P + 45 = 90 => S = 65536
- P + 45 = 45 => S = 32768
- P + 45 = 0 => S = 0
Donc:
- P2 = 90 => S = 65536
- P2 = 45 => S = 32768
- P2 = 0 => S = 0
C'est déja plus facile à résoudre!
prenons le premier cas:
S = (65536 / 90) x P2
=> S = (65536 / 90) x (P + 45)
Et voici l'équation qui donne S à partir de P
(Et ouais, j'ai eu 19/20 en math au bac!!!
)
voila!
► Afficher le texte
Tu veut ça:
- P = 45 => S = 65536
- P = 0 => S = 32768
- P = -45 => S = 0
Si on prend une nouvelle variable P2 = P + 45, on aura:
- P + 45 = 90 => S = 65536
- P + 45 = 45 => S = 32768
- P + 45 = 0 => S = 0
Donc:
- P2 = 90 => S = 65536
- P2 = 45 => S = 32768
- P2 = 0 => S = 0
C'est déja plus facile à résoudre!
prenons le premier cas:
S = (65536 / 90) x P2
=> S = (65536 / 90) x (P + 45)
Et voici l'équation qui donne S à partir de P
(Et ouais, j'ai eu 19/20 en math au bac!!!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..]Besoin d'aide pour un petit calcul
Je test ça , mais cela m'a l'air d'être ce dont j'ai besoin ! 
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [..]Besoin d'aide pour un petit calcul
Heu ouais enfin, c'est qu'un simple produit en croix hein
Sinon, pensez a rendre vos fonctions aussi génériques que possibleEt également a utiliser les balises de code dans vos messages.
Sinon, pensez a rendre vos fonctions aussi génériques que possible
Code : Tout sélectionner
Func _calc($pente)
Local $slider, $penteAbs
$penteAbs = $pente
If $penteAbs < -45 Then $penteAbs = -45
If $penteAbs > 45 Then $penteAbs = 45
$slider = (65536/90)*($penteAbs+45)
Return $slider
EndFuncSignez ici
- sksbir
- Niveau 7

- Messages : 384
- Enregistré le : lun. 26 oct. 2009 17:57
- Localisation : Lyon
- Status : Hors ligne
Re: [..]Besoin d'aide pour un petit calcul
A mon tour d'être désolé, mais je maintiens ce que j'ai dit : l'énoncé est incomplet, car il n'est précisé nulle part que la variable de sortie doit avoir une valeur linéaire de 0 à 655535 en fonction de la variable d'entrée dans la fourchette -45 à +45matwachich a écrit :Désolé sksbir mais ta réponse n'a rien à voir!
Ceci dit, belle extrapolation, et belle réalisation
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..]Besoin d'aide pour un petit calcul
Merci à tous pour votre intérêt pour mon problème qui est bien résolu. 
- matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [R] Besoin d'aide pour un petit calcul
C'est vrai que c'est pas complete comme énoncé, mais regarde cette phrase:
"connaitre la valeur de $slider pour $pente compris entre + et - 45°"
Elle veut tout dire!!!
M'enfin bref! tout est bien qui fini bien!
PS: désolé pour les balises
"connaitre la valeur de $slider pour $pente compris entre + et - 45°"
Elle veut tout dire!!!
M'enfin bref! tout est bien qui fini bien!
PS: désolé pour les balises
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Besoin d'aide pour un petit calcul
L'essentiel est d'être compris ! 
