FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Dessin 2D: largeur de trait
par papydall Hier à 23:31

» Projet de planétarium virtuel.
par Jean Claude Hier à 21:59

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 20:32

» Animation: Feux de signalisation
par Minibug Hier à 20:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 16:39

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Une astuce qui ne sert à rien !

Aller en bas 
AuteurMessage
papydall

avatar

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

MessageSujet: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 0:00

Salut tout le monde.

N’ayant rien de mieux à faire, je vous propose cette astuce qui ne sert à rien.

Certains langages possèdent la fonction SWAP(X,Y) qui échange le contenu de X avec celui de Y et Y avec celui de X.
Si le langage (comme PANORAMIC) ne possède pas une telle fonction, il est très facile de s’en sortir avec le code suivant, par exemple :
Code:
dim x,y,temp
x = 10 : y = 30
print "avant l'échange : x = ";x;" y = ";y
' échanger X et Y : pour cela on utilise une 3ème variable intermédiare
temp = x : x = y : y = temp
print "après l'échange : x = ";x;" y = ";y

Question :
Pouvez-vous réaliser la même chose sans passer par une variable intermédiaire ?
Moi, je peux !
Avant de cliquer sur spoiler, réfléchissez à cette question trois secondes ou deux heurs si ça vous chante !
Spoiler:
 

Si vous avez des astuces de ce genre, je suis preneur.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 0:42

Surprenant et amusant !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 1 Fév 2013 - 0:48

Je te confirme que c'est une astuce qui ne sert à rien,
enfin si ... "à rien" donc finalement à quelque chose.

lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 1:06

Dans le même genre, une variable "toggle-switch": elle prend alternativement les valeurs 1 ou 0, associées à "vrai" ou "faux:
Code:

dim flag%
... flag% ayant une valeur quelconque entre 0 et 1, comment la basculer à l'autre valeur ?
if flag%=0
  flag% = 1
else
  flag% = 0
end_if

ou alors, l'astuce:
Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 1:25

Ça c’est l’élégance par excellence !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Invité
Invité



MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 4:02

Pour le dernier cas, je ne fais pas comme cela (à condition que l'un des cas soit 0)
pour -1 et 0: flag%=-1-flag%
pour 1 et 0: : flag%=1-flag%
Sleep
Revenir en haut Aller en bas
papydall

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 10:53

La fonction MAX(X,Y) retourne le plus grand de X et Y.
Comment obtenir la même chose sans utiliser MAX(X,Y) ni IF...THEN...ELSE ?

Spoiler:
 

La fonction MAX() de PANORAMIC est limitée à 2 nombres.
Comment obtenir le plus grand nombre parmi 4 nombres :
en utilisant la fonction MAX(X,Y) ?
en se passant de la fonction MAX(X,y) ?

Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Invité
Invité



MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 11:15

Pour faire suite à mon exemple précédent, mais avec 2 nombres imposés:
Code:
dim a%,i% , j%
' variation entre 2 nombres
i%=-10  :' 1er nb de référence
j%=50    :' 2ème nb de référence

j%= j%+i%

for a%= 1 to 5
  i%=j% - i%    :  message i%
next a%
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 11:27

Vous avez déjà voulu utiliser SELECT-CASE avec des valeurs en chaîne de caractères ? C'est une vrai galère car ces commandes n'acceptent que des valeurs numériques. On fait alors toute une gymnastique pour déduire une valeur numérique à partir de la chaîne selon laquelle on veut poursuivre.

J'ai trouvé un mécanisme parfaitement opérationnel, mais c'est un peu plus complexe que les petites formules arithmétiques dont on parlait jusqu'ici. Il y a un peu de préparation, et l'utilisation de KGF.dll. Mais une fois le cadre posé, la sélection se fait en 2 lignes:
Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: RE   Ven 1 Fév 2013 - 15:45

Je crois que l'on peut le faire en panoramic... scratch

Spoiler:
 
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 21:16

Exact ! Très belle astuce que de mettre la valeur numérique juste devant le critère de recherche, dans la chaîne de référence ! Bravo !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 22:10

Voir là http://panoramic.free-boards.net/t2762p30-quelques-subs-en-vrac à 21h25, 2ème partie, ça y ressemble de manière étonnante...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 22:46

Ben toute cette gymnastique de programmation aurait pu nous être épargnée si SELECT …CASE…END_SELECT fonctionnait comme on le désirait !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 2 Fév 2013 - 1:08

@ JL35,

Promis monsieur, j'ai pas copié... Embarassed

Je n'avais pas fait attention, c' est possible.
mais quoi de plus ressemblant qu'un bout de code à un autre bout de code ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Sam 2 Fév 2013 - 1:16

Les grandes idées se rejoignent !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 2 Fév 2013 - 1:56

C'est ce qui rend utile le forum.
Un bout par ci, un bout par là et on y retrouve de quoi solutionner nos problèmes.

L'autre soir, je me suis pris à vouloir ré-inventer la roue. J'ai vite arrêté...
...la mienne était carré.

lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Une astuce qui ne sert à rien !   

Revenir en haut Aller en bas
 
Une astuce qui ne sert à rien !
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un truc qui ne sert à rien
» Fallout 3: le V.A.T.S. ne sert à rien!!!
» J'ai essayé ça sert à rien on change pas, on change jamais.
» je ne comprends vraiment rien...........;
» Motherboard et i5 4670k ou i7-4770k

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: