Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 19-04-2014 19:06:11
Super Yoshi, je vais étudier ton progr. avec plaisir...
Je reviendrai avec des commentaires ou questions peut être, un bon exercice encore en attendant de pouvoir exécuter...
Bon week end pascal et @ plus, je bouge pas de la maison...
Zéoioui.
#2 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 18-04-2014 09:36:01
Salut Yoshi,
Je laisse pas tomber encore ( voir mon mail envoyé ce matin ) Ceci dit j' ai téléchargé les deux cours Python et j'ai mis de côté Python 3.4 . Merci, surtout pour les tutoriels, j'essaie d'en finir avec Qbasic et je mets au travail avec Python...
Zéoioui.
#3 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 16-04-2014 13:53:29
Pas mal ce jeu que tu as créé, j'étudie un peu tes commentaires et je reviendrai vers toi car compte tenu de ce que tu as fait , en créant ce jeu, j'ai réalisé que je pouvais synthétiser le codage de mon programme-jeu, et sans doute l'alléger de quelques instructions inutiles.
Je t'exposerai plus explicitement ma synthèse, et tu me diras ce que tu en penses. Quant à ce que tu as fait, ça donne des idées et ça donne envie de construire et imaginer des jeux, tout en apprenant en ce qui me concerne, mais pour toi qui sait coder, t'as que l'imagination à mettre en branle pour construire des choses ( dans le domaine des jeux ) qui peuvent intéresser...
En tout cas, bien ton petit progr. avec filtres...
A plus Yoshi, faut que je rédige un peu pour t'exposer... Sinon, pour le Basic que je recherche, ça va être réglé d'ici 2 ou 3 jours, je pourrais enfin exécuter et tester un peu.
Je compte ensuite apprendre Python, on me conseille de partout d'oublier QBasic !
Je vais voir aussi ce que je peux faire via le lien que tu me fournis pou Free Basic.... A plus.
Zéoioui.
#4 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 16-04-2014 11:24:09
Salut,
J'ai pas vu la suite du message Yoshi, peut être as-tu été interrompu : " Bon, j'ai avancé et créé un jeu à ma... "
Sinon, je te montrerai comment j'ai monté la 1ère partie du programme en basic, en m'inspirant de ce que tu m'as appris.
Demain, je ne serai pas à la maison, je reviendrai vendredi matin 18 avril, aujourd'hui, je suis là...
A plus. Zéoioui.
#5 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 14-04-2014 20:52:55
Bien reçu le fichier Yoshi, j'ai fait réponse au mail...
A demain, si Dieu veut...
Zéoioui
#6 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 14-04-2014 16:07:07
Ok, bien compris maintenant, c'était compliqué à deviner pour moi apparemment !
Je te propose une autre adresse mail, celle de ma femme :
xxxxxxxi@xxxxxx
J'ai la Box SFR ( neufbox ) et on peut recevoir notre courrier, peut être que le fichier exécutable passera.
#7 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 14-04-2014 14:37:26
Yoshi, ya un truc que je comprends pas avec ça :
5 9 6 9 7 10 4 10 7 4 5 9 5 7 4 9 8
*** Tirage no 17 : objectif atteint ***
!! Manquent à l'appel : 1 2 3 !!
9 5 1 4 6 7 3 9 5 8 3 1 4 6 9 10 2 5 10 1 1 8 5 9 8 5 5 1 4 6 4 6 7 3 10 3 7 5 2 9 5 1 5 10 3 8 7 8 9 2 1 10 1 9 6 3 1 4 5 5 7 9 7 5 6 7 7 3 9 10 8 3 10 6 4 6 3 9 6 3 9 9 7
Nombre Tirage n°
1 0
2 0
3 0
4 7
5 1
6 3
7 5
8 17
9 2
10 6
Les deux colonnes ( nombre et tirage ) ok je comprends. Le no 5 au 1er rang, le 9 au 2ème rang etc....
En revanche je ne comprends pas la suite de Nos : 9 5 1 4 6 ....jusqu'à 7.
Je suppose que c'est le tirage aléatoire de je ne sais combien de Nos, c'est TIRAGE (I) du 1er no tiré jusqu"au nième ?
Et si oui, je ne retrouve pas le no 9 en 1ère position, ni le 5 en 2 ème et ainsi de suite. A quoi correspond cette suite de Nos ?
C'est quelque chose de tout bête qui m'échappe sûrement, mais enfin, peux-tu m'expliquer svp
Zéoioui.
#8 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 14-04-2014 14:17:06
Yoshi,
Oui je veux bien en pièce jointe , mon adresse mail : zeoioui@xxxxxx
Je retourne étudier ton codage ; A plus. zeoioui.
#9 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 14-04-2014 11:45:37
Salu Yoshi,
Excuse, ce n'était effectivement pas toi qui dissertait sur le hasard, j'ai retrouvé la discussion sur un forum, rien à voir avec toi, même pas une ressemblance dans le nom ! Je me demande pourquoi j'ai pensé que c'était toi, je crois que je fais un peu de surmenage intellectuel en ce moment, entre l'étude de la programmation et mes travaux d'écriture que je poursuis parallèlement, ça fait peut être beaucoup ou c'est qu'on se fait vieux, faut y aller doucement...
Pour en revenir à nos moutons comme on dit, et pour répondre :
" Tiens-tu (ce que j'ai programmé jusqu'à maintenant) à savoir à quel n° de tirage est sorti chacun des 7 nombres tirés au sort ou souhaites-tu seulement savoir s'ils sont sortis ou pas ? " :
Chacun des 7 nombres, non; Je n'ai pas besoin de savoir combien de fois est sorti un No quelconque. Le tableau Témoin nous donne pourtant cette info. mais je n'ai pas besoin de savoir que le No 5 par exemple est sorti 3 fois, ou n fois ; Je souhaite connaître uniquement quels sont les 3 Nos sur 10 qui ne sont pas sortis, quels sont ces " Nos absents et à quel rang cela intervient.
" Tu constates que je peux savoir que le 8 n'est sorti dans cette simulation qu'au 17e coup... Ma question est donc : ce type d'info t'intéresse-t-il ou non ? "
Non, pas besoin de cette info. car le 8 ne fait partie des 3 absents.
Dans ton exemple ( tirage no 17 ), 5 9 6 9 7 10 4 10 7 4 5 9 5 7 4 9 8
J' ai besoin de savoir uniquement que c'est au 17 ème coup que 3 nos sur 10 se constatent comme absents, ces nos sont le 1, le 2 et le 3.
Pour résumer, au vu de ton tirage no 17, j'ai l'info que je souhaite à savoir : Au 17 ème tirage, 3 nos sur 10 sont absents, le 1, le 2 et le 3.
Je comprends bien qu'il te fallait ces précisions pour modifier l'algo. voire l'alléger en supprimant des instructions qui donnent des infos inutiles.
Ensuite, je partirai à la recherche du 1 ou du 2 ou du 3 qu'à une seule condition : faut que ces 3 nos restent encore absents 10 fois encore, c'est à dire qu'arrivé au 27 ème tirage, si le 1 et le 2 et le 3 ne sont toujours pas sortis, alors on s'occupera d'eux ( en gros on appliquera un gain via un compteur de gain dès qu'un de ces 3 absents sort ) mais tenons-nous en qu' à la 1 ère partie du codage à préciser. Je travaille sur cette seconde et dernière partie du programme, je te montrerai le plan de mon algo, tu pourras ainsi corriger mes erreurs, ce sera encore un bon exercice et au final, un bon cours de programmation que tu m'auras offert.
Avant d'en arriver là, quand tu auras modifier les instructions, je vais exécuter et tester cette 1ère partie mais je suis toujours en attente et recherhe du logiciel Qbasic, j'ai avancé un peu, je te tiens au courant dès que je le trouve ou pas.
A plus tard Yoshi et merci encore pour cette aide qui continue.
Zéoioui.
#10 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 13-04-2014 16:55:42
Oui, tout à fait, je vais essayer avec le 1er Basic gratuit que je trouverai... Yoshi, je reviens sur mon programme pour être définitivement clair et afin que tu saches exactement ce que je souhaite. Considère que le programme simule un jeu qui consiste à noter, biffer tous les Nos aléatoires jusqu'à ce que 7 Nos sur 10 soient sortis. Quand cet événement arrive, il reste donc trois Nos manquants. Le programme devra m'afficher ces trois Nos manquants, et à quel rang cela se produit. Exemple d'affichage : " Au 13 ème coup/rang, Nos 3, 4 et 5 absents " Le codage de cette première partie du programme est à présent résolu, tu m'as expliqué comment faire via deux tableaux et compteurs. ( reste juste à modifier les instructions d'affichage pour obtenir l'affichage, les infos que je veux )
Maintenant, suite et fin du programme ( Simulation d'un jeu ) :
Les trois Nos manquants sont repérés et notés, l'absence de ces Nos se constate au 13 ème rang/coup par exemple. A partir de là, on continue l'analyse des Nos afin de trouver UN des trois Nos absents et quand le tirage nous sort UN de ces trois Nos, le jeu est gagné.
Cependant je complique un peu les choses car en fait, je souhaite que la recherche de l'Un de ces trois Nos absents ne commence que si l'absence a perduré encore durant 10 ou 5 coups ( à paramétrer, au choix )
Autrement dit, par exemple, arrivé au 13 ème coup, au 13 ème rang du tirage, les Nos 3, 4 et 5 sont repérés comme absents, si ces Nos continuent de rester absents jusqu'au 23 ème rang ( absence durant 13 coups + 10 coups encore ) , alors là, on part à la recherche, on espère la survenue de l'un des trois manquants, soit le No 3 ou le 4 ou le 5. Le premier qui sort, le jeu est gagné.
Si l'un de ces trois Nos attendus sort avant d'atteindre 13 ème rang + 10, ou plutôt si le No sort entre le 13 ème et le 23 ème coup, alors, stop, le jeu est fini car la condition n'a pas été remplie.
Si la condition est remplie, l'analyse/comparaison des Nos continue et dès que le tirage nous sort l'un de ces trois Nos attendus, c'est fini, End. L'affichage final sur l'écran sera par exemple :
" Au 13 ème rang, Nos 3 , 4 , 5 absents. Absence toujours constatée au 23 ème rang . Le No 3 est sorti au 25 ème rang.
Voilà ce que je vais essayer de coder tout en apprenant, mais j'attends de pouvoir exécuter, faire des tests, je devrais mieux avancer et comprendre, en exécutant un peu.
Maintenant, je vais voir comment on supprime mon post, et je reviens vers toi...
Zéoioui.
#11 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 12-04-2014 20:34:00
Ok et merci Yoshi... Windows 8 acceptera Quick Basic, puisqu'il accepte les jeux de ton lien. Il y a un kit Dos box je crois qu'il me faudra peut être installer, il me reste maintenant à télécharger ce logiciel, j'ai pas réussi encore. J'aimerai bien pouvoir acheter le logiciel sur support CD ou autre mais je ne sais où trouver et si ça existe, j'ai connu le Qbasic installé d'office sur Windows 3.1, Windows 95, car à l'époque, un copain travaillait avec ça. ( Qbasic différent de Quick Basic, Qbasic est une version allégée de Quick Basic ai-je lu )
Faut que je me retire maintenant Yoshi, je reviens demain faire un tour, si je te vois, je te rebrancherai, j'ai encore des choses à te dire...
Bonne fin de soirée... Zéoioui.
#12 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 12-04-2014 16:14:38
En effet, c'est loin d'être plus commode ou moins lourd à écrire, j'avais pensé aux variables alphanumériques, mais non, les tableaux sont plus judicieux, oublions, mon algo n'est pas une bonne idée ; ceci dit, tu m'apportes une réponse à ma question quand tu me dis : " Ranger les nombres de façon informelle dans un "sac", ça n'existe pas en informatique..." Je pouvais pas trouver ça tout seul Yoshi, peu de doc chez moi, et sur le Net, ce genre de recherches sur des points particuliers, c'est pas évident. Déjà que je commence à paniquer pour QBasic ! A ce propos, je t'avais bien compris, je te confirme ça tout à l'heure.
Zéoioui.
#13 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 12-04-2014 11:39:20
Salut Yoshi,
Ok, j'irai essayer les jeux tout à l'heure, quant à ce qui m'a posé problème, c'est la transcription du code Python en Basic que je me suis imposé à titre d'exercice, alors que tu m'as transmis le codage en Basic de suite après Python... ça m'a permis de progresser au niveau de la compréhension, la logique de l'algo. en général, finalement c'est ça qui compte à ce que je découvre, le langage proprement dit, la syntaxe, ça s'assimile assez vite par pratique, c'est bien moins difficile et moins long que d'apprendre une langue étrangère par exemple. Bref, je voudrais justement savoir quelque chose toujours concernant notre programme en question :
Soit un tirage aléatoire de N numéros ( toujours compris entre et 10 ) dimensionné dans un tableau TIRAGE ( I ).
Soit un ensemble qui contient 10 éléments ou valeurs, en fait mes 10 Nos, que j'appelle Témoin.
TEMOIN = [ 1,2,3,4,5,6,7,8,9,10 ]
Je veux que Témoin ne soit pas considéré-transformé en tableau dimensionné, ça doit rester un ensemble, un sac de 10 billes.
Est-ce qu'on peut ( en codage Basic ou autre ) retrancher de l'ensemble TEMOIN, un élément tiré de TIRAGE ( I )
Si un No de TIRAGE (I) appartient à l'ensemble TEMOIN, alors on retranche ce No de l'ensemble TEMOIN. Un compteur initialisé à 10 s'incrémentera de -1 à chaque soustraction d'un élément de TEMOIN. Compt = 10 au départ, lorsque Compt arrivera à 3, alors 7 Nos sur 10 seront sortis, et il ne restera que les Nos non sortis dans l'ensemble Témoin.
Je code schématiquement la section concernant le tri, le décompte des Nos :
- TEMOIN = [ 1,2,3,4,5,6,7,8,9,10 ]
- C = 10
- IF TIRAGE (I) = 1 OR 2 OR 3 ..... OR 10 THEN TEMOIN = TEMOIN - I ; C = C-1
- REM Quand cette condition est remplie, l'ensemble Témoin se réduit à 9 éléments, par ex. si I de Tirage de I est le No 1, alors l'ensemble Témoin devient : TEMOIN = [ 2,3,4... 10 ], l'ensemble a perdu un élément, le compteur aussi.
- IF I <> 1 OR 2 OR 3 .....OR 10 TEMOIN = TEMOIN ; C = C ( ou C = C- 0 )
- NEXT I
Plus pratique :
Tant que I de Tirage(I) = Témoin, Témoin = Témoin - I ; C = C - 1
Mais est-ce permis, possible via codage Basic ou autre de comparer et traiter les éléments d'un Tableau indicé aux éléments d'un ensemble, c'est ma question Yoshi. ( le terme " ensemble" est arbitraire, ya peut être un autre terme pour définir mon concept d'ensemble ? )
Si c'est possible, ça me paraît plus simple comme algorithme, moins lourd, je ne sais pas. Avec ma façon de faire, si c'est possible, je perds une information dont je n'ai pas besoin ( mais on pourrait en avoir besoin éventuellement ) à savoir, combien de fois sont sortis chaque Nos analysés, on retrouve cette info. en triant comme on l'a fait, via deux tableaux indicés.
Qu'en penses-tu Yoshi ? Je reviens vers toi plus tard pour te dire si mon W8 accepte les jeux...
A plus. Amicalement.
Zéoioui.
#14 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 11-04-2014 16:46:55
Salut Yoshi,
J'allais justement te donner des nouvelles, non, je n'ai pas encore tester ton programme tout simplement parce que je ne suis pas encore équipé ; je cherche à télécharger Q Basic sur mon Windows 8 ( pro 64 bit ) et je n'ai encore rien, soit les liens que me propose Google n'aboutissent pas, soit W 8 n'accepte pas le téléchargement, bref, ça semble un peu galère , j' ai même demander conseil sur des forums PC, WIndows 8 mais tu sais, la programmation ça parle pas à tout le monde, c'est pas ce qui se pratique le plus de rechercher un langage, à fortiori quand il est "ancien " mais comme je suis persévérant, je vais y arriver, j'ai pas encore explorer toutes les pistes. Parallèlement, je continue à travailler et apprendre sur papier, via mon vieux manuel de Basic, et maintenant via surtout ton travail qui font d'excellents exercices pour moi. D'ailleurs, je te le dis que maintenant, il m'a fallu 2 jours de réflexion pour capter quelques trucs de ton codage, ça me laissait pas dormir la nuit, je faisais qu'y penser...
Non, je suis très satisfait de ton aide Yoshi, je t'en suis même reconnaissant et je souhaiterais pouvoir un jour te renvoyer l'ascenseur, si je puis m'exprimer ainsi. Tu sais , c'est par politesse que je suis resté en contact avec l'autre forum où deux ou trois gars sympa. ont bien voulu contribuer à combler mes lacunes, je me sentais pas de disparaître comme ça, après avoir été servi ! J' ai eu la petite maladresse de ne pas m'en tenir qu'à un seul forum dès le départ, faut bien que je m'en sorte maintenant Yoshi...
D'ailleurs, les gars en question sont arrivés aux mêmes propositions d'algo. que les tiennes, et toi tu m'as carrément écrit le code ( que je ne peux pas encore tester, ça va être un plaisir quand je vais pouvoir exécuter )
Je te tiens donc au courant Yoshi, dès que je trouve le compilateur adéquat pour Windows 8, mais j'ai besoin de revenir vers toi tout à l'heure pour une question de programmation, toujours sur la base du même problème de décompte des Nos tirés d'un tableau...
Je t'en reparle dans une heure ou deux, si tu le veux bien, via un autre message.
A plus Yoshi.
Zéoioui
#15 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 06-04-2014 10:41:14
YOSHI ,
Merci pour toute cette aide, je vais me mettre au travail pour transposer tes routines Python en langage Basic. Je vais bientôt passer à l’exécution et en faisant de petits tests j'espère arriver à construire mon programme en Basic, sinon je repars à zéro et j'apprends Python ! Je te tiendrai au courant de l'évolution de mon travail si tu veux.
Par ailleurs, t'as raison, inutile de poster partout, faut s'en tenir à un seul forum et ce n'est que si on est pas satisfait du forum choisi qu'on peut penser à aller voir ailleurs...
@ plus Yoshi et merci encore.
Zéoioui.
#16 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 05-04-2014 18:49:32
Salut Yoshi,
Merci pour tes longues réponses, voilà ce que j'avais fait jusqu'ici :
Je repose mon exercice plus clairement et ce que j'ai pu coder:
Soit un sac contenant N boules ( 100 par ex. ) toute numérotées de 1 à 10. Il s'agit de tirer une boule du sac, au hasard, noter son numéro puis la remettre dans le sac. Au fil du tirage des boules dont je note le numéro,je recherche un signal particulier : signal = m'avertir quand 7 numéros sur 10 ont été tirés, et à quel moment cela se produit, donc à quel rang et quelles sont ces trois boules, ces trois numéros qui ne sont pas sortis.
Je vais donc simuler le tirage aléatoire en dimensionnant un tableau que j'appelle TIRAGE (N)
- DIM TIRAGE (N)
- FOR I = 1 TO N : TIRAGE (I) = 100 + INT (RND*10)
- RANDOMIZE
Jusqu’ici ici le programme donnera une suite aléatoire de 100 numéros compris entre 1 et 10. Par exemple soit le tirage :
5 1 2 3 3 4 6 5 7 \ 7 8 .... n
Première boule tirée, numéro 5, ( qui prend l'indice 1 et le premier No 7 qui sort, est à l'indice 9, au 9ème rang donc )
Le signal que je recherche, c'est à quel rang 7 numéros sur 10 sont sortis, autrement dit à partir de quel rang du tirage il reste trois numéros non sortis et quels sont ces numéros.
L'analyse manuelle montre que c'est au 9ème rang du tirage avec la boule numéro 7, que tous les Nos de 1 à 10 sont sortis sauf numéros 8, 9 et 10.
Le programme m'affichera plus tard : " Au 9ème tirage ou rang, Trois Nos absents x, y, et z "
Comment coder la recherche du signal ?
Je propose de placer un second tableau contenant 10 éléments, les dix numéros de 1 à 10. J'appelle ce tableau "TEMOIN "
Témoin = { 1,2,3,4,5,6,7,8,9,10 }
Je vais ensuite comparer chaque boule tirée dans TIRAGE (I) avec le tableau "Témoin" et chaque fois que la boule tirée appartient aussi à l'ensemble "Témoin" plus précisément à l'un des éléments du tableau "Témoin" , je retrancherai de " Témoin " le numéro de la boule tirée. Parallèlement, un compteur ( C ) initialisé à 1, s'incrémentera de 1 à chaque soustraction d'un élément du tableau " Témoin ". Au bout de sept soustractions, il ne restera que trois numéros dans " Témoin " et le compteur sera à 7.
Je place donc mon tableau " Témoin " :
- DIM TEMOIN (10)
- TEMOIN = [ 1,2,3,4,5,6,7,8,9,10 ]
- C = 1
- IF TIRAGE (I) = TEMOIN (10) THEN C = C+1 ; TEMOIN (10) = TEMOIN (10) - TIRAGE (I) ELSE C = C
- NEXT I
Ou encore : Tant que Tirage (I) = Témoin (10) alors Compt. = Compt. + 1 ( avec les instructions " WHILE....WEND en Basic ) SINON Compt. ne bouge pas et Témoin ne change pas et continuer l'analyse un pas plus loin.
- NEXT I
Pour indiquer le rang en Basic, l'instruction c'est " INSTR "
- RANG = INSTR ( TIRAGE (I) , L i )
- PRINT RANG
- PRINT TEMOIN (10)
Mais je viens de réaliser en écrivant, que ma routine est fausse car le tableau Témoin est indicé tout comme le tableau Tirage et les comparaisons se réfèrent aux éléments indicés du tableau. Une case mémoire à l'indice 1 ira comparer la case mémoire indice 1 du tableau Témoin et donc l'indice 1 de Témoin n'est pas forcément égal à l'indice 1 du tableau Tirage; dans l'exemple donné, la première boule indicée 1 ( boule NO 5 ) ne sera pas égale au numéro indicé 1 du tableau Témoin. Je raisonnais en pensant que la première boule tirée de Tirage (soit No 5) , pouvait trouver automatiquement son image, son équivalent dans le tableau Témoin !
Erreur de rigueur, normale quand on apprend je pense...
Je vais donc retrouver tes propositions de Tableaux et compteurs mais je n'ai pas encore bien compris leur logique; je vais donc décortiquer vos artifices de calcul pour comprendre et si je bloque, vous me donnerez bien un petit coup de pouce !
Cordialement. Zéoioui.
PS Quant au fait de poster mon problème sur plusieurs forums, ça s'explique par le souci de ne pas trouver aide et donc de multiplier ses chances de réponse. A près réflexion, je conviens que ce n'est pas trop courtois, je m'en excuse, peut être qu'il faut définir une règle de conduite à ce propos sur les forums, en tout cas, je vais en tenir compte à l'avenir.
Cordialement. Zéoioui.
#17 Re : Programmation » [Quick Basic] Recherche algorithme ou routine ... » 04-04-2014 22:22:46
Oui, mauvaise notation perso. n1 = 5 , je voulais dire que le premier numéro sorti (dans mon tirage-exemple) c'est le 5, en fait n1 c'est l'indice mais ça se note plutôt comme ça n1 pour indiquer que le 1er numéro sorti est le 5. Bref, sinon, tu m'as bien compris et je te suis bien dans tes propositions et c'est ce que j'allais faire en gros vu qu'il n'y a pas de formule plus rapide.
Je vais essayer-étudier ta routine inspirée par la méthode dite du casier ; original, merci pour l'idée.
Quant à cette instruction improvisée : IF n < > n-1 step -1 THEN action, est ce que ça permettrait de comparer n à tous les n-1 précédents dans une suite de N nombres ?
Sinon, bien compris avec " tirage " et " témoin " Super.
@ + Zéoioui.
#18 Programmation » [Quick Basic] Recherche algorithme ou routine ... » 04-04-2014 16:39:38
- zeoioui
- Réponses : 43
Bonjour à tous,
J'apprends à programmer seul depuis quelques semaines via un manuel de Quick Basic, et je bute sur une instruction, un artifice de calcul à trouver ...
Soit une suite, un tirage aléatoire de N numéros compris entre 1 et 10. Par exemple :
5 1 2 3 3 4 6 5 7 \ 7 8 ..... n ( n1 = No 5, n2 = No 1 etc ... )
Je veux savoir quand intervient le cas de figure suivant : 7 numéros sur 10 sont sortis, manque 3 Nos , à quel rang et lesquels ?
Schématiquement, si je compare n 1 ( No 5 ) avec n 2 ( No 1 ) et s'ils sont différents, alors deux numéros sur dix sont bien présents. Parallèlement, je peux placer un compteur borné à 7, ( C = 7 ) et tant que n < > de n+1 , le compteur va s'incrémenter de 1 jusqu’à atteindre 7. Si n = n+1 , le compteur ne bouge pas et l'analyse continue.
Le problème se pose à moi quand je dois comparer n 7 ( No 6 ) avec n 8 ( No 5 ) :
n 7 < > n 8 mais n 8 ( No 5 ) est déjà sorti en n 1 ( répétition du No 5 )
Je cherche donc une instruction, une routine, un algo. qui permette de coder :
Si n < > n+1 et < > de tous les n précédents, soit de n-1 jusqu'au premier n ( numéro ) tiré, alors mon compteur peut fonctionner juste, jusqu'à C = 7.
IF n < > n+1 AND n < > de tous les " n " précédents THEN C = C + 1
Dans l'exemple de tirage que je donne, c'est arrivé à n 9 ( No 7 ) que tous les Nos entre 1 et 10 sont sortis, sauf trois, les Nos 8 , 9 et 10. et cela se présente au 9 ème rang. ( n 9 )
Les instructions sur les chaînes " LEFT$ " , " MID$ " , auraient pu le faire mais c'est pour les chaînes de caractères ( et je veux rester en numérique )
J' ai lu qu'il existait une instruction " MAT " qui permet de lire tous les éléments d'un tableau plutôt qu'un seul élément à chaque fois, mais cette instruction ne fonctionne qu'avec " BASIC + " et je travaille avec Quick Basic !
Je peux aussi construire un second tableau contenant 10 éléments ( T = 1 , 2 , .... 10 ) et par comparaison et soustraction, je peux réduire T de 10 éléments à 3 éléments, ceci m'indiquerait que 7 Nos sur 10 sont bien sortis.
Pour finir, est ce qu'une instruction du genre : n < > n-1 step -1 permettrait de remonter, d'analyser tous les n précédents, jusqu'au premier n1 ?
Avez-vous une idée, un conseil pour résoudre mon problème en restant sur le langage Basic.
En espérant une suite, salutations à tous.
Pages : 1







