| Bizarrerie sur un code de Jack | |
|
|
Auteur | Message |
---|
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Bizarrerie sur un code de Jack Mer 8 Fév 2017 - 19:11 | |
| Bonsoir les Panoramicien. Je suis en train de jeter un œil (et ça fait mal ) sur un ancien code que Jack a fourni en démontration: - Code:
-
label factorielle dim n,r
input "nombre ";n
r=n gosub factorielle
print r
end
factorielle: if n=0 return else n=n-1 r=r*n gosub factorielle end_if return Celui-ci a été tiré dans le sujet: Voir ici] Hors a chaque fois que ce code est exécuté, J'ai comme résultat: ERROR: impossible to Run Panoramic. Donc il y a un problème. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Bizarrerie sur un code de Jack Mer 8 Fév 2017 - 19:48 | |
| Chez moi ça ne plante pas, sauf que ça renvoie toujours 0 Bizarre ce s/p qui s'appelle lui-même... ça ne me paraît pas très sain ? Effectivement il y a une erreur dans le code qui renvoie toujours 0 Il faut lire: - Code:
-
label factorielle dim n,r input "nombre ";n r=n gosub factorielle print r end
factorielle: n=n-1: if n=0 then return r=r*n gosub factorielle return Et (n'en déplaise à papydall) à la place du gosub je mettrais un goto factorielle, ou plus propre: - Code:
-
factorielle: while n > 1 n=n-1 r=r*n end_while return | |
|
| |
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Bizarrerie sur un code de Jack Mer 8 Fév 2017 - 20:06 | |
| Pas d'erreur pour moi, peut être un pb de version? Le résultat vaut 0 car jack à commis une petite erreur, corrigé ci-dessous: - Code:
-
print version$
label factorielle dim n,r
input "nombre ";n
r=n gosub factorielle
print r
end
factorielle: if n=1 return else n=n-1 r=r*n gosub factorielle end_if return | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Bizarrerie sur un code de Jack Mer 8 Fév 2017 - 20:33 | |
| Pour mon commentaire dubitatif ci-dessus (le gosub qui s'appelle lui-même), je n'avais pas vu que l'exemple donné par Jack était justement au sujet d'appels récursifs, donc c'était volontaire. | |
|
| |
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Bizarrerie sur un code de Jack Mer 8 Fév 2017 - 21:22 | |
| Il y en a un qui a dit:
Tournes ta langue sept fois avant de parler. pour moi cela devrait être aussi le cas pour ouvrir ce post.
J'ai toujours le même rapport. Panoramic se ferme simplement pour d'autres codes. J'ai essayé le code en le lançant directement avec panoramic.exe, et j'ai le retour de 0.
Ok ! Mais en fait j'ai mis ce poste en BUG en me posant la question de le mettre en AIDE. Je pense que j'ai commis une erreur.
En fait je me souviens que JACK avait dit qu'il avait mis un nombre limite sur l'appel de GOSUB. Seulement de combien est ce nombre? Ca il ne la jamais dit et comme toujours on ne peut jamais avoir de précision sur les infos de Panoramic. Pourquoi est-ce un secret?.
Je regrette d'avoir ouvert ce post. J'avais une autre idée en tête à ce moment là.
| |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Bizarrerie sur un code de Jack Jeu 9 Fév 2017 - 0:55 | |
| Salut Oscaribout. Pour satisfaire ta curiosité concernant le nombre limite de GOSUB imbriqué, exécute ce bout de code et tu t’aperçois que cette limite est 1000. - Code:
-
label test dim n gosub test end test: repeat n = n + 1 : caption 0,"Nombre de GOSUB imbriqués : " + str$(n) : pause 1 gosub test until scancode = 27 return
| |
|
| |
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Bizarrerie sur un code de Jack Jeu 9 Fév 2017 - 1:34 | |
| Je te remercie Papydall. J'y ai pensé entre-temps mais sans avoir l'intention de faire l'essai. En fait en parcourant toute cette partie du forum depuis ses débuts, je constate certaines choses et je fais le rapprochement avec toutes les constatations que vous avez faite depuis. Tu as montré des codes avec les subs sur la récursivité, et aujourd'hui je constatais des blocages. Avec un peu plus de recul j'aurai pas pris la peine de poster ce sujet.
Maintenant il va m'être compliqué de revenir sur ce forum. J'ai mis un MDP en tapant n'importe quoi, de façon à ne plus intervenir sans une vrai raison. Pour cela il faudra que je fasse des démarches. C'est un moyen pour me clouer le bec et laisser les pros intervenir. J'ai un peu trop tendance à dire ce que je pense (ou n'importe quoi.)
Salutation. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Bizarrerie sur un code de Jack Jeu 9 Fév 2017 - 1:56 | |
| Ben, non, Oscaribout ! Toutes les interventions sont les bien venues, et toutes peuvent servir à d'autres de clarifier les idées ! Surtout, ne t'arrête pas et continue de participer ! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 9 Fév 2017 - 2:03 | |
| He! Oscaribout! plus on est de fou, moins on mange de riz... Toute intervention a son utilité, parfois cela déterre des sujets que l' on oublie avec le temps et cela fait une piqure de rappel. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Bizarrerie sur un code de Jack Jeu 9 Fév 2017 - 2:10 | |
| @ Oscaribout Pourquoi tu dis ça ? Pourquoi tu ne veux plus revenir sur ce forum ? Pourquoi tu veux « te clouer » le bec pour laisser les pros intervenir ? Et qui t’a dis que toi-même tu n’es pas un pro ? A ce que je vois, personne n’a été méchant avec toi. Tu poses une question ou tu demandes des éclaircissements et chacun essaie d’apporter sa réponse, son point de vue, sa petite idée. Tout le monde (peut-être pas tout le monde, mais les plus actifs sur le forum) t’ont souhaité la bienvenue et ont réagit et échangé des idées avec toi comme d’ailleurs avec les autres. Personne n’est payé pour faire ça et tu sais parfaitement que tous ceux qui interviennent sur ce forum le font par plaisir, par joie, je dirais par amour aussi. Personnellement, il y a bientôt cinq ans (le temps s’écoule trop vite !) que je suis sur ce Forum et je ne compte pas le quitter de si tôt.
Bon, chacun fait ce qu’il veut. Bonne nuit et au plaisir de te lire ! | |
|
| |
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Bizarrerie sur un code de Jack Jeu 9 Fév 2017 - 2:34 | |
| J'ai encore mon MDP dans l'éditeur, tant que je ne lance pas, c'est Ok. Il y a une erreur d'interprétation! Je n'ai rien contre vous, au contraire. Vous êtes formidable et vous faites fonctionner le forum. Sinon je ne me serais pas inscrit (suite à un besoin de récupérer un MDP). Mais moi discuter c'est pas ma vie. J'ai trop tendance à partir trop vite, et j'ai du mal à me retenir. Si je poste un message, j'ai constamment le besoin de voir s'il y a une réponse, et j'ai bien d'autre chose à faire. Si je ne me bloque pas, je vais aller trop loin. Donc j'apprécie vos interventions, mais il faut que je me calme. Si j'ai une bonne raison d'intervenir, j'en aurai toujours la possibilité. Ce sera chiant mais cela restera possible. Je ne vous oublie pas. Longue vie aux Panoramiciens et à Jack. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Bizarrerie sur un code de Jack Jeu 9 Fév 2017 - 22:01 | |
| - Citation :
- J'ai trop tendance à partir trop vite, et j'ai du mal à me retenir
forcément... Oscar, y bout facilement... | |
|
| |
Contenu sponsorisé
| Sujet: Re: Bizarrerie sur un code de Jack | |
| |
|
| |
| Bizarrerie sur un code de Jack | |
|