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
» Klaus est de retour!
par Klaus Aujourd'hui à 3:41

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 3:40

» Texte sur image
par JL35 Hier à 23:56

» Compilateur FBPano
par papydall Hier à 14:54

» MIN - MAX avec SPIN
par ygeronimi Hier à 10:02

» Traceur de courbes représentatives des fonctions y = f(x)
par papydall Hier à 2:24

» HEIGHT_CLIENT(N)
par ygeronimi Ven 20 Jan 2017 - 16:41

» Non demande de commande
par ygeronimi Jeu 19 Jan 2017 - 11:50

» Bataille navale sous-marine
par papydall Jeu 19 Jan 2017 - 2:19

» Version instantanée du 16/01/2017 : PANORAMIC V 0.9.27i10
par mindstorm Mer 18 Jan 2017 - 21:05

» PLM N34
par Froggy One Mer 18 Jan 2017 - 17:32

» saving 1.png [RÉSOLU]
par Froggy One Mar 17 Jan 2017 - 19:44

» Gestionnaire de Projets Panoramic
par Froggy One Mar 17 Jan 2017 - 19:31

» ROBLARECUB (casse-tête)
par papydall Mar 17 Jan 2017 - 15:18

» Incrustation d'une image (dans une autre)
par JL35 Mar 17 Jan 2017 - 0:47

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Une astuce qui ne sert à rien !

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



Nombre de messages : 5104
Age : 66
Localisation : Moknine (Tunisie)
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



Nombre de messages : 9428
Age : 67
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
ygeronimi



Nombre de messages : 7004
Age : 45
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
Klaus



Nombre de messages : 9428
Age : 67
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



Nombre de messages : 5104
Age : 66
Localisation : Moknine (Tunisie)
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



Nombre de messages : 5104
Age : 66
Localisation : Moknine (Tunisie)
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



Nombre de messages : 9428
Age : 67
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
ygeronimi



Nombre de messages : 7004
Age : 45
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
Klaus



Nombre de messages : 9428
Age : 67
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 : 5707
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



Nombre de messages : 5104
Age : 66
Localisation : Moknine (Tunisie)
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/
ygeronimi



Nombre de messages : 7004
Age : 45
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
papydall



Nombre de messages : 5104
Age : 66
Localisation : Moknine (Tunisie)
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/
ygeronimi



Nombre de messages : 7004
Age : 45
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
Contenu sponsorisé




MessageSujet: Re: Une astuce qui ne sert à rien !   Aujourd'hui à 4:41

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: