Outils pour utilisateurs

Outils du site


bloc1:fichesavoirstableaux1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc1:fichesavoirstableaux1 [2024/10/13 22:52] techer.charles_educ-valadon-limoges.frbloc1:fichesavoirstableaux1 [2024/10/13 23:20] (Version actuelle) – [Recherche séquentielle dans un tableau non trié] techer.charles_educ-valadon-limoges.fr
Ligne 28: Ligne 28:
 Un **tableau dynamique** a une taille qui est **définie lors de l'exécution du programme**.  La taille du tableau est alors définie au moment de l’exécution du programme et en fonction du déroulement de ce programme. Cela permet d'avoir une **allocation dynamique de mémoire** en fonction des besoins. Un **tableau dynamique** a une taille qui est **définie lors de l'exécution du programme**.  La taille du tableau est alors définie au moment de l’exécution du programme et en fonction du déroulement de ce programme. Cela permet d'avoir une **allocation dynamique de mémoire** en fonction des besoins.
  
-===== Déclarer un tableau =====+===== Déclarer un tableau statique=====
  
 Pour déclarer un tableau en C# il faut que  Pour déclarer un tableau en C# il faut que 
Ligne 40: Ligne 40:
 int[] notes = new int[4]; int[] notes = new int[4];
 </code> </code>
 +
 ===== Utiliser un tableau statique de données ===== ===== Utiliser un tableau statique de données =====
 Un tableau s’utilise comme une variable mais en précisant l’indice de la case concernée. Un tableau s’utilise comme une variable mais en précisant l’indice de la case concernée.
Ligne 63: Ligne 64:
 } }
 </code> </code>
 +
  
 Pour initialiser un tableau lors de sa déclaration, procédez de la manière suivante :  Pour initialiser un tableau lors de sa déclaration, procédez de la manière suivante : 
-<code>+ 
 +<code c#>
 int[] monTableau = new int[] {1, 2, 3, 4, 5}; int[] monTableau = new int[] {1, 2, 3, 4, 5};
 +
 </code> </code>
 +
 <WRAP center round todo> <WRAP center round todo>
 **Exercice 1** **Exercice 1**
Ligne 74: Ligne 79:
   * Le programme doit permettre de saisir 5 températures entières entre -20 et +40 (sans contrôler la saisie) ;   * Le programme doit permettre de saisir 5 températures entières entre -20 et +40 (sans contrôler la saisie) ;
   * Le programme doit ensuite afficher combien de températures sont négatives et combien de températires sont positives   * Le programme doit ensuite afficher combien de températures sont négatives et combien de températires sont positives
 +
 +</WRAP>
 +
 +
 +
 +
 +===== Tableau dynamique =====
 +Un tableau dynamque en C# est une liste de données qui peut changer de taille pendant l’exécution du programme.
 +
 +Une liste est une collection ordonnée d’éléments. Chaque élément a un index, et il est possible d'ajouter, d'insérer, de supprimer et de trouver des éléments à n’importe quel endroit dans la liste.
 +
 +Pour utiliser les listes en C#, il faut inclure le namespace en haut de ton fichier
 +<code c#>
 +using System.Collections.Generic;
 +</code>
 +
 +==== Déclaration d’une liste ====
 +La déclaration d’une liste en C# est similaire à celle d’un tableau, mais elle utilise la classe List<T>, où T est le type de données que la liste va stocker.
 +
 +<code c#>
 +List<int> maListe = new List<int>();
 +</code>
 +
 +Dans cet exemple, **<int>** est le type de la liste, **maListe** est le nom de la liste, et new List<int>() est l’instance de la liste.
 +
 +Il n'est pas nécessaire de spécifier une taille lors de la déclaration d’une liste car les sont dynamiques et peuvent changer de taille. 
 +
 +Par défaut, une liste nouvellement créée ne contient aucun élément.
 +
 +Pour déclarer et et initialiser une liste en même temps, tout comme un tableau :
 +<code c#>
 +List<int> maListe = new List<int> {1, 2, 3, 4, 5};
 +</code>
 +
 +=== Ajouter un élément à la fin de la liste ===
 +
 +La méthode **Add()** est utilisée pour ajouter un élément à la fin de la liste. 
 +<code c#>
 +List<int> maListe = new List<int>(); // créer une nouvelle liste vide
 +maListe.Add(1); // ajouter 1 à la liste
 +maListe.Add(2); // ajouter 2 à la liste
 +</code>
 +
 +=== Ajouter plusieurs éléments à la fin de la liste ===
 +La méthode **AddRange()** prend une collection d’éléments et les ajoute à la fin de la liste.
 +<code c#>
 +List<int> maListe = new List<int>(); // créer une nouvelle liste vide
 +maListe.AddRange(new int[] {1, 2, 3, 4, 5}); // ajouter plusieurs éléments à la liste
 +</code>
 +Après cette instruction, maListe contient les valeurs {1, 2, 3, 4, 5}.
 +
 +=== Insérer un élément à une position spécifique ===
 +
 +Pour insérer un élément à une position spécifique de la liste, plutôt qu’à la fin, on utilise la méthode **Insert()** qui prend deux paramètres : 
 +  * l’index à laquelle l’élément doit être inséré 
 +  * et l’élément à insérer :
 +<code c#>
 +List<int> maListe = new List<int>() {1, 2, 3, 4, 5}; // créer et initialiser une liste
 +maListe.Insert(2, 10); // insérer 10 à l’index 2
 +</code>
 +
 +=== Supprimer un élément de la liste ===
 +La méthode **Remove()** permet de supprimer des éléments d'une liste.
 +
 +<WRAP center round info >
 +  * Tutoriel de Microsoft Learn : https://learn.microsoft.com/fr-fr/dotnet/csharp/tour-of-csharp/tutorials/list-collection
 +  * Apprendre C# : https://learn.microsoft.com/fr-fr/shows/csharp-for-beginners/ 
 </WRAP> </WRAP>
  
 <WRAP center round todo> <WRAP center round todo>
 **Exercice 2** **Exercice 2**
-  * Documentez-vous sur la gestion de **tableau dynamique** en C#  
   * Créez un nouveau projet TableauExercice2.   * Créez un nouveau projet TableauExercice2.
   * Reprenez le code de l'exercice 1 et utilisez un tableau dynamique en lieu et place du tableau statique   * Reprenez le code de l'exercice 1 et utilisez un tableau dynamique en lieu et place du tableau statique
Ligne 111: Ligne 182:
   * Dans le cas où elle a été trouvée, il faut préciser la position dans le vecteur.   * Dans le cas où elle a été trouvée, il faut préciser la position dans le vecteur.
 On ne s'inquiètera pas du problème lié à une saisie erronée au niveau du type d'une variable. On ne s'inquiètera pas du problème lié à une saisie erronée au niveau du type d'une variable.
 +
 </WRAP> </WRAP>
  
Ligne 119: Ligne 191:
   * Le programme doit permettre de saisir le nombre de notes à gérer ;   * Le programme doit permettre de saisir le nombre de notes à gérer ;
   * Puis vous permettre des saisir les notes en les rangeant dans un tableau à une dimension pouvant contenir le nombre de notes voulus.   * Puis vous permettre des saisir les notes en les rangeant dans un tableau à une dimension pouvant contenir le nombre de notes voulus.
-  * Le programme doit alors calculer la moyenne des notes et l'afficher +  * Le programme doit alors calculer la moyenne des notes et l'afficher.
-    * **sans faire appel à une fonction** ; +
-    * puis en faisant **appel à une fonction** qui reçoit en paramètre le tableau de notes et qui retourne la moyenne.+
  
 En C#, pour obtenir la taille d’un tableau, il faut utiliser **Length** sur le tableau. Par exemple, si le tableau s’appelle notes, alors notes.Length donne sa taille. En C#, pour obtenir la taille d’un tableau, il faut utiliser **Length** sur le tableau. Par exemple, si le tableau s’appelle notes, alors notes.Length donne sa taille.
  
 </WRAP> </WRAP>
 +
 ===== Les tableaux à deux dimensions ===== ===== Les tableaux à deux dimensions =====
   * Les tableaux qui ont été présentés étaient à une dimension.   * Les tableaux qui ont été présentés étaient à une dimension.
bloc1/fichesavoirstableaux1.1728852740.txt.gz · Dernière modification : 2024/10/13 22:52 de techer.charles_educ-valadon-limoges.fr