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
» Logiciel de planétarium.
Représentation de fonctions. Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Représentation de fonctions. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Représentation de fonctions. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Représentation de fonctions. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Représentation de fonctions. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Représentation de fonctions. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Représentation de fonctions. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Représentation de fonctions. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Représentation de fonctions. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Représentation de fonctions. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Représentation de fonctions. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Représentation de fonctions. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Représentation de fonctions. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Représentation de fonctions. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Représentation de fonctions. Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -20%
Drone Dji DJI Mini 4K (EU)
Voir le deal
239 €

 

 Représentation de fonctions.

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1596
Date d'inscription : 19/01/2014

Représentation de fonctions. Empty
MessageSujet: Représentation de fonctions.   Représentation de fonctions. EmptyMar 7 Nov 2017 - 10:08

Bonjour.

Ce code permet de tracer la courbe de fonctions affines et du second degré.

Code:
' Version du 22 oct 2017.

dim a, b, c, e$, crlf$, delta, k, maximum, ox, oy, x1, x2, y1, y2, x3, y3

label calcul, quitter

maximize 0
2d_target_is 0
on_close 0,quitter

crlf$=chr$(10)+chr$(13)

ox=screen_x/2
oy=screen_y/2

alpha 4:top 4,50:width 4,30:height 4,30:font_size 4,12:font_bold 4:font_color 4,255,0,128:caption 4,"  a"
alpha 5:top 5,100:width 5,30:height 5,30::font_size 5,12:font_bold 5:font_color 5,255,0,128:caption 5,"  b"
alpha 6:top 6,150:width 6,30:height 6,30::font_size 6,12:font_bold 6:font_color 6,255,0,128:caption 6,"  c"

memo 1:left 1,50:top 1,50:height 1,30:font_size 1,12:font_bold 1:font_color 1,0,0,160
memo 2:left 2,50:top 2,100:height 2,30::font_size 2,12:font_bold 2:font_color 2,0,0,160
memo 3:left 3,50:top 3,150:height 3,30::font_size 3,12:font_bold 3:font_color 3,0,0,160

button 7:left 7,50:top 7,200:width 7,100:height 7,30:font_bold 7:caption 7,"Calculer"
on_click 7,calcul

end

calcul:
  cls

  a=0:b=0:c=0
  if text$(1)<>"" and numeric(text$(1))=1 then a=val(text$(1))
  if text$(2)<>"" and numeric(text$(2))=1 then b=val(text$(2))
  if text$(3)<>"" and numeric(text$(3))=1 then c=val(text$(3))

if a>0 then delta=b*b-4*a*c

for x1=0 to ox*2 step 25
   2d_pen_color 0,128,0
   2d_line x1,oy-5,x1,oy+5
   if (x1-ox)/25<>0    
      font_color 0,128,128,255
      if mod(x1,5)=0 then print_locate x1-5,oy+10:print str$((x1-ox)/25)
   end_if
next x1

for y1=0 to oy*2 step 25
   2d_pen_color 0,128,0
   2d_line ox-5,y1,ox+5,y1
   if (oy-y1)/25<>0
      font_color 0,128,128,255
      if mod(y1,5)=0 then print_locate ox+10,y1-5:print str$((oy-y1)/25)
   end_if
next y1

k=0
 
2d_line ox,0,ox,oy*2
2d_line 0,oy,ox*2,oy
 
2d_pen_color 255,0,0
2d_pen_width 3
for x1=-100 to 100 step 0.01
   k=k+1
   y1=a*x1*x1+b*x1+c
     
   x2=int(ox+x1*25)
   y2=int(oy-y1*25)
     
   if k=1
      2d_poly_from x2,y2
         else
      2d_poly_to x2,y2
   end_if
next x1

if a>0
  if delta<0
     message "Delta ("+str$(delta)+") est inférieur à zéro: l'équation n'a donc pas de solution !"
        else
     x1=(0-b-sqr(delta))/(2*a)
     x2=(0-b+sqr(delta))/(2*a)
     maximum=(x1+x2)/2
                                                                                                                             
     x3=0-maximum
     y3=a*maximum*maximum+b*maximum+c

     e$="Delta= "+str$(delta)+crlf$+"x1= "+str$(x1)+crlf$+"x2= "+str$(x2)+crlf$+crlf$+"Extremum en ("+str$(maximum)+" ; "+str$(y3)+")"
     e$=e$+crlf$+crlf$
     e$=e$+"Forme canonique: "+str$(a)+"(x"
     if x3>0 then e$=e$+"+"
     e$=e$+str$(x3)+")²"
     if y3>0 then e$=e$+"+"
     e$=e$+str$(y3)
     message e$
  end_if
end_if

while 0=0
     x1=mouse_x_position(0)
     y1=mouse_y_position(0)
     
     x1=(x1-ox)/25
     y1=(oy-y1)/25
     
     caption 0,"x: "+str$(x1)+", y1: "+str$(y1)
     if scancode=27 then terminate
end_while

return

quitter:
  terminate
return


Dernière édition par Pedro Alvarez le Mar 7 Nov 2017 - 20:29, édité 2 fois
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Représentation de fonctions. Empty
MessageSujet: Re: Représentation de fonctions.   Représentation de fonctions. EmptyMar 7 Nov 2017 - 14:11

Bonjour Pedro et merci pour le partage.

Essayer avec a = 1 ; b = -15 ; c = 50 dont les solutions sont 5 et 10 et voir le tracé : tronqué
De même avec a = 1 ; b = -20 ; c = 100

Il est préférable de mettre CLS au début du sous-programme calcul pour un nouveau tracé.
Pourquoi tu fais varier x entre -10 et + 10 ? ligne 62
Il est préférable de déterminer d’abord l’intervalle de variation de x pour un tracé lisible.

Jette un œil sur ce post

Ajoute les tests nécessaires pour que les valeurs contenues dans les MEMO 1, 2 et 3 soient bien des valeurs numériques afin de contrer le petit malin qui donnerait comme valeur pour a (ou b ou c) quelque chose comme  « q3+ »
Ton code est perfectible et avec un peu de modification, il sera beaucoup plus utile.
Bonne continuation.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
 
Représentation de fonctions.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Représentation d'une chaine de caractère en mémoire ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: