FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
for to next Emptypar Yannick Aujourd'hui à 18:32

» Philharmusique
for to next Emptypar jjn4 Aujourd'hui à 13:58

» PANORAMIC V 1
for to next Emptypar papydall Hier à 3:22

» select intégrés [résolu]
for to next Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
for to next Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
for to next Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
for to next Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
for to next Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
for to next Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
for to next Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
for to next Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
for to next Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
for to next Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
for to next Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
for to next Emptypar jjn4 Ven 26 Avr 2024 - 17:39

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Réassort du coffret Pokémon 151 ...
Voir le deal

 

 for to next

Aller en bas 
5 participants
AuteurMessage
jjn4

jjn4


Nombre de messages : 2705
Date d'inscription : 13/09/2009

for to next Empty
MessageSujet: for to next   for to next EmptyVen 2 Avr 2010 - 23:29

C'est un truc tout simple, mais ce n'est pas normal :
quand on fait :
for i=1 to x : instruction : next i
si x>1, il exécute l'instruction x fois, ce qui est normal,
si x=1, il exécute l'instruction 1 fois, ce qui est encore normal, mais
si x=0, il exécute l'instruction 1 fois, alors qu'il devrait le faire zéro fois.
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Invité
Invité




for to next Empty
MessageSujet: Re: for to next   for to next EmptySam 3 Avr 2010 - 1:35

J'avais déjà constaté celà, et je ne savais pas si c'était normal ou non, en pensant qu'il fallait arriver à next pour faire le teste.
Comme je ne sais pas si il existe une norme sur une instruction, j'en suis resté là. Lorsqu'on connait le problème, alors je mets un teste: if x=0 then exit_next. Ce qui est normal ou non, je ne le connait pas. Le mieux est je pense est de le préciser dans le manuel, pour le cas où pour l'auteur ceci est son fonctionnement.

Je rajoute: je pensais la chose normal, parce que on pourrait penser que for et to, le programme prend ses informations, et c'est une fois qu'il arrive à next qu'il teste. Où est le vrai?
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

for to next Empty
MessageSujet: Re: for to next   for to next EmptySam 3 Avr 2010 - 7:42

Effectivement, le test de rebouclage est effectué au NEXT, et c'est là qu'il se rend compte que x est inférieur à i.
Je modifierai la documentation.

Dans ce cas, si x est inférieur à i, on utilise STEP -1:
FOR i=1 TO x STEP -1

J'aurai bien aimé qu'il existe une norme BASIC.
Pourquoi ne la ferions nous pas, à l'image de la norme ADA ?

Mais je pense qu'il n'y aura pas beaucoup de volontaires...
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Invité
Invité




for to next Empty
MessageSujet: Re: for to next   for to next EmptySam 3 Avr 2010 - 9:21

Jack, je ne suis pas d'accord avec toi. Lorsque l'on met STEP-1, c'est pour décompter, et non compter. Là il s'agit de ne pas faire la boucle lorsque la valeur de TO est inférieur à celle de FOR. On peut considérer qu'il puisse il avoir un problème de programmation dans l'utilisation de FOR NEXT.
@+
Pour ce qui est de faire ou ne pas faire la boucle, c'est un peu le cahier des charges qu'on se donne. Il y a des basics qui font pas la boucle, et d'autre qui le font.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

for to next Empty
MessageSujet: Re: for to next   for to next EmptySam 3 Avr 2010 - 19:30

Pour ma part ,je met :
if x>0 "Boucle for next" end_if de façon à sauter la boucle si x=0
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

for to next Empty
MessageSujet: Re: for to next   for to next EmptySam 3 Avr 2010 - 20:25

Citation :
J'aurai bien aimé qu'il existe une norme BASIC.
Pourquoi ne la ferions nous pas, à l'image de la norme ADA ?
Je ne vois pas de quoi il s''agit.


Ce que je peux dire, c'est que j'ai des problèmes assez souvent avec des boucles for/next, dans le cas ou FOR est < à TO. En cela, je rejoins COSMOS70. Mais peut-être s'agit-il d'une méconnaissance de cette fonction dans le cas de programmation avec objet. Une chose est certainne je n'ai jamais eu de souci, avec QB, pour cette instruction.
Revenir en haut Aller en bas
JL35




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

for to next Empty
MessageSujet: Re: for to next   for to next EmptySam 3 Avr 2010 - 22:58

Je ne vois pas trop où est le problème avec les boucles, dans un sens ou dans l'autre:
FOR x = 1 TO 10
ou bien:
FOR x = 10 TO 1 STEP -1
dans le 1er cas, le step est implicitement 1 mais on peut mettre ce qu'on veut (positif)
dans le second, le step est obligatoire avec une valeur négative.

Et on peut très bien passer par la valeur 0:
FOR x = 10 TO -10 STEP -1

L'exemple de Jack est un peu ambigü (ou bien c'est un lapsus)
si x<i : FOR i = 1 TO x STEP -1
J'aurais écrit si x<y: FOR i = y TO x STEP -1 (ou -2, ou -0.5 etc)
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2705
Date d'inscription : 13/09/2009

for to next Empty
MessageSujet: +++   for to next EmptyDim 4 Avr 2010 - 0:53

Supposons qu'on ait une liste de 20 éléments dans des fichiers texte.
On veut changer un de ces éléments,
on recopie les éléments qui précèdent, on change l'élément et on recopie ceux qui suivent :
for i=1 to k-1 (k=position de l'élément) : on recopie
file_writeln... on change l'élément k
for i=k+1 to 20 : on recopie

Très bien si k=3 (par exemple)
for i=1 to 2 (3-1=2):...
file_writeln...
for i=4 (3+1=4) to 20:...

Mais si c'est le premier élément qu'on veut changer (k=1), cela donne :
for i=1 to 0 (1-1=0) :...
file_writeln...
for i=2 (1+1=2) to 20 :...
(et on ne peut pas mettre step -1 puisqu'on est, en principe, dans une croissance positive)

Oh, il y a des solutions !
On peut mettre :
for i=1 to k-1
if k-1>1 then...
On peut aussi faire :
if k-1>1
j=1
else
j=-1
end_if
for i=1 to k-1 step j
...
Mais c'est quand même un peu scabreux
que ça ne boucle pas dans le cas de : for i=1 to 0, ce serait quand même mieux.
jocolor
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Invité
Invité




for to next Empty
MessageSujet: Re: for to next   for to next EmptyDim 4 Avr 2010 - 1:00

Non, le seul problème avec FOR/NEXT est celui que souligne jjn4 dans le cas où dès le départ de boucle, pour être logique, celle-ci ne devrait pas se faire, vu que la variable à atteindre est dès le début inférieur à celle de départ. Dans la conception d'un programme, le cas de figure peut se produire lorsqu'on utilise des variables comme référence, et non des nombres.

Je connais des basics qui ne font pas la boucle. Mais rien ne précise quelque part que ce principe d'éviter la boucle dans ce cas, est obligatoire. Jack a le droit de dire que c'est NEXT qui va faire le tri ou le teste comme tu veux. Jack que ne m'en déplaise est très stricte dans ce genre d'instruction et n'aime pas laisser de marge comme c'est le cas avec MID$(, où il n'accepte pas que le 3ème paramètre soit absent.

Certaines instructions comme FOR/NEXT n'est pas trop génant, il suffit de mettre un simple teste juste après la 1ère ligne, par contre le désavantage qu'on a comme MID$() oblige une complication importante du code, et dans les boucles ralentient l'exécution du programme, et c'est bien dommage.

Il ne faut pas oublier que plus il y a d'instructions dans un code pour faire par exemple une boucle, plus il y a perte de temps, alors que si les possibilités sont données d'éviter ses suppléments de code, on gagne du temps.

Certes un/deux ou trois testes supplémentaires dans la conception d'une instruction, augmentent l'exécution de cette instruction, mais gagne au combien en temps sur l'emploie des instructions complémentaires dans nos propres sources.

Je comprends vu le travail, qu'il faut aller vite et avancer pour que le basic est le maximum de commandes afin que Panoramique puisse être au rang des autres basics. A part quelques trous comme dans les fichiers et l'impression (pour ne citer que cela), on y arrive presque. Peut-être qu'ensuite Jack reverra les instructions qu'on aimerait voir corrigées.

Je viens de voir ton post, mais il n'y a rien à rajouter.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

for to next Empty
MessageSujet: Re: for to next   for to next EmptyDim 4 Avr 2010 - 10:17

@JJN4, et....

Je précise que justement c'est avec la gestion de fichier que je m'enmêle les pinceaux. Alors maintenant, le plus souvent, je balance le fichier dans un DLIST et je travaille le fichier avec COUNT.
Code:

dlist 10
n10=count(10)
for n=1 to n10
' ...........
next n

Et il arrive de temps en temps d'être obligé d'écrire for n=1 to (n10-1) pour que çà passe

A+
Revenir en haut Aller en bas
Contenu sponsorisé





for to next Empty
MessageSujet: Re: for to next   for to next Empty

Revenir en haut Aller en bas
 
for to next
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: