Accueil > Forum > > > > Identification de caracteres
Identification de caracteres
mardi 5 juillet 2005 à 10:26:55 |
Identification de caracteres

Julien39
|
Je voudrais faire un programme en VB qui met sous forme fractionnaire les nombres à écriture décimale infinie ( exemple 0.35353535....=35/99 ). Il ne me manque plus que deux elements c'est de savoir comment avec un nombre je peux identifier le cycle que présente l'écriture décimale (ici 35, on observe une successin de 35dans l'écriture). Et comment trouver que le nombre chiffres composant ce cycle ( ici 2 , car 35 est composé de 2 chiffres) J'espere avoir été assez précis et compréhenssible D'avance merci.
|
|
mardi 5 juillet 2005 à 12:13:04 |
Re : Identification de caracteres

Gobillot
|
je doûte qu'on puisse faire cela je citerais en exemple les décimales de Pi, après quelques 2 milliards de décimales calculées, personne n'a encore prouvé qu'il y avait ou pas de séquences répétitives. les nombres garderont toujours leurs mystères.
Daniel
|
|
mardi 5 juillet 2005 à 12:33:01 |
Re : Identification de caracteres
|
mardi 5 juillet 2005 à 16:12:40 |
Re : Identification de caracteres

phil23
|
Réponse acceptée !
'J'ai fais cet exemple en VB6 qui pourrait fonctionner. 'Colle cette fonction dans un form pour tester.
Private Sub RechercheSuite() Dim ValeurTest As Double 'Variable qui contient la valeur à tester Dim ValeurTemp As Single 'Variable temporaire pour déterminer le séparateur 'numérique du système (point ou virgule) Dim sSep As String 'Séparateur numérique du système Dim lPos As Long 'Position du séparateur dans la variable ValeurTest Dim sDecimale As String 'Partie décimale de la valeur à tester Dim i As Long 'Compteur de la boucle 1 Dim j As Long 'Compteur de la boucle 2 Dim sBloc As String 'Bloc de chiffre à comparer Dim sExtrait As String 'Bloc suivant à comparer avec sBloc Dim bIdentique As Boolean 'Est-ce que la comparaison est identique ? Dim lCompteur As Long 'Compte le nombre de comparaison 'Mettre ici la valeur à tester '--------------------------------------------- ValeurTest = (35 / 99) 'Résultat: 35 2 'ValeurTest = (569 / 999) 'Résultat: 569 3 'ValeurTest = 0.333333343333333 'Résultat: 3 1 'ValeurTest = 0.123456123456 'Résultat: 123456 6 'ValeurTest = 0.375962451655 'Résultat: Impossible de trouver une suite '--------------------------------------------- 'Détermine quel est le séparateur numérique du système '--------------------------------------------- ValeurTemp = (1 / 10) sSep = Mid(CStr(ValeurTemp), 2, 1) '--------------------------------------------- 'Recherche la position du séparateur numérique lPos = InStr(1, CStr(ValeurTest), sSep) If lPos > 0 Then 'Extrait que la partie décimale sDecimale = Mid(CStr(ValeurTest), lPos + 1) 'Fait une boucle du nombre de chiffre For i = 1 To Len(sDecimale) sBloc = Left(sDecimale, i) lCompteur = 0 bIdentique = True 'Compare par bloc avec la suite pour déterminer si c'est identique For j = (i + 1) To Len(sDecimale) Step i sExtrait = Mid(sDecimale, j, i) If Len(sExtrait) = Len(sBloc) Then lCompteur = lCompteur + 1 If sBloc <> Mid(sDecimale, j, i) Then bIdentique = False End If If bIdentique = False Then Exit For Next j If lCompteur = 0 Then bIdentique = False If bIdentique = True Then Exit For Next i If bIdentique = True Then MsgBox "La suite de chiffre est: " & sBloc & vbCrLf & _ "Le nombre de chiffres composant est: " & Len(sBloc), vbInformation Else MsgBox "Impossible de déterminer une suite logique.", vbExclamation End If Else MsgBox "C'est un nombre entier. Il n'y a pas de séparateur.", vbExclamation End If End Sub
|
|
mardi 5 juillet 2005 à 16:52:26 |
Re : Identification de caracteres
|
mardi 5 juillet 2005 à 17:53:56 |
Re : Identification de caracteres

Gobillot
|
Réponse acceptée !
si c'est une suite de chiffres limités forcément c'est plus facile, j'ai pas dit que c'était facile, mais ça donne pas le résultat exact à savoir si c'est un nombre rationnel ou pas. un nombre rationnel peut se mettre se mettre sous forme de fraction. soit c'est un nombre entier comme 10/2 soit c'est un nombre avec décimale limitée comme 6/5 soit c'est un nombre avec décimale illimitée comme 1/3 mais avec séquence répétitive. pour les nombres irrationnels, on ne peut pas les mettre sous forme de fraction, le nombre de décimale est illimitée, et on peut considérer qu'il n'y a pas de séquence répétitive, mais je suis pas sûr que ça a été prouvé ? conclusion: si on arrive a le mettre sous forme de fraction et si c'est pas un nombre entier et si le nombre de décimales est illimité là on est sûr qu'il y a une séquence répétive. il reste plus qu'à la trouver.
Daniel
|
|
mardi 5 juillet 2005 à 21:48:26 |
Re : Identification de caracteres

phil23
|
Réponse acceptée !
OK, je ne savais pas que tu es débutant. Mon exemple est fait avec VB6. Je ne sais même pas si tu as aussi cette version ou VB.net ou quoi? Si tu as VB6 tu peux: 1. Ouvrir un nouveau projet 2. Ajouter un bouton "Command1" sur le "Form1" 3. Ouvre la fenêtre code du Form1 4. Efface tout le code (si il y a quelque chose) 5. Copier le code ci-dessous et le coller dans le Form1 6. Exécuter le projet et cliquer sur le bouton pour tester
' Code à copier et coller '---------------------------------- Option Explicit Private Sub RechercheSuite(ByVal MonNombre As String) Dim ValeurTemp As Single 'Variable temporaire pour déterminer le séparateur 'numérique du système (point ou virgule) Dim sSep As String 'Séparateur numérique du système Dim lPos As Long 'Position du séparateur dans la variable ValeurTest Dim sDecimale As String 'Partie décimale de la valeur à tester Dim i As Long 'Compteur de la boucle 1 Dim j As Long 'Compteur de la boucle 2 Dim sBloc As String 'Bloc de chiffre à comparer Dim sExtrait As String 'Bloc suivant à comparer avec sBloc Dim bIdentique As Boolean 'Est-ce que la comparaison est identique ? Dim lCompteur As Long 'Compte le nombre de comparaison 'Détermine quel est le séparateur numérique du système '--------------------------------------------- ValeurTemp = (1 / 10) sSep = Mid(CStr(ValeurTemp), 2, 1) '--------------------------------------------- 'Recherche la position du séparateur numérique lPos = InStr(1, CStr(MonNombre), sSep) If lPos > 0 Then 'Extrait que la partie décimale sDecimale = Mid(CStr(MonNombre), lPos + 1) 'Fait une boucle du nombre de chiffre For i = 1 To Len(sDecimale) sBloc = Left(sDecimale, i) lCompteur = 0 bIdentique = True 'Compare par bloc avec la suite pour déterminer si c'est identique For j = (i + 1) To Len(sDecimale) Step i sExtrait = Mid(sDecimale, j, i) If Len(sExtrait) = Len(sBloc) Then lCompteur = lCompteur + 1 If sBloc <> Mid(sDecimale, j, i) Then bIdentique = False End If If bIdentique = False Then Exit For Next j If lCompteur = 0 Then bIdentique = False If bIdentique = True Then Exit For Next i If bIdentique = True Then MsgBox "La suite de chiffre est: " & sBloc & vbCrLf & _ "Le nombre de chiffres composant est: " & Len(sBloc), vbInformation Else MsgBox "Impossible de déterminer une suite logique.", vbExclamation End If Else MsgBox "C'est un nombre entier. Il n'y a pas de séparateur.", vbExclamation End If End Sub Private Sub Command1_Click() Call RechercheSuite(InputBox("Entrer le chiffre à tester:", "Chiffre", "0.35353535353535353535")) End Sub
|
|
mardi 5 juillet 2005 à 22:31:25 |
Re : Identification de caracteres
|
Cette discussion est classée dans : nombre, caracteres, identification, écriture, décimale
Répondre à ce message
Sujets en rapport avec ce message
Identification de caracteres [ par CwamM ]
Salut a tous,Jdébute en VB depuis hier et je cherche a lire un fichier qui a cette tete:$ attention commande nouvelle et titre entre quotesCOOR 1
Conversion chaine de caracteres en un nombre entier [ par tntdavid ]
Je voudrais connaitre le code VB d'une fonction qui me permettrait de convertir une chaine de 6 caractères en un nombre entier.Merci d'avance de l'att
Compte le nombre de caracteres d'1 chaine [ par pimousse75 ]
Salut,je voudrais compter le nombre de _ d'une chaine. Y'a t il une fonction toute faite, ou dois-je la creer (c'est tres simple je sais !!!) ? A+
chercher une chaine dans un fichier apres une chaine et un nombre de caracteres [ par rober ]
RoberBonjour,apres avoir charger un fichier Je voudrais trouver une chaine de caracteres se trouvant apres une chaine et un certain nombre de caracter
Taille fichier en nombre de caracteres [ par totoalareunion ]
Bonjour a tous,Je cherche a compter le nombre de caracteres ds un fichier .txt. Avec Access 2000, en VBA. Et je ne trouve pas....Merci d'avanceThomas
Calculateur de PI avec le nombre de décimale paramétrable [ par bizmoute ]
Bonjour, ce que je veux dire, c'est que j'aurais besoin d'aide pour faire un prog qui calculerait le plus de décimale de PI possible et ce, en le moin
écriture d'un nombre d'autre façon [ par zine pef ]
bomjour; quelqu'un m'aider d'un code en VB6 d'écrire le nombre:124=(1*100)+(2*10)+(4*1) merçi;
limiter le nombre de caracteres dans un combobox [ par itsha ]
BonjourDans un controle ComboBox en saisie, j'aimerais que l'utilisateur ne puisse pas entrer plus qu'un certain nombre de caractères ( par exemple fo
Nombre de ligne et de caracteres ds un fichier txt [ par jff27 ]
Bonjour,Comment fait-on pour connaitre le nombre de caracteres et le nombre de ligne qu'il y'a dans un fichierD'avance merci.
conversion de caracteres dans une string (help please) [ par andrea ]
Bonjour,je voudrais savoir comment faire pour changer (remplacer) des caracteres dans une string par exemple lorsque je trouve un quote (') dans une
Livres en rapport
|
Derniers Blogs
OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc
Forum
RE : VITESSERE : VITESSE par ucfoutu
Cliquez pour lire la suite par ucfoutu
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|