Série d’Exercices Corrigés sur VB.Net
Voici une série d’exercices corrigés sur VB.Net. Ils couvrent différents aspects du langage, de la syntaxe de base à des concepts plus avancés comme les objets et les bases de données.
Exercice 1 : Affichage d’un message
Objectif : Apprendre les bases de la syntaxe et l’utilisation des boîtes de dialogue.
Énoncé : Écrivez un programme en VB.Net qui affiche “Bonjour, monde !” dans une boîte de message.
Solution :
Module Module1
Sub Main()
MsgBox("Bonjour, monde !")
End Sub
End Module
Exercice 2 : Addition de deux nombres
Objectif : Travailler avec les entrées utilisateur et les conversions.
Énoncé : Créez une application qui demande à l’utilisateur de saisir deux nombres, puis affiche leur somme.
Solution :
Module Module1
Sub Main()
Dim nombre1 As Integer
Dim nombre2 As Integer
nombre1 = CInt(InputBox("Entrez le premier nombre :"))
nombre2 = CInt(InputBox("Entrez le deuxième nombre :"))
MsgBox("La somme est : " & (nombre1 + nombre2))
End Sub
End Module
Exercice 3 : Vérification d’un nombre pair ou impair
Objectif : Comprendre les structures conditionnelles.
Énoncé : Écrivez un programme qui vérifie si un nombre saisi par l’utilisateur est pair ou impair.
Solution :
Module Module1
Sub Main()
Dim nombre As Integer
nombre = CInt(InputBox("Entrez un nombre :"))
If nombre Mod 2 = 0 Then
MsgBox("Le nombre est pair.")
Else
MsgBox("Le nombre est impair.")
End If
End Sub
End Module
Exercice 4 : Création d’une classe
Objectif : Travailler avec des objets et des classes.
Énoncé : Créez une classe Personne
avec deux propriétés Nom
et Prénom
. Ajoutez une méthode qui affiche les informations complètes d’une personne.
Solution :
Class Personne
Public Nom As String
Public Prenom As String
Public Sub AfficherInformations()
Console.WriteLine("Nom : " & Nom & ", Prénom : " & Prenom)
End Sub
End Class
Module Module1
Sub Main()
Dim personne As New Personne()
personne.Nom = "Dupont"
personne.Prenom = "Jean"
personne.AfficherInformations()
Console.ReadLine()
End Sub
End Module
Exercice 5 : Gestion des fichiers
Objectif : Lire et écrire dans un fichier.
Énoncé : Écrivez un programme qui crée un fichier texte, y écrit une chaîne de caractères, puis lit et affiche son contenu.
Solution :
Imports System.IO
Module Module1
Sub Main()
Dim chemin As String = "exemple.txt"
Dim texte As String = "Bonjour, ceci est un fichier texte créé en VB.Net."
' Écriture dans le fichier
File.WriteAllText(chemin, texte)
' Lecture du fichier
Dim contenu As String = File.ReadAllText(chemin)
MsgBox("Contenu du fichier : " & contenu)
End Sub
End Module
Exercice 6 : Connexion à une base de données
Objectif : Manipuler une base de données avec VB.Net.
Énoncé : Connectez-vous à une base de données SQLite et affichez les données d’une table.
Solution :
Imports System.Data.SQLite
Module Module1
Sub Main()
Dim connectionString As String = "Data Source=base_de_donnees.db;Version=3;"
Dim connexion As New SQLiteConnection(connectionString)
Try
connexion.Open()
Dim commande As New SQLiteCommand("SELECT * FROM utilisateurs", connexion)
Dim lecteur As SQLiteDataReader = commande.ExecuteReader()
While lecteur.Read()
Console.WriteLine("ID: " & lecteur("id") & " - Nom: " & lecteur("nom"))
End While
Catch ex As Exception
Console.WriteLine("Erreur : " & ex.Message)
Finally
connexion.Close()
End Try
Console.ReadLine()
End Sub
End Module
Exercice 7 : Gestion des erreurs
Objectif : Utiliser Try...Catch
.
Énoncé : Écrivez un programme qui divise deux nombres et gère les erreurs potentielles (par exemple, division par zéro).
Solution :
Module Module1
Sub Main()
Try
Dim num1 As Integer = CInt(InputBox("Entrez le premier nombre :"))
Dim num2 As Integer = CInt(InputBox("Entrez le deuxième nombre :"))
Dim resultat As Integer = num1 / num2
MsgBox("Le résultat est : " & resultat)
Catch ex As DivideByZeroException
MsgBox("Erreur : Division par zéro non autorisée.")
Catch ex As Exception
MsgBox("Erreur : " & ex.Message)
End Try
End Sub
End Module
Exercice 8 : Boucles et Table de Multiplication
Objectif : Apprendre à utiliser les boucles.
Énoncé : Écrivez un programme qui demande à l’utilisateur de saisir un nombre, puis affiche la table de multiplication de ce nombre de 1 à 10.
Solution :
Module Module1
Sub Main()
Dim nombre As Integer = CInt(InputBox("Entrez un nombre :"))
Dim resultat As String = ""
For i As Integer = 1 To 10
resultat &= nombre & " x " & i & " = " & (nombre * i) & vbCrLf
Next
MsgBox(resultat)
End Sub
End Module
Exercice 9 : Recherche dans une liste
Objectif : Manipuler des collections.
Énoncé : Créez une liste contenant des prénoms. Demandez à l’utilisateur de saisir un prénom et indiquez si ce prénom se trouve dans la liste.
Solution :
Module Module1
Sub Main()
Dim prenoms As New List(Of String) From {"Jean", "Marie", "Paul", "Claire", "Luc"}
Dim recherche As String = InputBox("Entrez un prénom à rechercher :")
If prenoms.Contains(recherche) Then
MsgBox("Le prénom " & recherche & " est dans la liste.")
Else
MsgBox("Le prénom " & recherche & " n'est pas dans la liste.")
End If
End Sub
End Module
Exercice 10 : Calcul de Factorielle
Objectif : Travailler avec des fonctions récursives.
Énoncé : Écrivez un programme qui calcule la factorielle d’un nombre donné.
Solution :
Module Module1
Function Factorielle(n As Integer) As Integer
If n <= 1 Then
Return 1
Else
Return n * Factorielle(n - 1)
End If
End Function
Sub Main()
Dim nombre As Integer = CInt(InputBox("Entrez un nombre pour calculer sa factorielle :"))
Dim resultat As Integer = Factorielle(nombre)
MsgBox("La factorielle de " & nombre & " est " & resultat)
End Sub
End Module
Exercice 11 : Gestionnaire de Contacts
Objectif : Travailler avec des tableaux.
Énoncé : Créez un programme qui stocke et affiche les informations de contacts (nom et numéro de téléphone) dans un tableau.
Solution :
Module Module1
Sub Main()
Dim contacts(,) As String = {
{"Jean", "123-456"},
{"Marie", "789-012"},
{"Paul", "345-678"}
}
Dim affichage As String = "Liste des contacts : " & vbCrLf
For i As Integer = 0 To contacts.GetLength(0) - 1
affichage &= "Nom : " & contacts(i, 0) & ", Téléphone : " & contacts(i, 1) & vbCrLf
Next
MsgBox(affichage)
End Sub
End Module
Exercice 12 : Calculateur de Moyenne
Objectif : Travailler avec des tableaux et des boucles.
Énoncé : Écrivez un programme qui permet à l’utilisateur d’entrer plusieurs notes, puis calcule et affiche la moyenne.
Solution :
Module Module1
Sub Main()
Dim nbNotes As Integer = CInt(InputBox("Combien de notes voulez-vous saisir ?"))
Dim notes(nbNotes - 1) As Double
Dim somme As Double = 0
For i As Integer = 0 To nbNotes - 1
notes(i) = CDbl(InputBox("Entrez la note " & (i + 1) & " :"))
somme += notes(i)
Next
Dim moyenne As Double = somme / nbNotes
MsgBox("La moyenne des notes est : " & moyenne)
End Sub
End Module
Exercice 13 : Chronomètre
Objectif : Travailler avec la gestion du temps.
Énoncé : Écrivez un programme qui démarre un chronomètre, attend 5 secondes, et affiche ensuite un message.
Solution :
Module Module1
Sub Main()
MsgBox("Le chronomètre démarre maintenant !")
Threading.Thread.Sleep(5000)
MsgBox("5 secondes se sont écoulées.")
End Sub
End Module
Exercice 14 : Calcul de l’IMC
Objectif : Créer une application simple avec des calculs.
Énoncé : Écrivez un programme qui calcule l’Indice de Masse Corporelle (IMC) en fonction de la taille (en mètres) et du poids (en kg) saisis par l’utilisateur.
Solution :
Module Module1
Sub Main()
Dim poids As Double = CDbl(InputBox("Entrez votre poids (kg) :"))
Dim taille As Double = CDbl(InputBox("Entrez votre taille (m) :"))
Dim imc As Double = poids / (taille ^ 2)
MsgBox("Votre IMC est : " & Math.Round(imc, 2))
End Sub
End Module
Exercice 15 : Générateur de Nombres Aléatoires
Objectif : Travailler avec la classe Random
.
Énoncé : Créez un programme qui génère et affiche 5 nombres aléatoires entre 1 et 100.
Solution :
Module Module1
Sub Main()
Dim rand As New Random()
Dim nombres As String = "Nombres aléatoires : " & vbCrLf
For i As Integer = 1 To 5
nombres &= rand.Next(1, 101) & vbCrLf
Next
MsgBox(nombres)
End Sub
End Module