> Tous les forums > Forum Autres langages
 Besoin d'aide pour mon nouveau programme
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
456mehdi
  Posté le 06/09/2004 @ 20:15 
Aller en bas de la page 
Petit astucien
Bonjour, Je me sert de liberty basic pour faire mon programme, mais je cherche le moyen de faire cette variable. 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 Peux-t-on faire une matrice sur exel et comment? Ensuite il y a un calcule à faire 1+2+3+1+5+8+4+=24=2+4=6 Merci pour vos réponses. @+[smile]
Publicité
tig
 Posté le 07/09/2004 à 12:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Hello, Il te faut transformer les chiffres par leur valeur ASCII. Par exemple a=97, b=98, ... ou A=65, B=66, ... Par la suite, la valeur ASCII - 97 (si tu travailles avec les minuscules) et tu prends le reste de la division par 9 (modulo 9) puis ajouter 1 pour avoir la valeur que tu souhaites, soit a=1, b=2, ..., j=1, k=2, ... Modulo 9 donne des valeurs de 0 à 8 donc il faut ajouter 1 pour avoir des valeurs de 1 à 9. Exemple : c=99 99 - 97 = 2 2 mod 9 = 2 2 + 1 = 3 n=110 110 - 97 = 13 13 mod 9 = 4 4 + 1 = 5 En espérant que cela peut t'aider @+

Modifié par tig le 07/09/2004 13:09
tig
 Posté le 07/09/2004 à 13:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Hello, Pour la suite, pour ton calcul, le principe est le même, tu travaille avec des modulo de 10. Exemple : 123 doit donner 1 + 2 + 3 123 mod 10 = 3 -> dans une variable 123 / 10 = 12 (division entière !!!) 12 mod 10 = 2 -> dans une variable 12 / 10 = 1 1 mod 10 = 1 -> dans une variable 1 / 10 = 0 -> fin du processus et somme sur les variables

Modifié par tig le 07/09/2004 13:16
456mehdi
 Posté le 07/09/2004 à 18:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour Merci de votre aide je vais tester tout cha cette nuit. Merci @+
456mehdi
 Posté le 07/09/2004 à 20:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour mon programme de liberty basic me dit qu'il y a un bug avec 99 - 97 = 2 et avec 123 mod 10 = 3 -> dans une variable EST CE POSSIBLE DE RENTRER tout ca dans une matrice sur exel. Mais ce qui est sur ,c'est que je peux tout reprendre mes cours! Merci encore pour votre patience. @+
tig
 Posté le 09/09/2004 à 10:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Essaye de faire une marco Excel avec ça, cela devrait fonctionner. Dans une cellule, tu appelles ensuite la fonction comme suit =TransformeNbre('A1') pour la cellule A1 par exemple. Il me semble que ça fonctionne correctement, mais... Function TransformeNbre(chaine As String) Dim lettre As String Dim nbre As Integer Dim pos As Integer Dim valAscii As Integer Dim valeurCherchee As Integer pos = 1 nbr = 0 'Parcours sur toutes les lettres While pos <= Len(chaine) 'Extrait une lettre de la chaine reçue lettre = Mid(chaine, pos, 1) 'Prend la valeur ASCII de la lettre valAscii = Asc(lettre) 'Opération sur la valeur ASCII valAscii = ((valAscii - 97) Mod 9) + 1 'Addition des différentes valeur des lettres nbre = nbre + valAscii pos = pos + 1 Wend While nbre > 0 valeurCherchee = valeurCherchee + (nbre Mod 10) 'Comme la division ne se fait pas de manière entière 'en VB ?, il faut soustraire le reste trouvé auparavant nbre = (nbre - (nbre Mod 10)) / 10 Wend TransformeNbre = valeurCherchee End Function @+

Modifié par tig le 09/09/2004 11:45
456mehdi
 Posté le 09/09/2004 à 13:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour Merci milles fois TIG. @+
456mehdi
 Posté le 15/09/2004 à 12:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour, Voilà mon programme, mais le résultat est 0 à chaque fois. Merci de me guider NOMAINWIN PROMPT "Entrer nom :"; Lettres NOTICE "numéro du cheval : "; 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=9 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
p-legal
 Posté le 16/04/2006 à 21:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour, deux ou trois choses ne vont pas.
NOMAINWIN PROMPT "Entrer nom :"; Lettres
une variable qui contient des lettres doit se terminer par un "$" donc ta variable "Lettres" ne peut contenir que des nombres. Autre chose "Lettres" et "lettres" sont deux variables differents, tu dois faire attention à la "casse" c'est a dire minuscule-Majuscule. je te conseille donc de changer "Lettres" en "Lettre$" par exemple.
NOTICE "numéro du cheval : "; Premier(lettre,chiffre)
tu veux utiliser une fonction, c'est pas simple ! dans une fonction toutes les variables sont remises à zero sauf celles que tu passe en argument entre parentheses. ici tu passe la variable "lettres" ( avec un L minuscule ! ) et la variable chiffre qui n'est pas définie donc égale à zero. Si tu veux travailler sur le nom entré plus haut tu dois donc passer la variable "Lettre$", quand à chiffre, je ne sais pas à quoi il correspond.
End FUNCTION Premier(lettres, chiffres) TableLettres$ = "abcdefghijklmnopqrstuvwxyz" TableChiffres$ = "12345678912345678912345678" Calcul = 0 rem boucle de 1 jusqu'à la longueur totale du mot à traduire 'For i=9 to Len( Mot_a_traduire )
ici tu utilise "mot_a_traduire" tu veux parler de "Lettre$" ? je stoppe mon analyse, fais les corrections et reviens nous dire ou tu en est. si tu as besoin d'aide pense aussi à consulter le forum de Liberty BASIC France. http://lbasic.atomysk.com/forum @++
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
34,90 €Compresseur portable autonome Xiaomi Mi Portable Air Pump à 34,90 €
Valable jusqu'au 23 Janvier

Cdiscount fait une promotion sur le compresseur portable autonome Xiaomi Mi Portable Air Pump qui passe à 34,90 € au lieu de 49 €. Ce compresseur à emporter avec vous comporte un écran (où vous pourrez choisir la pression à atteindre en PSI ou BAR) une batterie de 2000 mA et vous permettra de gonfler vos jouets (41 pièces avec une charge), pneus de vélo, de trottinette, de moto (6 pneus avec une charge) et même de voiture (5 pneus avec une charge) facilement.

Le câble est accompagné d'un embout pour valve Schrader et un adapteur Presta et une aiguille sont fournis. Le compresseur se recharge via une prise Micro USB.


> Voir l'offre
45,90 €SSD Gigabyte 512 Go (M.2, 1700 Mo/s) à 45,90 €
Valable jusqu'au 23 Janvier

RueDuCommerce fait une promotion sur le SSD Gigabyte 512 Go M.2 2280 à 45,90 € au lieu de 66 € ailleurs. Ce SSD offre des vitesses de lecture/écriture séquentielle allant jusqu’à 1700/ 1 555 Mo/s. Il est garanti 5 ans.

Compatible avec la boite à outils SSD de Gigabyte, application qui aide les utilisateurs à surveiller l'état du SSD, fournit des informations générales telles que le nom du modèle, la version FW, l'état de santé, l'optimisation du lecteur et détecte également la température du capteur. De plus, les utilisateurs peuvent effacer toutes les données avec la fonction Secure Erase. Vous pourrez télécharger la boîte à outils SSD depuis le support.


> Voir l'offre
39,99 €Lego 10281 Creator Botanical Collection Bonsaï Tree à 39,99 €
Valable jusqu'au 23 Janvier

Cdiscount fait une belle promotion sur le Lego 10281 Creator Botanical Collection Bonsaï Tree qui passe à à 39,99 € au lieu de 49,99 €. Découvrez l’art du bonsaï avec ce superbe Bonsaï LEGO de 878 pièces. Ce projet immersif permet de créer un remarquable objet de décoration. Comme un vrai bonsaï, ce modèle LEGO peut être « taillé » pour obtenir la forme de votre choix. Inclut des pièces interchangeables pour obtenir un  bonsaï classique, avec son feuillage vert, ou un cerisier recouvert d'une abondante floraison rose.


> Voir l'offre

Sujets relatifs
Besoin d'aide pour un programme
Aide pour un programme simple en C++
[SQL access] besoin d'aide pour une requete
bonjour besoin de votre aide programme java
Aide POur initiation a SQL ( oracle 10G)
Script pour lancer un programme en VBS
demande d'aide pour un petit script
Créer programme ou application pour tablette PC
Aide à la réalisation d'un programme
Aide pour macro sur Notepad ++
Plus de sujets relatifs à Besoin d''aide pour mon nouveau programme
 > Tous les forums > Forum Autres langages