(basic) pb de compréhension d'un calcul

Résolu
chti_moon Messages postés 63 Statut Membre -  
chti_moon Messages postés 63 Statut Membre -
Bonjour,

je suis actuellement en stage, et je cherche à comprendre un programme qu'on m'a demandé de refaire dans un autre langage (java)
Mais je bloque sur une ligne de calcul que je ne comprend pas :

R(14) = (1 + 103 / R(45) - 2300 / R(45) ^ 2) * -((R(45) >= 80) AND (R(45) <= 3410)) + 1.03 * -(R(45) > 3410)


R() est un tableau de double

Je ne comprend pas le "AND" et le ">". Est-ce que cela signifie qu'on fait le calcul si telle condition est remplie ??


Merci pr votre aide !
A voir également:

10 réponses

blux Messages postés 27896 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

c'est du basic ?

Il faut savoir que l'évaluation d'une condition renvoie vrai ou faux, mais selon les langages, il est possible que le test 'vrai/faux' n'existe pas, on utilise donc une valeur numérique pour vérifier la condition, généralement -1 veut dire vrai et 0 veut dire faux.

Essaie d'afficher a=2, généralement tu verras le résultat -1 à l'écran, mais si tu essaies d'afficher 3=2, tu devrais obtenir 0...

Dans ton cas, R(14) devrait contenir -1 ou 0 selon que les conditions sont remplies ou non.

C'est plus clair ?
1
Utilisateur anonyme
 
R14 je pance sa veut dire requete 14 tu doi surement selectionner (1 + 103 / R(45) - 2300 / R(45) ^ 2) * -((R(45) >= 80) et le and veut dire que tu doi selectionner un deuxieme truk je pence :AND (R(45) <= 3410)) + 1.03 * -(R(45) > 3410)
0
chti_moon Messages postés 63 Statut Membre 4
 
Oui merci c'est plus clair !
Et oui, c'est du basic, par contre je peux pas faire le test... je l'ai juste sur papier, c'est un vieux programme qu'il veule refaire fonctionner et j'ai rien pr faire du basic, donc est-ce que tu sais si, en basic, quand la condition est remplie on renvoie -1 et 0 sinon, ou autre chose ?


Donc en fait, mon R(14) devrais contenir soit 0, soit la valeur de (1 + 103 / R(45) - 2300 / R(45) ^ 2) si les 2 conditions sont vraies.
Est-ce que je me trompe ?

merci encore !:)
0
blux Messages postés 27896 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Pour tester du basic :

https://www.google.fr/search?hl=fr&q=basic+gratuit&btnG=Recherche+Google&meta=&gws_rd=ssl

Donc en fait, mon R(14) devrais contenir soit 0, soit la valeur de (1 + 103 / R(45) - 2300 / R(45) ^ 2) si les 2 conditions sont vraies.
Est-ce que je me trompe ?

OUI !

R(14) contiendra -1 si (1 + 103 / R(45) - 2300 / R(45) ^ 2) * -((R(45) >= 80) ET si (R(45) <= 3410)) + 1.03 * -(R(45) > 3410), sinon il contiendra 0. Regarde bien : on fait le test d'une formule par rapport à 80 et un test d'une autre formule (elle-même alambiquée !) par rapport à 3410.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chti_moon Messages postés 63 Statut Membre 4
 
Merci beaucoup pr ton aide ! c'est nikel :D
0
chti_moon Messages postés 63 Statut Membre 4
 
J'aurais encore besoin d'un petit coup de pouce pr une autre formule :

R(17) = VAL(LEFT$(STR$(dia + .02), INSTR(1, STR$(dia + .02), ".") + 2))


Je comprend pas quelle sera la valeur de R(17).
D'après ce que j'ai compris, INSTR est une fonction qui retourne une position...
0
blux Messages postés 27896 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Moi non plus...

En gros : STR transforme un nombre en chaine, INSTR cherche un car dans une chaine à partir d'une position.

Donc ici, il se pourrait que l'on cherche à récupérer dia avec 2 décimales (élimination des autres).

On ajoute .02 à dia, on le transforme en chaine et on cherche où est ".", quand on a trouvé, on ajoute 2 à cette position (pour prendre les décimales) et on coupe une chaine qu'on retransforme en numérique (avec val)
0
chti_moon Messages postés 63 Statut Membre 4
 
Oui, en fait, c'est un grand truc pr pas faire grand chose au final... Mais j'ai compris comment ça marche, par contre, j'en vois pas l'intérêt !
0
blux Messages postés 27896 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Ne récupérer que 2 décimales ?
0
chti_moon Messages postés 63 Statut Membre 4
 
oui ça doit être ça :)

Merci beaucoup pour ton aide blux !!!
0