FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Form(résolu)
bizarerie avec cos sin tan() Emptypar leclode Hier à 17:59

» trop de fichiers en cours
bizarerie avec cos sin tan() Emptypar Marc Hier à 11:42

» Bataille navale SM
bizarerie avec cos sin tan() Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Une calculatrice en une ligne de programme
bizarerie avec cos sin tan() Emptypar jean_debord Ven 26 Avr 2024 - 8:01

» Gestion d'un système client-serveur.
bizarerie avec cos sin tan() Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
bizarerie avec cos sin tan() Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
bizarerie avec cos sin tan() Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
bizarerie avec cos sin tan() Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
bizarerie avec cos sin tan() Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
bizarerie avec cos sin tan() Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
bizarerie avec cos sin tan() Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
bizarerie avec cos sin tan() Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
bizarerie avec cos sin tan() Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
bizarerie avec cos sin tan() Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
bizarerie avec cos sin tan() Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le deal à ne pas rater :
Cdiscount : -30€ dès 300€ d’achat sur une sélection Apple
Voir le deal

 

 bizarerie avec cos sin tan()

Aller en bas 
5 participants
AuteurMessage
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

bizarerie avec cos sin tan() Empty
MessageSujet: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 9:07

bjr jack

j’interviens ici pour les calculs de trigonométrie
pour les valeurs de cos sin et les autres avec degrees
j'ai des mauvaises valeurs dans cos(90), sin(90) et tan(90)
normalement la cote
cos(90) est égal à  0 alors que panoramic donne comme résulta -1.355........
sin(180) =0 résulta de panoramic -2.710.........
cos(270) me donne 1.897...... au lieu de 0
et tan(90) est néant et il me donne -7.378........

Code:
degrees
print cos(90)
print sin(90)
print tan(90)
print cos(180)
print sin(180)
print tan(180)
print cos(270)
print sin(270)
print tan(270)
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 11:59

Je ne vois pas de problème.
Je viens d'essayer (sur un MAC, car je n'ai pas de PC sous la main) et j'obtiens:

pour cos(90) :
-1.3552527...E-19
ce qui veut dire:
-0,000000000000000000013552527... ce qui est pratiquement égal à 0
On peut par contre s'interroger sur le signe de cette valeur

pour sin(90) : 1
ce qui est la bonne valeur

pour tan(90) :
-7.378697...E18 ce qui veut dire :
-7378697000000000000 , ce qui vaut pratiquement - infini,
le signe - au lieu d'un signe + est du au cosinus qui est très légèrement négatif

pour cos(180) : -1, qui est la bonne valeur

etc, etc,

Je pourrais introduire un traitement particulier pour ces valeurs aux limites : qu'on obtienne pile la valeur 0 (au lieu de + ou - epsilon) ou qu'il y ait erreur si + ou - infini

_________________
bizarerie avec cos sin tan() Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 12:23

bjr jack

ok mais dans mon programme de trigo
il y a une mauvaise indication pour la cotation des entraxes
vois ci-desouus
et c'est pour cela que j'interviens

bizarerie avec cos sin tan() Captur10

merci jack
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 15:00

@pascal10000
essaye d'arrondir tes valeurs:

Code:


dim mon_nombre

degrees
mon_nombre=cos(90)

print mon_nombre

round_float(adr(mon_nombre),4)

print
print mon_nombre


END
'
sub round_float(adr_source%,decimales%)
dim_local tmp%,float,adr_destination%
   ' lit le contenu de la variable utilisateur à partir de son adresse, et écrit le dans dans la variable temporaire 'float'
   adr_destination%=adr(float)
   poke adr_destination%,peek(adr_source%)
   poke adr_destination%+1,peek(adr_source%+1)
   poke adr_destination%+2,peek(adr_source%+2)
   poke adr_destination%+3,peek(adr_source%+3)
   poke adr_destination%+4,peek(adr_source%+4)
   poke adr_destination%+5,peek(adr_source%+5)
   poke adr_destination%+6,peek(adr_source%+6)
   poke adr_destination%+7,peek(adr_source%+7)
   ' arrondi 'float'
   tmp%=float*power(10,decimales%)
   float=tmp%/(power(10,decimales%))
   ' écrit la variable arrondi 'float' dans la variable utilisateur
   poke adr_source%,peek(adr(float))
   poke adr_source%+1,peek(adr(float)+1)
   poke adr_source%+2,peek(adr(float)+2)
   poke adr_source%+3,peek(adr(float)+3)
   poke adr_source%+4,peek(adr(float)+4)
   poke adr_source%+5,peek(adr(float)+5)
   poke adr_source%+6,peek(adr(float)+6)
   poke adr_source%+7,peek(adr(float)+7)
end_sub


EDIT : PEEK ET POKE A EVITER, RESULTAT PARFOIS ALEATOIRE !!!


Dernière édition par silverman le Mar 13 Sep 2016 - 19:59, édité 1 fois
Revenir en haut Aller en bas
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 15:56

bjr silverman
merci pour ton aide mais en attendant j'ai adopté
ce code qui est plus direct

if angleB=0
sinu=0:csinu=1
end_if
if angleB=90
sinu=1:csinu=0
end_if
if angleB=180
sinu=0:csinu=-1
end_if
if angleB=270
sinu=-1:csinu=0
end_if

il faut aussi l'adapter avec la tangente
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 17:06

@ silverman (& pascal10000),
pour avoir un arrondi à 4 décimales (modulable), pourquoi ne pas faire tout simplement:
Code:
DIM v,i%
DEGREES
v = COS(90)
i% = v*10000
v = i%/10000
PRINT str$(v)
?
Ou sous forme de sub, par exemple:
Code:
DIM v,i%,nd%,ang,var
height 0,700
DEGREES
FOR ang = 70 TO 110
   v = COS(ang)
   Arrondi(v,4): PRINT STR$(ang)+"°: "+STR$(var)
NEXT ang
END

SUB Arrondi(valeur,nd%)
' arrondi de la valeur 'valeur' à nd% décimales maxi -> var
DIM_LOCAL i%,fact%
fact% = POWER(10,nd%)
i% =  valeur*fact%
var = i%/fact%
END_SUB
Revenir en haut Aller en bas
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 18:28

voici le résulta avec mon code

bizarerie avec cos sin tan() Captur11
Revenir en haut Aller en bas
mindstorm

mindstorm


Nombre de messages : 684
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 19:22

bonjour Pascal 10000
Sans vouloir intervenir magistralement et même si ton affichage semble juste, il ne traduit pas la réalité du calcul.
Tu agis de cette manière car tu connais déjà le résultat.
Si tu avais a traiter une fonction inconnue tu ne pourrais pas le faire.
Attention au raccourcis qui peuvent cacher une erreur!
Maintenant merci pour ton programme.

Revenir en haut Aller en bas
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyJeu 1 Sep 2016 - 19:54

bonjour mindstorm

Oui il est vrai que c'est un domaine que je connais un peut puisque
je suis tourneur fraiseur.
J'y fait attention aux raccourcis! t’inquiète pas
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyVen 2 Sep 2016 - 11:11

@JL35

ma sub convertit de la même manière que la tienne, mais réécrit la valeur arrondi dans la variable d'origine, d'ou l'utilisation des peek/pooke. J'ai émulé une fonction, c'est comme si on faisait:
mon_nombre=round_float(mon_nombre,4)

EDIT : PEEK ET POKE A EVITER, RESULTAT PARFOIS ALEATOIRE !!!


Dernière édition par silverman le Mar 13 Sep 2016 - 19:58, édité 1 fois
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() EmptyVen 2 Sep 2016 - 13:45

C'est sans doute plus élégant, mais bien plus coûteux en nombre de lignes pour un résultat équivalent.
Revenir en haut Aller en bas
Contenu sponsorisé





bizarerie avec cos sin tan() Empty
MessageSujet: Re: bizarerie avec cos sin tan()   bizarerie avec cos sin tan() Empty

Revenir en haut Aller en bas
 
bizarerie avec cos sin tan()
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» problème avec edit ou bien avec combo?
» Surprise avec une liste avec "_" .
» BUG avec MOUSE_X_POSITION et MOUSE_Y_POSITION
» Bug avec a$=b$
» Pb avec Min & Max

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: