Statistique

0/5 (6 avis)

Snippet vu 5 871 fois - Téléchargée 38 fois

Contenu du snippet

Enfin, un programme qui calcule les fréquences d'apparitions des caractères au sein d'un texte.
ça permet de trouver des messages codés grâce à un substion alphabétique.

Voilà

Source / Exemple :


Private Sub Command1_Click()
Dim chaine As String
Dim test As String
Dim ia
Dim a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
Dim esp

chaine = Text1
chaine = Trim(LCase(chaine))
For ia = 1 To Len(chaine)
test = Mid(chaine, ia, 1)
    Select Case test
    Case "a"
    a = a + 1: Case "b": b = b + 1: Case "c": c = c + 1: Case "d": d = d + 1
    Case "e": e = e + 1: Case "f": f = f + 1: Case "g": g = g + 1: Case "h"
    h = h + 1: Case "i": i = i + 1: Case "j": j = j + 1: Case "k": k = k + 1
    Case "l": l = l + 1: Case "m": m = m + 1: Case "n": n = n + 1: Case "o"
    o = o + 1: Case "p": p = p + 1: Case "q": q = q + 1: Case "r": r = r + 1
    Case "s": s = s + 1: Case "t": t = t + 1: Case "u": u = u + 1: Case "v"
    v = v + 1: Case "w": w = w + 1: Case "x": x = x + 1: Case "y": y = y + 1
    Case "z": z = z + 1
    Case Else
    esp = esp + 1
    End Select
Next
effectif = (Len(chaine) - esp)
a = a * 100 / effectif: b = b * 100 / effectif: c = c * 100 / effectif: d = d * 100 / effectif: e = e * 100 / effectif: f = f * 100 / effectif: g = g * 100 / effectif: h = h * 100 / effectif: i = i * 100 / effectif: j = j * 100 / effectif: k = k * 100 / effectif: l = l * 100 / effectif: m = m * 100 / effectif: n = n * 100 / effectif: o = o * 100 / effectif: p = p * 100 / effectif: q = q * 100 / effectif: r = r * 100 / effectif: s = s * 100 / effectif: t = t * 100 / effectif: u = u * 100 / effectif: v = v * 100 / effectif: w = w * 100 / effectif: x = x * 100 / effectif: y = y * 100 / effectif: z = z * 100 / effectif
Text2 = Round(a, 1): Text3 = Round(b, 1): Text4 = Round(c, 1): Text5 = Round(d, 1): Text6 = Round(e, 1): Text7 = Round(f, 1): Text8 = Round(g, 1): Text9 = Round(h, 1): Text10 = Round(i, 1): Text11 = Round(j, 1): Text12 = Round(k, 1): Text13 = Round(l, 1): Text14 = Round(m, 1): Text15 = Round(n, 1): Text16 = Round(o, 1): Text17 = Round(p, 1): Text18 = Round(q, 1): Text19 = Round(r, 1): Text20 = Round(s, 1): Text21 = Round(t, 1): Text22 = Round(u, 1): Text23 = Round(v, 1): Text24 = Round(w, 1): Text25 = Round(x, 1): Text26 = Round(y, 1): Text27 = Round(z, 1)
End Sub

Private Sub mnuquit_Click()
Unload Form1
End Sub

A voir également

Ajouter un commentaire Commentaires
VBSpirit Messages postés 15 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 15 juillet 2004
10 juil. 2003 à 11:14
Monsieur osnicox,
je ne suis pas très content de ta production, j'ai passé la moitié de l'année à t'apprendre les tableaux, et en plus ce programme ne demandait pas de tableau dynamique ! Array(0 to 255) rien de plus facile !!! même pas besoin de redimensionner koi ke ce soit !
J'espère que tu feras mieux pour la rentrée car çà sera ton prochain exercice...
Signé ton prof de VB.
cs_BOUAZIZ Messages postés 1 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 28 juin 2003
28 juin 2003 à 00:29
LAISSER Statistique pour les statisticiens, allez voir des logiciels trés poussés en statistique: SAS,SPSS,....
cs_max12 Messages postés 1491 Date d'inscription dimanche 19 novembre 2000 Statut Modérateur Dernière intervention 7 juillet 2014
27 juin 2003 à 17:46
Avec une seule boucle je peut faire sa beaucoups moin long et plus rapide.
Arecibo Messages postés 124 Date d'inscription jeudi 13 juin 2002 Statut Membre Dernière intervention 30 juillet 2003
27 juin 2003 à 17:22
Dis donc, tu le fais pour chaque lettre sans utiliser boucle !
Imagine si tu devais prendre en compte les majuscules, et les autres caracères tels que {é~//|(è@$*%µ?\ etc... t'en aurais pour trois jours !!!
Essaye de l'améliorer, t'as 2 mois de libres je crois là, non ?!

Je te mets 8 parec que c toi !!!
cs_laestrella Messages postés 93 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 27 juin 2003
27 juin 2003 à 08:58
Un pti fichier ZIP et c'est cool enfin du moins sa marche mais sans être vraiment optimisé!!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.