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.
Un arbre, un chapeau et rien d'autre. Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Un arbre, un chapeau et rien d'autre. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Un arbre, un chapeau et rien d'autre. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Un arbre, un chapeau et rien d'autre. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Un arbre, un chapeau et rien d'autre. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Un arbre, un chapeau et rien d'autre. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Un arbre, un chapeau et rien d'autre. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Un arbre, un chapeau et rien d'autre. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Un arbre, un chapeau et rien d'autre. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Un arbre, un chapeau et rien d'autre. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Un arbre, un chapeau et rien d'autre. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Un arbre, un chapeau et rien d'autre. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Un arbre, un chapeau et rien d'autre. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Un arbre, un chapeau et rien d'autre. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Un arbre, un chapeau et rien d'autre. 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 €

 

 Un arbre, un chapeau et rien d'autre.

Aller en bas 
+3
Klaus
Jean Claude
papydall
7 participants
AuteurMessage
papydall

papydall


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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyMer 10 Fév 2016 - 1:29

Code:

rem ============================================================================
rem       Arbre récursif
rem ============================================================================
Init()
Tree()
end
rem ============================================================================
' Vous pouvez modifier toutes ces valeurs
SUB Init()
    dim level : level = 12
    dim long  : long  = 80
    dim x     : x     = 300
    dim y     : y     = 400
    dim rot   : rot   = pi/2
    dim a1    : a1    = pi/6
    dim a2    : a2    = pi/8
    dim c1    : c1    = 0.7
    dim c2    : c2    = 0.85
    dim xs(level+1)
    dim ys(level+1)
    color 0,0,128,128
END_SUB
rem ============================================================================
' Procédure récursive
SUB Tree()
    xs(level) = x : ys(level) = y
    Branche()
    if level > 0
       level = level - 1 : long = long*C1 : rot = rot - A1
       Tree() : ' 1er Appel récursif
       long = long/C1*C2 : rot = rot + A1 + A2
       Tree() : ' 2 second appel récursif
       rot = rot - A2 : long = long/C2 : level = level + 1
    end_if
     x = xs(level) : y = ys(level)
END_SUB
rem ============================================================================
SUB Branche()
    dim_local xn,yn,w
    w = long/5 : if w < 1 then w = 1
    2d_pen_width w : 2d_pen_color 15*w,255,10
    yn = 0-sin(rot)*long + y : xn = cos(rot)*long + x : 2d_line x,y,xn,yn
    x = xn : y = yn : display
END_SUB
rem ============================================================================


Dernière édition par papydall le Jeu 11 Fév 2016 - 12:58, édité 1 fois (Raison : Pour ajouter le chapeau dans le titre.)
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyMer 10 Fév 2016 - 15:51

Mon arbre ne plait à personne ! Sad  Sad
Pourtant il est généré par une procédure récursive  cheers et la documentation de Panoramic ne souffle pas un seul mot sur la récursivité. No
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyMer 10 Fév 2016 - 17:53

Je n'ai pas trop de temps en ce moment, alors je me suis contenté de lancer le code. c'est pourquoi je n'ai pas remarqué l'intérêt du code: la récursivité.

Donc à priori ça fonctionne en Panoramic, je ne le fait jamais car je pensais que ça pouvait poser problème.

Merci Papydall.
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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyMer 10 Fév 2016 - 18:36

king
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyMer 10 Fév 2016 - 19:03

Ton arbre est superbe, Papydall !


Pour la récursivité, ça marche dans certaines conditions. Mais surtout, ne pas utiliser de variables locales, car dès le premier appel récursif, Panoramic signale une erreur sur le DIM_LOCAL...

Non, techniquement, Panoramic ne permet pas de procédures récursives, pour la boonne et simple raison qu'il n'y a de pile pour l'allocation de l'espace de travail propre à chaque instance de procédure. Les variables locales, tout comme les paramètres formels d'une SUB, sont définis dans la table de symboles de Panoramic, comme les autres variables, sous forme de noms tout en majuscules. La seule distinction est un préfixe qui est appliqué à ces noms: c'est le nom de la SUB, suivi d'un point d'exclamation, suivi du nom de la variable ou du paramètre. Et c'est ainsi que dès le premier appel récursif, ça plante sur un DIM_LOCAL. Pour les paramètres formels, ça passe au niveau de l'appel (et je ne sais même pas pourquoi...), car ça ne devrait pas passer non plus. Mais tant qu'au moins ça, ça marche, on ne va pas être plus royaliste que le Roi...

Voici un exemple célèbre d'algorithme récursif. Il a fallu ruser car on ne peut pas définir de fonctions:
Code:
dim n%, fac%
n% = 6
fac% = 1
faculte(n%)
print str$(n%)+"! = "+str$(fac%)
end

sub faculte(k%)
if k%>1
  n% = k% - 1
  fac% = fac%*k%
  faculte(n%)
end_if
end_sub
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyMer 10 Fév 2016 - 23:53

Merci Klaus pour ces explications.
Ton code fonctionne, mais j’ai corrigé un mini bug (pas notre ami, non, non) sur l’affichage du résultat puisque la sub modifie la variable n% passée comme paramètre.
Voici le code modifié, en fait j’ai sauvegardé n% dans sauv% ( quel exploit j’ai réalisé !)
Code:

dim n%, fac%, sauv%
n% = 6  : sauv% = n%
fac% = 1
faculte(n%)
print str$(sauv%)+"! = "+str$(fac%)
end

sub faculte(k%)
if k%>1
  n% = k% - 1
  fac% = fac%*k%
  faculte(n%)
end_if
end_sub

Et pour te remercier, je t’offre (à toi spécialement, mais aussi à tous ceux qui passent par là) mon chapeau_bas.bas
Il est un peu lent à se réaliser, mais ça vaut le coup de patienter le temps qu’il prendra.

Code:

rem ============================================================================
rem         Chapeau_bas
rem ============================================================================
width 0,650 : picture 10 : full_space 10 : 2d_target_is 10 : color 10,0,0,0
Chapeau()
print_target_is 10 : font_bold 10 : font_name 10,"tahoma" : font_size 10,20
font_color 10,200,100,50 : print_locate 200,20 : print " Chapeau bas !!! "
end
rem ============================================================================
SUB Chapeau()
    dim_local x1,x2,x4,y1,y2,x,y,i,a,l,r,f
    x1 = 300 : y1 = 300 : x2 = x1*x1 : y2 = 200
    For x = 0 to x1
        x4 = x*x : L = 0-y1 :  A = sqr(abs(x2 - x4))
        For I = 0-A to A
            2d_pen_color mod((abs(i/2)+x/2),255), abs(255-abs(i/2)),mod(abs(a/2),255)
            R = sqr(X4+I*I)/x1 : F = (1-R)*cos(12*R) : Y = I/5+F*y2
            If Y > L then l = y : y = y1-y : 2D_point x1-x,y : 2D_point x1+x,y
            display
        Next I
    Next x
END_SUB
rem ============================================================================

Voici le résultat:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyJeu 11 Fév 2016 - 1:36

Très joli, Papydall ! Merci !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyJeu 11 Fév 2016 - 7:56

Notre papydall travaille du chapeau maintenant !  Wink

Très belles réalisations, bravo !
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyJeu 11 Fév 2016 - 12:56

Bonjour tout le monde.

Aujourd’hui on a gagné un connaisseur de plus de la qualité des réalisations de Papydall.
Alors, chapeau !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyJeu 11 Fév 2016 - 15:40

Pas mal, j'avais déjà vu cet arbre mais en monochrome.
Pour ce qui est de la récursivité, c'est simple à faire avec l'interpréteur quand on a compris 'le truc'. J'ai posté un exemple de récursion: la tour de hanoï
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: +++   Un arbre, un chapeau et rien d'autre. EmptyJeu 11 Fév 2016 - 19:12

Chapeau, chapeau,
c'est une soucoupe volante, ça !
Arrow alien Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyJeu 11 Fév 2016 - 20:00

Heu... moi j'ai vu un flan aux œufs dans une assiette creuse avec une morille au centre.

lol!
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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptyVen 12 Fév 2016 - 1:17

jjn4 a écrit:
Chapeau, chapeau,
c'est une soucoupe volante, ça !

Tu as  de quoi retourner sur Mars.  alien

Jean Claude a écrit:
Heu... moi j'ai vu un flan aux œufs dans une assiette creuse avec une morille au centre.

On voit bien le chef cuisinier cordon bleu !
Spoiler:


En réalité, en concoctant  mon code, je ne savais pas ce que ça va donner.
Comme ça m’a plu, j’ai dis « chapeau bas, Papydall ».
Voilà vous connaissez tout.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Parpaiun

Parpaiun


Nombre de messages : 192
Age : 85
Localisation : HERAULT
Date d'inscription : 15/04/2015

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Chapeau bas (suite)   Un arbre, un chapeau et rien d'autre. EmptySam 13 Fév 2016 - 14:26

Papydall, est ce normal ces effets de scintillements (ou de flashs répétitifs ) pendant l'affichage animé de ton "chapeau bas" sur l'écran ? Ça me fait mal aux yeux tu sais ! Pour les autres, ça craint de provoquer une crise d'épilepsie ! de Parpaiun Shocked Shocked Shocked
Revenir en haut Aller en bas
Invité
Invité




Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptySam 13 Fév 2016 - 15:09

Bonjour Papaiun.
Je te répond car j'ai été surpris par ta question. Je me suis dit: "Quels scintillements? Je ne me souvenais pas en avoir eu.

J'ai donc relancé le programme de Papydall, et j'ai constaté une chose: Si j’agrandis un un peu la fenêtre sur le bord, j’ai effectivement ces effets. Si je rétrécie pour n'avoir que la zone noire, ils disparaissent. C'est d'ailleurs la première fois que je constate ce phénomène.
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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptySam 13 Fév 2016 - 15:17

Salut Parpaiun.
Je suis content de ton retour.


Parpaiun a écrit:
Papydall, est ce normal ces effets de scintillements (ou de flashs répétitifs ) pendant l'affichage animé de ton "chapeau bas" sur l'écran ? Ça me fait mal aux yeux tu sais ! Pour les autres, ça craint de provoquer une crise d'épilepsie ! de Parpaiun      

Le chapeau_bas n’est pas un dessin animé : c’est un dessin tout court.
Il n’y a absolument pas de scintillements lors de son tracé.
Tout au plus, un très léger effet de moiré  à peine perceptible pour des yeux de lynx (ou de Lyncée)

Pour les yeux, j’en sais quelque chose et je ne me  permets pas de provoquer une crise d’épilepsie à quiconque !
Et si mon « chapeau bas » te gêne à ce point, tu as deux choix à faire :
*** 1)  Tu mets la ligne 19 display en REM : tu ne verra plus le chapeau se dessiner et il s’affichera d’un coup quand il sera dessiné. Mais là, tu perds le plaisir de voir l’œuvre en création !
*** 2) Tu envoies le fichier vers la corbeille  pour t’épargner le mal aux yeux.

Fais ton choix lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptySam 13 Fév 2016 - 15:47

Cosmos70 a écrit:

J'ai donc relancé le programme de Papydall, et j'ai constaté une chose: Si j’agrandis un un peu la fenêtre sur le bord, j’ai effectivement ces effets. Si je rétrécie pour n'avoir que la zone noire, ils disparaissent. C'est d'ailleurs la première fois que je constate ce phénomène.

Ce phénomène je l’ai déjà constaté : ça arrive quand les dimensions du PICTURE correspondent exactement à celles du FORM.
Tout changement de ces dimensions en cours d’exécution du programme provoque ces scintillements gênants.

Essayer le code suivant
Code:

picture 10 : full_space 10 : color 10,0,0,0 : 2d_target_is 10 : 2d_pen_color 255,255,255
' width 10,width(0)
2d_circle 300,220,200

Modifier les dimensions de la fenêtre à l’aide de la souris et bonjour les dégâts :  le PICTURE scintille !
Activer la ligne 2 en enlevant le REM (‘) : toute modification des dimensions de la fenêtre  NE provoque PLUS aucun scintillements !
Seules des "ascenseurs" (disgracieux ?) apparaîtront.

Pour ne pas avoir ces ascenseurs, modifier le code comme ceci

Code:

picture 10 : full_space 10 : color 10,0,0,0 : 2d_target_is 10 : 2d_pen_color 255,255,255
 width 10,width(0)-20
2d_circle 300,220,200

Il n'y a plus ni scintillements, ni ascenseurs.
C'est à vous de tirer les conclusions. king


Dernière édition par papydall le Sam 13 Fév 2016 - 18:59, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptySam 13 Fév 2016 - 18:55

Le problème du scintillement n'est pas nouveau, mais je n'avais jamais remarqué qu'une variation de dimension influait sur cet effet. Entre parenthèses, chapeau bas pour ton programme. Comme tu le sais, j'évite d'intervenir, cela ne signifie pas que ça m’épate.
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

Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. EmptySam 13 Fév 2016 - 19:01

sunny sunny sunny
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Un arbre, un chapeau et rien d'autre. Empty
MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Un arbre, un chapeau et rien d'autre. Empty

Revenir en haut Aller en bas
 
Un arbre, un chapeau et rien d'autre.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Tracé d'un arbre avec une procédure récursive
» Problème avec la fonction ReplaceStringInString.
» Arbre binaire de recherche (AVL)
» [tuto]Arbre binaire
» Noob dans un arbre

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: