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
» PPE...le retour ?...
par Yannick Aujourd'hui à 8:34

» Question et réponse sur l'objet TIMER
par Marc37 Aujourd'hui à 6:16

» MasterMind Alphabétique Français
par Marc37 Aujourd'hui à 3:15

» Illusion d'optique
par Marc37 Aujourd'hui à 3:09

» Rotation de bitmap
par Marc37 Aujourd'hui à 2:50

» Windows Defender détecte un trojan dans Panoramic (résolu)
par JL35 Hier à 20:19

» Compilateur FBPano
par jean_debord Hier à 19:08

» Quelle option est cochée ?
par Klaus Hier à 15:22

» KGF_dll - nouvelles versions
par Yannick Hier à 15:21

» Sleep ; une alternative de PAUSE
par Marc37 Mer 22 Fév 2017 - 22:57

» New: Maître-expert alphabétique
par Marc37 Mer 22 Fév 2017 - 16:07

» Histoire d' en rire 2
par Yannick Mer 22 Fév 2017 - 14:42

» GetParent : Utile pas pour deux sous
par papydall Mar 21 Fév 2017 - 15:44

» Univers sans fin
par jjn4 Lun 20 Fév 2017 - 17:55

» Palette de couleurs
par jjn4 Lun 20 Fév 2017 - 17:51

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728     
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 : 5187
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



Nombre de messages : 9560
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
Yannick



Nombre de messages : 7176
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 En ligne
Klaus



Nombre de messages : 9560
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 : 5187
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



Nombre de messages : 5187
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



Nombre de messages : 9560
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
Yannick



Nombre de messages : 7176
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 En ligne
Klaus



Nombre de messages : 9560
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 : 5789
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 : 5187
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



Nombre de messages : 7176
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 En ligne
papydall



Nombre de messages : 5187
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



Nombre de messages : 7176
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 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: