Forum Liberty Basic France

Le 04/09/2013 à 10h11

Libertynaute Débutant

Groupe: Membre

Inscrit le: 21/08/2013
Messages: 11
Bonjour,

j'essaie de faire un programme qui dit si le chiffre est impair ou pair
le chiffre que je fait générer est une chiffre aléatoire.. voici comment j'ai fait mais ca ne marche pas exactement comme je le pensais...

Code VB :
ChiffreAleatoire = Int (100 * (rnd(1)))
 
print ChiffreAleatoire
 
Pair = ChiffreAleatoire / 2
 
if ChiffreAleatoire = Pair then print "est un chiffre pair " else print "est un chiffre Impair "


je ne comprend pas pourquoi ça ne fonctionne pas...
pouvez vous me donner des indices svp?
(pas la solution mais des indices svp)

Andy

Web    
Le 04/09/2013 à 12h23

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Et bien c'est très simple. Tu dispose pour cela de: "mod" qui te renvoie le reste de la division
chiffre= 7 mod 2 --> chiffre=1 (3 x 2 = 6 + 1 = 7)
Donc, il te suffit de faire:
Code VB :
 
reste=ChiffreAleatoire  mod 2
if reste =0 then 
     print "Pair"  (ou goto, gosub, call...où tu voudra.)
else
    print "Impair"
end if
 

____________________
Roro

   
Le 04/09/2013 à 12h28

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 361
Bonjour Andyy,

ChiffreAleatoire va contenir un nombre entre 1et 100.
Par exemple, 53.
Ensuite, Pair = ChiffreAleatoire / 2 = 26.5
Et finalement, tu compares Pair et ChiffreAleatoire. C'est là où est ton problème.
En effet, i un nombre est pair, sa division par 2 va donner un entier, sinon, ça sera une fraction. Il faut donc vérifier si Pair est un entier ou non.
Pour faire cette comparaison, tu peux vérifier si Pair est égale à la partie entière de Pair.

Tu peux aussi utiliser une autre approche. Va faire un tours du coté de l'opérateur mod

Cordialement
Jagang

PS : Penses à utiliser les balises codes pour mettre un code dan le forum. C'est plu propre.

EDIT : Grillé par roro ^^. Au fait, il voulait pas qu'on lui donne la réponse...
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 04/09/2013 à 15h17

Libertynaute Débutant

Groupe: Membre

Inscrit le: 21/08/2013
Messages: 11
Bonjour,

Merci beaucoup d'avoir répondu si vite :-D
j'essayais de me débrouiller sans Mod...
est ce que c'est possible?

oui je vois mon erreur... merci Roro et Jaja

Merci de m'avoir donné la solution :-) (j'ai cherché pendant des jours là-dessus)

Web    
Le 04/09/2013 à 15h34

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 361
Comme expliqué dans le première partie de mon message, oui, c'est possible sans mod.

Jag (et pas Jaja ;) )
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 04/09/2013 à 17h59

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Ah mince ! Sciouze me...J'ai pas vu la fin du message .
Je part du principe que quand on débute, rien n'est évident, on cherche longtemps dans la doc.
Et surtout on peut vite désespérer et se décourager.
En donnant du "tout cuit", ça permets d'avancer; et de prendre ou de garder confiance.
Ce ne sont pas les algorithmes qui manquent pour se faire les griffes.
____________________
Roro

   
Le 05/09/2013 à 07h56

Libertynaute Débutant

Groupe: Membre

Inscrit le: 21/08/2013
Messages: 11
C'est pas grave Roro ;)

ok Jag :hehe je vais continuer à cherché

merci encore! vous êtes super :-D

Web    
Le 06/09/2013 à 00h33

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Andyy:
je vais continuer à cherché

Ne cherche pas trop loin Lol !
A tu trouvé dans la doc la fonction(?) qui donne la partie entière d'un nombre à virgule (virgule qui dant JB est le point '.")
Si tu a des difficultés avec les "mots clef" de JB, qui sont en anglais; ne craint pas de poser des qoueshtionns.
____________________
Roro

   
Le 12/09/2013 à 15h56

Libertynaute Débutant

Groupe: Membre

Inscrit le: 21/08/2013
Messages: 11
Bonjour,

alors quelqu'un me l'a dit...
(on me spoil tout xD)

Citation:
ChiffreAleatoire = Int (100 * (rnd(1)))
Pair = ChiffreAleatoire / 2
print ChiffreAleatoire
if Pair = int (Pair) then print "Pair" else print "impair"

End


Merci beaucoup pour votre patience, j'apprécie :-D

Web    
Le 12/09/2013 à 19h55

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Bah, des fois, il vaut mieux avoir la soluce et l'étudier; que de se prendre le choux pendant quinze jours.

Si tu est sous Win 7 tu peux avoir des difficultés pour accéder à la doc.
Si c'est le cas, je rappelle qu'il y a la doc traduite dans: "Suggestions à propos......"; qui est plus pratique.
____________________
Roro

   
Le 13/09/2013 à 13h47

Libertynaute Débutant

Groupe: Membre

Inscrit le: 21/08/2013
Messages: 11
Oui vous avez raison, je suis effectivement resté bloqué très longtemps..
et là j'étudie sur la solution qu'on m'a donné :-D

oui je fonctionne sous Win 7 et je ne sais pas du tout comment accéder à la doc...

je l'ai téléchargé et ça me sort plein de page de Firefox dans des dossier mis à part...
donc faut que je clique dossier par dossier pour ouvrir une page au hasard qui n'est pas forcément ce que je recherche...

je vais essayé de trouver une solution pour ouvrir tout en un..
actuellement je suis sur une autre étude donc je vais laisser JustBasic un peu de côté pour quelque jours..

Merci encore :-D

Web    
Le 13/09/2013 à 15h30

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Si tu prends la doc traduite, il y a dans le dossier un fichier: " .txt" d'explic's;
que papi Mougeot s'est cassé le "q" à rédiger; pour qu'on le lise. :d
Te souhaite bon courage pour ton "autre étude". :) ....à+.
____________________
Roro

   

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie