Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 09 Oct 2002 12:03:51

Golbatt
Membre
Lieu: Auvers-sur-Oise (95)
Date d'inscription: 31 Aug 2002
Messages: 73

-- Algorithme des touches -- (Basic)

Si vous voulez faire des programmes où on doit appuyer sur des touches ( par exemple utiliser tout les chiffres ou toutes les lettres), je vous recommande de procéder comme ce qui suit (afin d'opimiser la vitesse):

Lbl 1                                        : début de la boucle
0->Z                                        : variable Z à 0
While Z=0
Getkey->Z
WhileEnd                                  : taper sur une touche

Il faut maintenant enlever toutes les valeurs de Z qui ne nous interessent pas, mais on va pas s'amuser à toutes les faire une par une alors on les regroupe

Frac (Z/10) est compris entre 0.1 et 0.9 et représente la ligne de la touche de 1 à 9.
Int (Z/10) est compris entre 2 et 7 et représente la colone de la touche de 2 à 7.

Ainsi pour se servir seulement des touches chiffrés sans le 0 on mettra comme condition:

(Frac (Z/10))>0.4 Or (Frac (Z/10))<0.2 Or (Int (Z/10))<5=>Goto 1

Pour des touches isolées sur la calculatrice, on fera ainsi les plus grand groupes possibles en les regroupant par ligne ou colone et puis on pourra éventuellement mettre d'autres conditions concernant des touches uniques.

Ps: ce truc est en basic, je ne suis pas programmeur en C (pas encore), je pense que ça peut être utile en C.


-- Golbatt --
-- Résoud les problèmes de mathématiques --
-- Trouve les algorithmes --

Hors ligne

 

#2 09 Oct 2002 13:40:50

Golbatt
Membre
Lieu: Auvers-sur-Oise (95)
Date d'inscription: 31 Aug 2002
Messages: 73

Re: -- Algorithme des touches -- (Basic)

j'ajoute que le calcul: 30(Frac (Z/10))-4-((Int (Z/10))-6) donne la valeur de la touche chiffré en fonction de son numéro Z. Non valable pour le 0.

PS: est-ce qu'en C, c'est les mêmes numéro de touches ??


-- Golbatt --
-- Résoud les problèmes de mathématiques --
-- Trouve les algorithmes --

Hors ligne

 

#3 09 Oct 2002 13:45:00

scq
IsCachE Pour vous ServiR
Lieu: Gièvres (41 / Tours (37)
Date d'inscription: 25 Mar 2002
Messages: 2846

Re: -- Algorithme des touches -- (Basic)

euh, desoler de te decevoir, mais il est hyper connu 7 algo
connait ki l'on deja utiliser


la naissance, la jouissance et la mort sont les moments les plus courts de la vie, mieux vaut ne pas les rater.

Hors ligne

 

#4 09 Oct 2002 14:38:25

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: -- Algorithme des touches -- (Basic)

Oh oui c'est connu, mais il y a encore moyen d'améliorer ton algo la au-dessus:

Code:

'inutile de dire que 0->Z, Getkey le fait avec un Do-Lpwhile
Do
Getkey->Z
LpWhile Not Z
1
Frac .1Z>.4=>0
Ans=>Frac .1Z<.2=>0
Ans=>Int .1Z<5=>0
LpWhile Not Ans

Et voila!
>> Iscache: encore une belle utilisation de Ans  :!:

j'ai repris l'exemple pour les chiffres, mais c'est vrai que la formule général est plus efficace..
D'ailleurs je ne suis pas sur qu'elle soit correcte!
La vraie formule est
2-Int (Z/10)+30Frac (Z/10)
ou encore
2-Int .1Z+30Frac .1Z  :!:


Pensez à surveiller mes releases wink

Hors ligne

 

#5 10 Oct 2002 03:07:28

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: -- Algorithme des touches -- (Basic)

Et puis de ttes facon, en basic, le moindre calcul ralentit a mort la boucle donc c pas si utile que ca


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#6 10 Oct 2002 03:23:38

thunderhead
Professeur FolDingue
Lieu: Niort, Deux-Sèvres,79
Date d'inscription: 13 Sep 2002
Messages: 1641
Site web

Re: -- Algorithme des touches -- (Basic)

c clair autant faire des boucles pas très surchargé, du moins si on prog en basic


Si ce que tu as à dire ets moins beau que le silebnce, alors tais toi.

Hors ligne

 

#7 10 Oct 2002 07:13:27

scq
IsCachE Pour vous ServiR
Lieu: Gièvres (41 / Tours (37)
Date d'inscription: 25 Mar 2002
Messages: 2846

Re: -- Algorithme des touches -- (Basic)

oui,
ms gageons ke l'utilisarion de Ans est parfois
hasardeuse


la naissance, la jouissance et la mort sont les moments les plus courts de la vie, mieux vaut ne pas les rater.

Hors ligne

 

#8 10 Oct 2002 08:09:47

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: -- Algorithme des touches -- (Basic)

> Iscache: Ca veut dire quoi ca? :P


Pensez à surveiller mes releases wink

Hors ligne

 

#9 10 Oct 2002 11:25:58

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: -- Algorithme des touches -- (Basic)

vi ca veu dire koi ???


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#10 10 Oct 2002 14:31:35

scq
IsCachE Pour vous ServiR
Lieu: Gièvres (41 / Tours (37)
Date d'inscription: 25 Mar 2002
Messages: 2846

Re: -- Algorithme des touches -- (Basic)

ca veut dire que l'utilisation de Ans est parfois hasardeuse


la naissance, la jouissance et la mort sont les moments les plus courts de la vie, mieux vaut ne pas les rater.

Hors ligne

 

#11 10 Oct 2002 15:03:13

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: -- Algorithme des touches -- (Basic)

Ca on avait compris, mais je voudrais bien que tu me dises pourquoi tu dis ca: tu penses a un prog en particulier?


Pensez à surveiller mes releases wink

Hors ligne

 

#12 11 Oct 2002 01:26:07

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: -- Algorithme des touches -- (Basic)

Non disons que des que tu fais un autre calcul...la valeur de Ans peut etre effacée...Mais aussi qu'en on fait un pxltest...ou d'autre fonctions encore...
Je pense que c pour ca qu'il dit qu'elle est hasardeuse


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#13 11 Oct 2002 02:21:05

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: -- Algorithme des touches -- (Basic)

Ouais mais qd on a l'habitude et qu'on sait exactement ce qui peut changer la valeur de Ans ca pose pas de problemes...  lol


Pensez à surveiller mes releases wink

Hors ligne

 

#14 11 Oct 2002 06:45:34

scq
IsCachE Pour vous ServiR
Lieu: Gièvres (41 / Tours (37)
Date d'inscription: 25 Mar 2002
Messages: 2846

Re: -- Algorithme des touches -- (Basic)

oui, ms par rapport au list,
tu te souviens,


la naissance, la jouissance et la mort sont les moments les plus courts de la vie, mieux vaut ne pas les rater.

Hors ligne

 

#15 11 Oct 2002 09:42:42

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: -- Algorithme des touches -- (Basic)

Tu veux dire List->Mat ou le contraire?


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#16 11 Oct 2002 16:40:21

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: -- Algorithme des touches -- (Basic)

Ouais, dans le prog de Star Wars la, j'avais mis un Ans, tu l'as viré et t'as vu le résultat...  lol
En général il vaut mieux éviter d'utiliser souvent une fonction qu'on ne connait pas bien.. ( surtout quand on l'utilise partout comme moi lol)


Pensez à surveiller mes releases wink

Hors ligne

 

#17 11 Oct 2002 16:46:24

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: -- Algorithme des touches -- (Basic)

POur ceux qui sont pas au courant, il s'agissait de ceci:

Code:

0->L 
Do 
Seq(22,X,1,7,1->List 1 
ClrText 
" " 
Isz L 
Locate 1,1,"NIVEAU" 
Locate 8,1,L 
For 1-> To 7 
" " 
Next 
0->P 
10->A 
0->B~C 
For 1->P To 50 
Isz C 
C=8=>1->C 
[color=red]Int 21Ran#+1 
Ans->List 1[C [/color]
Locate Ans,7,"<=>" 
" " 
Locate A,1,"8" 
C+1 
Ans=8=>1 
List 1[Ans 
If A=Ans Or A=Ans+1 Or A=Ans+2 
Then Locate A,1,"PERDU" 
Stop 
IfEnd 
Getkey->Q 
Q=38=>A>1=>Dsz A 
Q=27=>A<21=>Isz A 
If Q=28 
Then Locate 8,1,"PAUSE" 
Do 
LpWhile Getkey<>31 
IfEnd 
Next 
LpWhile 1

Et IscaChe avait essayé de remplacer les lignes en rouge par ceci..

Code:

Int 21Ran#+1->List 1[C] 

Mais il a pas regardé la suite :mrgreen:


Pensez à surveiller mes releases wink

Hors ligne

 

#18 12 Oct 2002 02:47:55

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: -- Algorithme des touches -- (Basic)

Ah exact ya une petite erreur!!
Faut faire gaffe avec Ans....
Dès qu'une fonction renvoie une valeur, Ans prends cette derniere!!!
Si vous vouler sauvegarder une valeur mieux vaut la stocker dans une variable!


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#19 12 Oct 2002 09:45:47

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: -- Algorithme des touches -- (Basic)

... je crois que t'as pas compris: mon prog était tout-a-fait correct, mais si le changement d'iscache paraissait naturel, ca fait completement planter la suite, et c'est bien normal  lol


Pensez à surveiller mes releases wink

Hors ligne

 

#20 12 Oct 2002 12:11:51

scq
IsCachE Pour vous ServiR
Lieu: Gièvres (41 / Tours (37)
Date d'inscription: 25 Mar 2002
Messages: 2846

Re: -- Algorithme des touches -- (Basic)

alors là STOP, j'ai remplacer ces lignes après l'erreur,
et puis l'erreur venais du fait que Ans valait 22
ce qui est impossible avec

Code:

Int 21Ran#+1->List 1[C]

car la valeur maximale de cette formule est 21,
l'erreur venait du fait que Ans prenait la valeur qui allait
etre remplacer dans la liste


la naissance, la jouissance et la mort sont les moments les plus courts de la vie, mieux vaut ne pas les rater.

Hors ligne

 

#21 12 Oct 2002 12:20:18

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: -- Algorithme des touches -- (Basic)

nan c 22 le max !
c en C que ya -1 ...


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#22 12 Oct 2002 12:35:41

scq
IsCachE Pour vous ServiR
Lieu: Gièvres (41 / Tours (37)
Date d'inscription: 25 Mar 2002
Messages: 2846

Re: -- Algorithme des touches -- (Basic)

eut, t pas au courant alors, fais un prog sur ta caltos

Code:

While Int 21Ran# +1=/=22
WhileEnd

et dis moi combien de temps ta caltos tourne,
du reste je viens d'avoir un mess d'erreur que j'avais jamais eu :

Code:

Undefinition Error
Error No[42]

la naissance, la jouissance et la mort sont les moments les plus courts de la vie, mieux vaut ne pas les rater.

Hors ligne

 

#23 12 Oct 2002 12:38:26

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: -- Algorithme des touches -- (Basic)

a vi, moi aussi !!!


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#24 12 Oct 2002 12:43:36

scq
IsCachE Pour vous ServiR
Lieu: Gièvres (41 / Tours (37)
Date d'inscription: 25 Mar 2002
Messages: 2846

Re: -- Algorithme des touches -- (Basic)

mais si on le fait avec un goto et lbl, je suis sur que tu epuises les pile de ta caltos


la naissance, la jouissance et la mort sont les moments les plus courts de la vie, mieux vaut ne pas les rater.

Hors ligne

 

#25 12 Oct 2002 13:40:17

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: -- Algorithme des touches -- (Basic)

roll l'erreur vient du fait que faire

Code:

Int 21Ran#+1->List 1[C] 

ne change pas la valeur de Ans justement, et que dans les 3 lignes qui suivent j'ai besoin de Ans avec sa nouvelle valeur!

Mais bon apres tout on s'en masse le cochonnet, c'était juste pour dire que Ans est très pratique et que ca marche impec quand on sait l'utiliser!


Pensez à surveiller mes releases wink

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr