Visual Basic

Fermé
dd38 - 1 mars 2012 à 15:13
 dd38 - 10 mars 2012 à 22:52
Bonjour,

alors voilà j'ai un petit problème, je suis débutant en VB et j'ai un sujet à faire, et je ne comprend rien... Je ne demande pas à ce que l'on me le fasse, mais au moins qu'on m'aide dans la démarche



Problème à résoudre :
? Demander à l'utilisateur de saisir un nombre entier N compris entre 100 et 10000.
? Générer par la suite N nombres entiers pseudo-aléatoires compris entre 10 et 20.
? Afficher la liste de nombres générée
? Compter le nombre d'occurrences de chaque nombre de la suite générée et afficher ce nombre
? Trier la liste de nombre en ordre croissant et afficher la liste triée.
? Calculer et afficher la moyenne et l'écart-type des nombres générés
? Sauvegarder dans un fichier texte le nombre de données générées, leur moyenne, leur écart-type, ainsi que les nombres triés.


merci d'avance :)
A voir également:

29 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
1 mars 2012 à 15:14
Bonjour,

Si c'est un devoir, tu l'as forcément commencé.
Ou en es tu?
Quel code as tu écris?
Copies- colles ce que tu as déjà, nous verrons pour le reste...
0
bah le problème c'est que je ne sais pas par ou commencer, je n'ai aucun cours, ou du moins ce qu'on peut appeler de tel....
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
1 mars 2012 à 16:12
Comme tu l'as dit, nous n'allons pas tout te faire.
Nous n'allons pas non plus tout chercher pour toi...
Exemples :
- Demander à l'utilisateur de saisir un nombre entier N compris entre 100 et 10000.
- Générer par la suite N nombres entiers pseudo-aléatoires compris entre 10 et 20.
- Afficher la liste de nombres générée
etc ...
Regarde déjà ces liens, et reviens poser des questions.
0
- pour le premier lien, qu'est ce qui est appelé des chariots ? Si l'utilisateur n'entre pas une valeur dans l'intervalle demandé, comment gérer ce phénomène ?

- dans mon cas, le programme que je devrais rentrée ne serait il pas :

Dim MyValue As Integer

Randomize ' Initialise le générateur de nombre aléatoire.

MyValue = CInt(Int((20 * Rnd()) + 10)) ' Génère un nombre aléatoire entre 10 et 20.
?

- pour le 3eme lien... j'ai pas compris grand chose, est-ce qu'on peut faire cette partie comme quand on programme un tableau ?


une autre question, j'ai éssayé de faire hier 'Randomize" mais apparamment VB ne connait pas puisque qu'il attend un expression, hors je pensais qu'il n'y avait rien a entrer
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
1 mars 2012 à 16:33
J'essaie de t'aider bien que je n'ai jamais programmé en VB.
Attends quequ'un de calé pour t'aider...
A+
0
merci quand même
et encore une fois je suis pas là pour qu'on le fasse à ma place, mais pour au moins avoir une démarche à suivre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
personne ? ^^
0
bon apparemment personne de caler pour répondre ^^
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
4 mars 2012 à 13:34
Bonjour,
Faudrait déjà savoir... avec quel VB ???
A+
0
le 2008
0
j'ai réussi quelques trucs, mais il me reste toujours à trouver la fonction qui me permettrais de calculer une moyenne et un écart-type
0
je cherchais également à trier des nombres avec un bout de programme que j'avais déja fait :
Private Sub dosort() 'trier les nombres
Dim i, j As Integer
Dim nMoins1, valeur As Integer
Buttontrier.Enabled = False
For i = 0 To N - 1
letableau(i) = letableauinitial(i)
Next i
nMoins1 = N - 1
For j = 1 To nMoins1
i = j - 1
valeur = letableau(j)
While (i > 9) And (i < 21) And (valeur < letableau(i))
letableau(i + 1) = letableau(i)
i = i - 1
If (i < 0) Then
Exit While
End If
End While
letableau(i + 1) = valeur

Next j
For i = 0 To N - 1
ListBoxsorted.Items.Add(CStr(letableau(i)))

Next i

Buttontrier.Enabled = False
Buttoneffacer.Enabled = True



sauf que dans mon cas je veux trier seulement des nombres entre 10 et 20, comment dois je faire ?
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
7 mars 2012 à 19:02
Aller, je vais reprendre malgré que j'avais pensé abandonner ce topic.
1°) N n'est pas déclarer et provient d'où ?
2°) Dans une boucle, si tu met une condition et quel ne serra jamais vraie tu bloque ton programme.
3°) Pourquoi transférer le tableau letableauinitial dans le tableau letableau ?
Explique ce que tu veux réaliser avec ce code sans faire référence au code.
J'ai bien une idée mais je ne sais pas si c'est la bonne, dans le tableau letableau tu veux mettre les valeurs comprises entre 10 et 20
Tu dis.

A+
0
N est un valeur global déclarée au préalable

Alors soit je suis crevé, ou je change de lunette, ou est ce que je met une condition qui ne sera jamais vrai ? ^^

ton idée est la bonne
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 7/03/2012 à 22:54
ou est ce que je met une condition qui ne sera jamais vrai ? ^^
Tu verras cela à l'usage..et en attendant, d'accord... met des lunettes.
Tu ne devrais pas répondre de cette façon alors que tu n'est pas en mesure de tester ton code vu que.. Exit While ÇA N'EXISTE PAS DANS LA SYNTAXE

Mais comme je suis pas rancunier, essaye ce code,
    Dim letableau() 
    Sub Transfert() 
        Dim i As Integer, T As Integer = 0 
        For i = 0 To UBound(letableauinitial) 
            If letableauinitial(i) > 9 And letableauinitial(i) < 21 Then 
                ReDim Preserve letableau(T) 
                letableau(T) = letableauinitial(i) 
                T = T + 1 
            End If 
        Next 
        ListBoxsorted.Dispose()
        For i = 0 To UBound(letableau) 
            ListBoxsorted.Items.Add(CStr(letableau(i))) 
        Next i 
    End Sub

Toutes les valeurs de letableauinitial qui sont entre 10 et 20 se retrouve dans le tableau letableau
et dans la listeBox
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
"Tu ne devrais pas répondre de cette façon", j'ai l'impression qu'il y de l'énervement alors que je ne suis pas agressif ....

j'ai testé ce code, mais j'ai un problème, lorsque je clique sur mon bouton "trier", ma listbox "ListBoxsorted" disparait, du coup impossible de savoir si c'est trier ^^

Pour ma culture pourrais tu m'expliquer quelques trucs, notamment, à quoi correspond "UBound" et " ReDim Preserve letableau(T) " ?

cdt
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 8/03/2012 à 21:19
Pour ma culture pourrais tu m'expliquer quelques trucs, notamment, à quoi correspond "UBound" et " ReDim Preserve letableau(T) " ?

Dans le code tu sélectionne Ubound (double clic dessus) il se met en bleu et tu tape F1.
Idem pour tout les mots que tu connais pas.

Et remplace la ligne
ListBoxsorted.Dispose()

par
ListBoxsorted.Items.Clear()

je me suis trompé.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
maintenant, ça m'affiche la même liste où j'ai généré les nombres ^^
0
Hacker?! Messages postés 137 Date d'inscription jeudi 25 décembre 2008 Statut Membre Dernière intervention 1 mai 2015 12
8 mars 2012 à 21:39
Utilise la fonction Random
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
9 mars 2012 à 13:25
y a quoi dans letableauinitial
0
ce sont les chiffres générés compris entre 10 et 20
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
10 mars 2012 à 02:41
A mon avis ..........tu veux rire un bon coup !!!!!!!!!!!!!!!!!!!!!!
Comment veux-tu avoir des différences ??
Si dans letableauinitial tu met des nombres entre 10 et 20
ensuite filtre tout les nombres qui sont entre 10 et 20 dans et les mettre dans letableau
c'est évident qu'il y seront tous et qu'il n'y aura pas de différence.
Vraiment, tu m'épate là.
dans letableauinitial met des nombres entre 1 et 30 et tu verra.
ou bien filtre entre 3 et 6 par exemple
0