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
» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Aujourd'hui à 16:52

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 14:16

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» mise a jour calculatrice
par papydall Aujourd'hui à 2:01

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
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 : 5594
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 - 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 : 10129
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 : 7997
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
Klaus

avatar

Nombre de messages : 10129
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 : 5594
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 - 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 : 5594
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 - 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 : 10129
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 : 7997
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
Klaus

avatar

Nombre de messages : 10129
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 : 5992
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 : 5594
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 - 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 : 7997
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
papydall

avatar

Nombre de messages : 5594
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 - 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 : 7997
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
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
-
» 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: