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
» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par Jean Claude Aujourd'hui à 22:03

» Le mot le plus long
par Yannick Aujourd'hui à 17:59

» Le Forum Panoramic a 10 ans
par jjn4 Aujourd'hui à 17:02

» Pour le plaisir des yeux.
par papydall Aujourd'hui à 14:30

» bug ON_MOVE N,L : actif que sur form 0
par Jack Aujourd'hui à 12:07

» bug number_events : toujours égal à 0
par Jack Aujourd'hui à 12:04

» Ludothèque panoramic
par jjn4 Hier à 15:35

» KGF_dll - nouvelles versions
par Yannick Sam 27 Mai 2017 - 13:17

» @Klaus
par Yannick Sam 27 Mai 2017 - 13:06

» Compilateur FBPano
par jean_debord Sam 27 Mai 2017 - 11:47

» Form [formulaires annexes]
par Jean Claude Sam 27 Mai 2017 - 1:39

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Jeu 25 Mai 2017 - 22:50

» KG.dll - nouveautés en cours de préparation
par Klaus Jeu 25 Mai 2017 - 22:48

» Outils couleurs
par Yannick Jeu 25 Mai 2017 - 19:22

» Testez vos connaissances
par Yannick Mar 23 Mai 2017 - 13:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2017
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier

Partagez | 
 

 Une astuce qui ne sert à rien !

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5342
Age : 66
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 - 2: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 : 9913
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 2: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 : 7686
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 1 Fév 2013 - 2: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 En ligne
Klaus

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 3: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 : 5342
Age : 66
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 - 3: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 - 6: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 : 5342
Age : 66
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 - 12: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 - 13: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 : 9913
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 13: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 : 7686
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: RE   Ven 1 Fév 2013 - 17: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 En ligne
Klaus

avatar

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

MessageSujet: Re: Une astuce qui ne sert à rien !   Ven 1 Fév 2013 - 23: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 : 5872
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une astuce qui ne sert à rien !   Sam 2 Fév 2013 - 0: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 : 5342
Age : 66
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 - 0: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 : 7686
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 2 Fév 2013 - 3: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 En ligne
papydall

avatar

Nombre de messages : 5342
Age : 66
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 - 3: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 : 7686
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 2 Fév 2013 - 3: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 En ligne
Contenu sponsorisé




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

Revenir en haut Aller en bas
 
Une astuce qui ne sert à rien !
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problèmes de couleur de "dernier message" + colonne qui ne sert à rien
» Question qui sert à rien sur le logo
» Motherboard et i5 4670k ou i7-4770k
» Un truc qui ne sert à rien
» Fallout 3: le V.A.T.S. ne sert à rien!!!

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