Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algobox mauvaise réponse

Posté par
samihormi
25-03-17 à 23:26

Bonsoir à tous
Voila j'ai créé un algorithme il y'as quelque temps:

***Algorithme lancé***
Calcul du coefficient d'atténuation linéique
Entrer Pe : 7.8
Entrer Ps : 5.5
Entrer d : 653
10/d*log(Pe/Ps)=0.0053503161
***Algorithme terminé***

Aucune dysfonctionnement en lui même, mais j'ai constater après quelques essais qu'il m'afficher le mauvais résultat dans l'exemple en haut le résultat est en fait : 0.002324

Comment résoudre ce probléme ?
Merci d'avance

Posté par
Glapion Moderateur
re : Algobox mauvaise réponse 25-03-17 à 23:33

Comment veux-tu que l'on te réponde si on n'a pas le code !
tu as dû faire des erreurs de syntaxe.

Posté par
samihormi
re : Algobox mauvaise réponse 25-03-17 à 23:40

Au temps pour moi
Le voici :

1   VARIABLES
2     α EST_DU_TYPE NOMBRE
3     Pe EST_DU_TYPE NOMBRE
4     Ps EST_DU_TYPE NOMBRE
5     d EST_DU_TYPE NOMBRE
6   DEBUT_ALGORITHME
7     AFFICHER "Calcul du coefficient d'atténuation linéique"
8     LIRE Pe
9     LIRE Ps
10    LIRE d
11    SI (Pe>0 ET d>0 ET Ps>0 Et Pe>Ps) ALORS
12      DEBUT_SI
13      α PREND_LA_VALEUR 10/d*log(Pe/Ps)
14      AFFICHER "10/d*log(Pe/Ps)="
15      AFFICHER α
16      FIN_SI
17      SINON
18        DEBUT_SINON
19        SI (Pe<Ps) ALORS
20          DEBUT_SI
21          AFFICHER "Le signal d'entrée ne peut être inférieur au signal de sortie."
22          FIN_SI
23        SI (Ps = Pe) ALORS
24          DEBUT_SI
25          AFFICHER "Le signal d'entrée ne peut être égale au signal de sortie."
26          FIN_SI
27        SI (Pe<0) ALORS
28          DEBUT_SI
29          AFFICHER "Le signal d'entrée ne peut être inférieur à 0."
30          FIN_SI
31        SI (Ps<0) ALORS
32          DEBUT_SI
33          AFFICHER "Le signal de sortie ne peut être inférieur à 0."
34          FIN_SI
35        SI (d<0) ALORS
36          DEBUT_SI
37          AFFICHER "La distance ne peut être négative."
38          FIN_SI
39        FIN_SINON
40  FIN_ALGORITHME

Posté par
Zormuche
re : Algobox mauvaise réponse 25-03-17 à 23:45

Bonjour

calcule toi-même 10/653*log(7.8/5.5), tu verras que le résultat est bien 0.00535

Posté par
Zormuche
re : Algobox mauvaise réponse 25-03-17 à 23:47

Et pour raccourcir un petit peu ton algorithme, tu peux faire

Si PePs alors
Afficher "le signal d'entrée doit être strictement supérieur au signal de sortie"
Fin Si

Et aussi :

Si (d<0) OU (Ps<0) OU (Pe<0) alors
   Afficher "les valeurs ne peuvent pas être négatives"
Fin Si

Posté par
cocolaricotte
re : Algobox mauvaise réponse 25-03-17 à 23:52

Cela dépend de ce que tu entends par log

c'est logarithme népérien ou base 10 ?

Avec ln cela donne 0,0053.....

Avec log base 10 cela donne bien 0,0023...

Reste à bien coder la fonction dans Algobox

Posté par
samihormi
re : Algobox mauvaise réponse 25-03-17 à 23:55

Je trouve 0.002324
Et ce n'est pas le seul exemple
Si j'utilise d'autres valeurs la réponse au calcul est toujours différente que celle de l'algorithme.

Posté par
samihormi
re : Algobox mauvaise réponse 26-03-17 à 00:20

Merci Pour vos réponses
Il s'agit bien d'un logarithme à base 10 cependant je ne sais pas comment coder cette fonction sur algobox
Si quelqu'un aurait un tuyau s'il vous plaît ?

Posté par
Zormuche
re : Algobox mauvaise réponse 26-03-17 à 00:21

Je ne sais pas comment tu fais ton calcul mais je suis bien curieux de savoir où et comment tu as fait ton calcul pour obtenir 0.002324

PS pour coco : c'est log base e

Posté par
Zormuche
re : Algobox mauvaise réponse 26-03-17 à 00:22

Ah bah c'est log base 10, tu m'étonnes que tu trouves des mauvais résultats !

log10(x) = ln(x)/ln(10)

Posté par
Zormuche
re : Algobox mauvaise réponse 26-03-17 à 00:23

Tu aurais pu dire dès le début que le problème venait de la base du log

Posté par
Zormuche
re : Algobox mauvaise réponse 26-03-17 à 00:25

Tu es sûr que c'est log base 10? sur un site traitant du coefficient d'atténuation linéique, je trouve la même formule avec log base e

Posté par
samihormi
re : Algobox mauvaise réponse 26-03-17 à 00:51

Oui il s'agit bien d'un logarithme à base 10 car il est exprimé en décibel .
C'est bon l'algorithme marche bien comme il faut
Merci encore

Posté par
Glapion Moderateur
re : Algobox mauvaise réponse 26-03-17 à 13:19

il vaudrait mieux mettre des parenthèses à (10/d)*log(Pe/Ps)

et puis
SI (Ps == Pe) ALORS

sinon ça m'étonnerait fort qu'il marche bien comme il faut

Posté par
cocolaricotte
re : Algobox mauvaise réponse 26-03-17 à 13:26

10/d*log(Pe/Ps)    en respectant les règles de priorité entre opération : pas de priorité , on effectue les opération de gauche à droite et on obtient

\dfrac{10}{d} * log \left(\frac{Pe}{PS} \right)

Le souci venait, ici que de mauvaise interprétation de log(x) dans algobox qui donne le résultat du logarithme népérien de x  



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !