VB.NET

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

Autres articles

Guide : Trier un Tableau en VB.Net
Trier un tableau en VB.Net consiste à organiser ses éléments...
Read more
Guide : Désérialiser un Tableau JSON avec...
Newtonsoft.Json (ou Json.NET) est une bibliothèque populaire pour la manipulation...
Read more
Guide : Tableaux d’Objets en VB.Net
Un tableau d’objets en VB.Net est une structure de données...
Read more
Guide : Créer et Manipuler une Liste...
En VB.Net, une liste est une collection dynamique qui permet...
Read more
Guide : Manipulation des Tableaux de Chaînes...
Un tableau de chaînes en VB.Net est une collection ordonnée...
Read more
Guide pratique : Déclaration d’un objet en...
La déclaration d’un objet en VB.NET est une tâche fondamentale...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *