Proposez en Visual basic en mode console un programme demandant à l’utilisateur la saisie de 10 nombres premiers compris entre 1 et 100 qui seront sauvegardés dans un tableau linéaire, puis partant de ces 10 nombres, le programme calcule et affiche la somme ainsi que la moyenne de tous les nombres impairs.
Module Module1
Sub Main()
Dim A(9) As Integer
Dim i, n As Integer
Dim test As Boolean
'lecture de nombres premiers
i = 0
Do
Console.WriteLine("entrez un autre nombre premier entre 1 et 100")
5: n = CInt(Console.ReadLine())
test = True
For j As Integer = 2 To n - 1
If n Mod j = 0 Then
test = False
End If
Next
If n < 1 Or n > 100 Or test = False Then
Console.WriteLine("Le nombre saisi n'est pas premier ou n'est pas inclus de 1 à 100, recommencez")
GoTo 5
Else
A(i) = n
i += 1
End If
Loop Until i = 10
'calcul de la somme et moyenne de nombres impaires
Dim moyenne, somme, t As Integer
moyenne = 0
somme = 0
t = 0
For J As Integer = 0 To 9
If A(J) Mod 2 <> 0 Then
somme += A(J)
t += 1
End If
Next
If t = 0 Then
moyenne = 0
Else
moyenne = somme / t
End If
Console.WriteLine("La moyenne des nombres impairs vaut : " & moyenne)
Console.WriteLine("La somme des nombres impairs vaut : " & somme)
Console.ReadLine()
End Sub
End Module
Ecrire un programme en Visual basic en mode console utilisant un tableau linéaire de taille 50. Ce programme lit un nombre réel et l’insère dans le tableau si celui-ci est compris entre 65 et 100 et qu’il n’a jamais été inséré auparavant.
Module Module1
Sub Main()
Dim A(49) As Single
Dim n As Single
Dim test As Boolean
test = False
Console.WriteLine("Saisie des éléments du tableau")
For i As Integer = 0 To 49
Console.WriteLine("entrez l'élément n° " & i + 1)
A(i) = Val(Console.ReadLine())
Next
Console.WriteLine("entrez un nombre réel")
n = Val(Console.ReadLine())
For j As Integer = 0 To 49
If A(j) = n Then
test = True
End If
Next
If test = True Or (n < 65 Or n > 100) Then
Console.WriteLine("Le nombre a deja été inseré ou il n'est pas compris entre 65 et 100")
ElseIf test = False Then
'on redimensionne le tableau pour inserer l'élément
ReDim Preserve A(50)
A(50) = n
'on affiche le nouveau tableau
Console.WriteLine("Voici le nouveau tableau")
For i As Integer = 0 To 50
Console.WriteLine(A(i).ToString)
Next
End If
Console.ReadLine()
End Sub
End Module
Proposez en Visual Basic.Net en mode console, un programme demandant à l’utilisateur la saisie de 50 nombres quelconques compris entre 1 et 100 qui seront sauvegardés dans un tableau linéaire, puis partant de ces 50 nombres, le programme calcule et affiche la somme ainsi que la moyenne géométrique de tous les nombres divisibles par 5.
Module Module1
Sub Main()
Dim A(49) As Integer
Dim somme, produit As Integer
Dim g As Single
Dim i, n, t As Integer
i = 0
Do
Console.WriteLine("entrez un nombre compris entre 1 et 100")
5: t = Val(Console.ReadLine())
If t < 1 Or t > 100 Then
Console.WriteLine("Entrez seulement un nombre entre 1 et 100, recommencez")
GoTo 5
Else
Console.WriteLine("nombre correct")
A(i) = t
i += 1
End If
Loop Until i = 50
'calcul de la somme et de la moyenne des nombres divisibles par 5
somme = 0
produit = 1
n = 0
For J As Integer = 0 To 49
If A(J) Mod 5 = 0 Then
somme += A(J)
produit *= A(J)
n += 1
End If
Next
If n = 0 Then
g = 0
Else
g = (produit) ^ (1 / n)
End If
Console.WriteLine("La somme des nombres divisibles par 5 vaut :" & somme)
Console.WriteLine("La moyenne géometrique des nombres divisibles par 5 vaut: " & g)
Console.ReadLine()
End Sub
End Module
L’interclassement consiste à réunir en une seule liste triée, deux listes qui sont préalablement triées. Ecrire une procédure interclas qui reçoit en argument deux tableaux triés A de dimension N et B de dimension P, puis effectue l’interclassement et afficher le résultat final.
(Attention : sans utiliser l’algorithme de tri)
Module Module1
Sub Main()
Dim n, p, i, j As Integer
Console.WriteLine("entrez la taille du premier tableau")
n = CInt(Console.ReadLine())
Dim A(n - 1) As Integer
Console.WriteLine("entrez la taille du deuxieme tableau")
p = CInt(Console.ReadLine())
Dim B(p - 1) As Integer
Console.WriteLine("lecture des elements du premier tableau")
For i = 0 To n - 1
Console.WriteLine("entrez l'élément n° " & i + 1)
A(i) = CInt(Console.ReadLine())
Next
'on trie le tableau A
Array.Sort(A)
Console.WriteLine("lecture des elements du deuxieme tableau")
For i = 0 To p - 1
Console.WriteLine("entrez l'élément n° " & i + 1)
B(i) = CInt(Console.ReadLine())
Next
'on trie le tableau B
Array.Sort(B)
interclas(A, B)
End Sub
Sub interclas(ByVal A() As Integer, ByVal B() As Integer)
Dim i, k, j, m, n, p As Integer
n = A.Length
p = B.Length
m = n + p
Dim C(m - 1) As Integer
i = 0
k = 0
5: C(k) = A(i)
i += 1
k = i
If i <= n - 1 Then
GoTo 5
Else
j = 0
End If
10: k = j + n - 1
C(k) = B(j)
j += 1
If j <= p - 1 Then
GoTo 10
End If
Array.Sort(C)
Console.WriteLine("voici la fusion de deux tableaux")
For i = 0 To m - 1
Console.WriteLine(C(i).ToString)
Next
Console.ReadLine()
End Sub
End Module
Faites un programme en Visual Basic.Net qui entre 50 nombres, compris entre 10 et 100 inclusivement dans un tableau linéaire, puis affiche chaque nombre entré, si ce dernier n’a jamais été affiché auparavant. Assurez-vous de pouvoir traiter le « pire de scenario » qui consiste en une série de 50 nombres différents.
Module Module1
Sub Main()
Dim A(49) As Integer
Dim n, i As Integer
Dim test As Boolean
i = 0
Console.WriteLine("entrez un nombre entre 10 et 100")
Do
5: n = CInt(Console.ReadLine())
If n < 10 Or n > 100 Then
Console.WriteLine("entrez uniquement un nombre compris entre 10 et 100, recommencez")
GoTo 5
Else
A(i) = n
i += 1
Console.WriteLine("nombre correcte,entrez un autre nombre")
End If
Loop Until i = 50
'on affiche les nombres distincts du tableau
Console.WriteLine("voici les nombres distinct du tableau")
Console.WriteLine(A(0).ToString)
For i = 1 To 49
test = True
For j As Integer = 0 To i - 1
If A(j) = A(i) Then
test = False
End If
Next
If test = True Then
Console.WriteLine(A(i).ToString)
End If
Next
Console.ReadLine()
End Sub
End Module
Ecrire une procédure en Visual Basic en mode console, qui détermine, puis affiche le plus petit entier impair contenu dans un tableau d’entiers strictement positifs. Attention, si le tableau ne contient aucun entier impair, la procédure affichera le message « Le tableau ne contient aucun entier impair ».
Module Module1
Sub Main()
Dim n As Integer
Console.WriteLine("entrez la taille du tableau")
n = CInt(Console.ReadLine())
Dim A(n - 1) As Integer
'lecture des éléments du tableau
Console.WriteLine("Saisie des éléments du tableau")
For i As Integer = 0 To n - 1
Do
Console.WriteLine("entrez l'elemnent n °" & i + 1)
A(i) = CInt(Console.ReadLine())
Loop Until A(i) > 0
Next
determine(A)
Console.ReadLine()
End Sub
Sub determine(ByVal A() As Integer)
Dim min As Integer
Dim n As Integer
n = A.Length
'recherche premier entier impair
Dim j, pos As Integer
Dim test As Boolean = False
j = 0
Do
If A(j) Mod 2 <> 0 Then
pos = j
test = True
Else
j += 1
End If
Loop Until test = True Or j = n
'recherche du plus petit nombre impair
min = A(j)
For I As Integer = j + 1 To n - 1
If A(I) Mod 2 <> 0 Then
If A(I) < min Then
min = A(I)
End If
End If
Next
If min Mod 2 = 0 Then
Console.WriteLine("Le tableau ne contient pas de nombre impair")
Else
Console.WriteLine("Le plus petit nombre impair est " & min)
End If
End Sub
End Module
Faites un programme VB qui lit les noms d’un nombre déterminé d’étudiants, puis affiche chaque nom entré, si ce dernier n’a jamais été affiché auparavant. Assurez-vous de pouvoir tenir compte de toutes les casses possibles (par exemple les lettres minuscules correspondent aux lettres majuscules)
Module Module1
Sub Main()
Dim n As Integer
Console.WriteLine("Entrez le nombre d'étudiants")
n = CInt(Console.ReadLine())
Dim Noms(n - 1) As String
For i As Integer = 0 To n - 1
Console.WriteLine("Saisir le nom du " & i + 1 & "e étudaint")
Noms(i) = Console.ReadLine()
Next
Console.WriteLine("voici les noms des étudiants")
Console.WriteLine("Sans tenir compte des majuscules et minuscules")
Console.WriteLine(Noms(0))
For i As Integer = 1 To n - 1
Dim test As Boolean = False
For J As Integer = 0 To i - 1
If UCase(Noms(J)) = UCase(Noms(i)) Then
test = True
End If
Next
If test = False Then
Console.WriteLine(Noms(i))
End If
Next
Console.WriteLine("En tenant compte des majuscules et minuscules")
Console.WriteLine(Noms(0))
For i As Integer = 1 To n - 1
Dim test As Boolean = False
For J As Integer = 0 To i - 1
If Noms(J) = Noms(i) Then
test = True
End If
Next
If test = False Then
Console.WriteLine(Noms(i))
End If
Next
Console.ReadLine()
End Sub
End Module