Bonjour,
Je suis novice en programmation.
J'ai 42 ans et pas du tout du métier.
Je me sert de liberty basic pour faire mon programme.
a,j,s, sont remplacés par 1
b,k,t, sont remplacés par 2
c,l,u, sont remplacés par 3
d,m,v, sont remplacés par 4
e,n,w, sont remplacés par 5
f,o,x, sont remplacés par 6
g,p,y, sont remplacés par 7
h,q,z sont remplacés par 8
i,r, sont remplacés par 9
Ensuite il y a un calcul à faire
1+2+3+1+5+8+4+=24=2+4=6
Dois-je apprendre le language C++ ?
Merci pour vos réponses.
@+ :-x :-x
Pas pitié, tous sur lui
J'avoue ne pas avoir trop compris ce que tu essais de faire, j'ai bien une idée, je vais te proposer quelque chose.
Ne serait-ce pas un calcul pour quelque chose d'ésotérique ? des cartes ?
En tout cas, pas besoin d'apprendre le c++
Si j'ai bien compris tu veux faire un calcul en fonction qui génère une valeur à partir de lettres (qui pourraient correspondre à des cartes dans mon exemple) et qui valent un certain nombre.
Le plus simple est de créer un tableau que tu va remplir avec la valeur correspondant pour chaque lettre.
On considèrera que l'ordre ASCII (c'est un peu l'alphabet informatique) des lettres, à savoir que la lettre A est à la 65 ème position, B 66 ème ...
exemple de code :
dim cartes(54)
cartes(1) = 1; on stocke pour A la valeur 1
cartes(2) = 2; on stocke pour B la valeur 2
cartes(3) = 3; ...
quand tu arrive à J tu remets = 1 bien sûr.
En suite pour utiliser ton tableau tu peux faire saisir ton utilisateur via la commande input, ca donne par exemple tirage = input ("Donne le tirage des cartes à la suite (exemple : AJBKDMFO)" )
ensuite une boucle pour lire le tirage
for i=1 to len(tirage)
addition = addition + cartes(mid(tirage,i,1)-64);
next i
Le "cartes(mid(tirage,i,1)-64) " c'est pour retrouver la valeur d'après la lettre tapée, le -64 car le A est à la 65 ème position dans l'alphabet ASCII, dont Ascii(A)-64 = 1, c'est donc la première lettre du tableau
à cette étape on obtient comme dans ton exemple le 24
Ensuite il te faudra user d'astuces pour additionner le nombre que tu trouves.
par exemple :
resultat1 = conversion en texte (24)
resultat2 = mid(resultat1,1,1)+mid(resultat1,2,1) ; 'le 6 de ton exemple"
Bonjour Furbean
Merci de ta( compation) et de ton aide !
Ce n'est pas pour un jeu ésotérique.
Mais pour faire un programme avec des noms et qui donnent des chiffres pour ensuite faire une recherche...
je vais essayer ton programme.
Dois- je faire une function dans mon programme.
Si tu veux tu peux me contacter
chrismo1@club-internet.fr
Merci pour tout
@+ :-)
Bonjour, Furbean
Voilà mon programme, mais le résultat est 0 à chaque fois.
Merci de me guider
NOMAINWIN
PROMPT "Entrer nom :"; Lettres
NOTICE "numéro : "; Premier(lettre,chiffre)
End
FUNCTION Premier(lettres, chiffres)
TableLettres$ = "abcdefghijklmnopqrstuvwxyz"
TableChiffres$ = "12345678912345678912345678"
Calcul = 0
rem boucle de 1 jusqu'à la longueur totale du mot à traduire
'For i=1 to Len( Mot_a_traduire )
rem on extrait le caractère à convertir
'Lettre= Mid( mot_a_traduire , i , 1 )
rem on additionne dans calcul, l'occurence dans la table chiffre correspondant à la recherche du caractère à convertir dans la table lettres
'Calcul = Calcul + Mid( TableChiffres , instr( 1 , TableLettres , Lettre ) , 1 )
rem au suivant
'next i
rem pour terminer, on prend le reste de la division calcul/9
'Calcul = Calcul Mod 9
end FUNCTION
@+ :-o :-x
Mot_a_traduire : Tu affectes à quel moment la valeur ?
Je ne connais pas du tout le liberty basic.
Mais je vois quand meme des incoherences :
La :
NOTICE "numéro : "; Premier(lettre,chiffre)
Premier est une fonction, mais les variables lettre et chiffre ne sont pas definis ?
je pense plutot qu'il faut la changer par :
NOTICE "numéro : "; Premier(Lettres)
puis changer ta fonction par ca :
FUNCTION Premier(Lettres)
TableLettres$ = "abcdefghijklmnopqrstuvwxyz"
TableChiffres$ = "12345678912345678912345678"
Calcul = 0
rem Ca permet d'optimiser le calcul, ca ca ne calcule pas Len (Lettres) a chaque tour de boucle
j = Len( Lettres )
rem boucle de 1 jusqu'à la longueur totale du mot à traduire
'For i=1 to j
rem on extrait le caractère à convertir
'Lettre= Mid( Lettres , i , 1 )
rem on additionne dans calcul, l'occurence dans la table chiffre correspondant à la recherche du caractère à convertir dans la table lettres
'Calcul = Calcul + Mid( TableChiffres , instr( 1 , TableLettres , Lettre ) , 1 )
rem Et aussi tester cette ligne a la place de celle d'au dessus
rem Car dans beaucoup de langages, les tableaux commencent a l'index 0
'Calcul = Calcul + Mid( TableChiffres , instr( 0 , TableLettres , Lettre ) , 1 )
rem au suivant
'next i
rem pour terminer, on prend le reste de la division calcul/9
'Calcul = Calcul Mod 9
end FUNCTION
Une autre petit chose bizarre les simples quotes ( ' ) que tu met avant un next ou certaine fois devant des variables, je ne comprend pas a quoi elles servent.
Peut etre devrais tu les enlever
Si ca ne marche toujours pas, envoi moi un mail la : tireurfou@free.fr je te ferais le prog en C ou en Visual Basic.
Si vous expliquez un peu plus clairement, je crois qu'un simple JavaScript suffira. Et je vous fait ce script, suffit d'être explicite.
Si j'ai compris au moins quelque chose:
-> Vous avez une chaîne des caractères et vous voulez y remplacer des lettres par des chiffres correspondants?
Et aussi une remarque:
Je ne comprends pas ce que vous voulez faire avec "le calcul à faire". Tell que vous l'avez écrit, il est déjà fait.
il ne faut pas mettre les (') parce que liberty basic ne prend pas en compte le text qui suit car il le voit comme un commentair pour aider la lecture du programme.
bonne chance : NP
Bonjour à vous tous
je n'ai pas de réponse mais une question :
qu'est-ce que le liberty basic??
de quel langage ca se rapproche le plus??
Au vu du code plus haut ca se rapproche du Basic lol ^^ et aussi du QBasic et Visual Basic.
Il y a 695 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
