Programmation .Net - Indépendance financière

Les Collections.Generic en Visual Basic/C# – Exercice et solution

Exercice

Dans cet exercice, vous devez créer une petite grille d’arrivés dans un Dictionary, c’est à dire que chaque position sera associée à un nom de joueur.

1. Créer un Dictionary contenant des clés de type Integer et des valeurs de type String.
2. Ajouter les éléments suivants: (1, “Player 5”), (2, “Player 1”), (3, “Player 3”), (4, “Player 2”) and (5, “Player 4”). Ceci compte pour les positions finales de la course.
3. Afficher le nombre total de joueurs dans la console.
4. interchanger le Player 5 qui est à la position 1 par le Player 4 qui est à la position 5.
5. Afficher tout les joueurs et leur position respective dans la console.
6. Supprimer toutes les données du Dictionary.

Pour cet exercice vous avez le choix du langage de programmation! C’est donc que la solution sera disponible dès demain en Visual Basic et en C#!

Bonne chance!

Solution

Voici la solution pour l’exercice sur les Collections.Generic en Visual Basic et C#. Vous constaterez quelques différences mineures entre les deux langages, toutefois ils se ressemblent beaucoup.

Visual Basic

Module Program
    Sub Main()
        '1. Création du Dictionary
        Dim Positions = New Dictionary(Of Integer, String)

        '2. Ajout des valeurs
        Positions.Add(1, "Player 5")
        Positions.Add(2, "Player 1")
        Positions.Add(3, "Player 3")
        Positions.Add(4, "Player 2")
        Positions.Add(5, "Player 4")

        '3. Afficher le nombre de coureurs
        Console.WriteLine("There are {0} positions in the grid.", Positions.Count)

        '4. Remplacement du joueur à la position 1 par celui à la position 5
        Positions.Remove(1)
        Positions.Remove(5)

        Positions.Add(1, "Player 4")
        Positions.Add(5, "Player 5")

        '5. Affichage des joueurs et de leur position
        For Index As Integer = 1 To Positions.Count Step 1
            Console.WriteLine("{0} arrived at position {1}.", Positions(Index), Index)
        Next

        '6. Suppression de toutes les valeurs dans le Dictionary
        Positions.Clear()
        Console.ReadKey()
    End Sub
End Module

C#

using System;
using System.Collections.Generic;

namespace Exercise4CSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            //1. Création du Dictionary
            Dictionary Positions = new Dictionary();

            //2. Ajout des valeurs
            Positions.Add(1, "Player 5");
            Positions.Add(2, "Player 1");
            Positions.Add(3, "Player 3");
            Positions.Add(4, "Player 2");
            Positions.Add(5, "Player 4");

            //3. Display the number of racers
            Console.WriteLine("There are {0} positions in the grid.", Positions.Count);

            //4. Remplacement du joueur à la position 1 par celui à la position 5
            Positions.Remove(1);
            Positions.Remove(5);

            Positions.Add(1, "Player 4");
            Positions.Add(5, "Player 5");

            //5. Affichage des joueurs et de leur position
            for (int Index = 1; Index <= Positions.Count; Index++)
                Console.WriteLine("{0} arrived at position {1}.", Positions[Index], Index);

            //6. Suppression de toutes les valeurs dans le Dictionary
            Positions.Clear();
            Console.ReadKey();
        }
    }
}

Remarques

Pour le numéro 4, j’ai décidé de supprimer les deux éléments puis de les ajouter, vous auriez pu les avoir gardés dans des variables pour ensuite les remettre, plusieurs solutions sont possibles, aussi longtemps que le résultat final est le même!

Pour le numéro 5, j’ai utilisé une boucle for principalement parce que l’on connait le nombre d’itérations à effectuer. Le Count vient donc nous aider dans cette situation.

En outre, je ne crois pas qu’il y ait d’autres difficultés dans ce problème, si vous avez des questions, n’hésitez pas à les mettre dans les commentaires! Ne lâchez pas!

YouTube

Next article Classes et programmation orientée objet en Visual Basic/C#
Previous article Comment utiliser la Stack/Pile en Visual Basic/C#

Related posts

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Comment

Your data will be safe! Your e-mail address will not be published. Also other data will not be shared with third person. Required fields marked as *