Les rudiments du language c#
Nouhaila Bensalah
Chercheuse en IA/NLP
[email protected]
Nouhaila Bensalah Language c# 1 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 2 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 3 / 49
Les variables
Des blocs de mémoire.
Permettent de stocker une ou plusieurs données.
Peuvent avoir plusieurs valeurs différentes dans un programme.
permettent d’effectuer:
Des calculs mathématiques.
Enregistrer l’âge du visiteur.
Comparer des valeurs
Nouhaila Bensalah Language c# 4 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 5 / 49
Opérations de lecture et écriture
Pour lire une chaı̂ne saisie dans la console et l’enregistrer dans une variable:
string n = Console.ReadLine();
Pour afficher le contenu d’une variable dans la console:
Console.WriteLine(”Chaine saisie: {0}”, n);
Ou:
Console.WriteLine($”Chaine saisie: {n}”);
Remarques
string est le type de la valeur saisie et sauvegardée dans la variable n.
{} fait référence à la première variable située après le texte du
message à afficher.
$ permet de remplacer les variables situées entre {} par leurs valeurs
respectives
Nouhaila Bensalah Language c# 6 / 49
Les variables: Types et déclaration
Déclarer une variable:
type nomVariable;
Les principaux types de base du framework .NET sont:
Nouhaila Bensalah Language c# 7 / 49
Les variables: Types et déclaration
Déclarer une variable
int n;
Déclarer et initialiser une variable
int n = 5;
Les conversions entre nombres et chaı̂nes de caractères
nombre -> chaine: nombre.ToString()
chaine -> int: int.Parse(chaine) ou System.Int32.Parse ou
chaine -> long: long.Parse(chaine) ou System.Int64.Parse
chaine -> double: double.Parse(chaine) ou System.Double.Parse(chaine)
chaine -> float: float.Parse(chaine) ou System.Float.Parse(chaine)
Nouhaila Bensalah Language c# 8 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 9 / 49
Opérations sur les variables
Pour les variables numériques (int, float...)
= → affectation
+ → addition
- → soustraction
* → multiplication
/ → division
% → reste de la division
Nouhaila Bensalah Language c# 10 / 49
Opérations sur les variables
Exemples
int a = 5; int b = 2;
Console.WriteLine($”a + b”);
Console.WriteLine($”a − b”);
Console.WriteLine($”a ∗ b”);
Console.WriteLine($”a/b”);
Console.WriteLine($”(double)a/b”);
Console.WriteLine($”a%b”);
Nouhaila Bensalah Language c# 11 / 49
Opérations sur les variables
Opérateurs particuliers
i = i + 1 → i + +;
i = i − 1 → i − −;
i = i + 2 → i+ = 2;
i = i − 2 → i− = 2;
Nouhaila Bensalah Language c# 12 / 49
Opérations sur les variables
Exemples
int i = 2;
int j = i + +; //post-incrémentation
int i = 2;
int j = + + i; //pre-incrémentation
Nouhaila Bensalah Language c# 13 / 49
Opérations sur les variables
L’opérateur + pour concaténer les chaı̂nes de caractères
string codePostal = ”1500”;
string ville = ”Rabat”;
string pays = ”Maroc”;
string adresse = codePostal + ”” + ville + ”” + pays;
Nouhaila Bensalah Language c# 14 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 15 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 16 / 49
Les opérateurs de comparaison
Une condition se construit grâce à des opérateurs de comparaison. Les
plus courants sont:
Nouhaila Bensalah Language c# 17 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 18 / 49
If
Permet d’exécuter le code (...) si une condition est vraie
if (condition)
{
...
}
Exemple
decimal compteEnBanque = 300;
if (compteEnBanque >= 0)
Console.WriteLine(”Votre compte est créditeur”);
Nouhaila Bensalah Language c# 19 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 20 / 49
If ... else
if (condition)
{...}
else
{...}
Exemple
decimal compteEnBanque = 300;
if (compteEnBanque >= 0)
Console.WriteLine(”Votre compte est créditeur”);
else
Console.WriteLine(”Votre compte est débiteur”);
Nouhaila Bensalah Language c# 21 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 22 / 49
If ... else if ... else
On peut enchaı̂ner les conditions avec else if
if (condition1)
{
...
}
else if (condition2)
{
...
}
...
else
{
...
}
Nouhaila Bensalah Language c# 23 / 49
If ... else if ... else
Exemple
if (titre == ”Mme”)
Console.WriteLine(”Vous êtes une femme”);
else if (titre == ”Mlle”)
Console.WriteLine(”Vous êtes une femme non mariée”);
else if (titre == ”M.”)
Console.WriteLine(”Vous êtes un homme”);
else
Console.WriteLine(”Je n’ai pas pu déterminer votre civilité”);
Nouhaila Bensalah Language c# 24 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 25 / 49
switch
L’instruction switch peut être utilisée lorsqu’une variable peut prendre
beaucoup de valeurs.
switch (expression){
case x :
...
break;
case y :
...
break;
default :
...
break;
}
Nouhaila Bensalah Language c# 26 / 49
switch
Exemple
int nombre = 10;
switch (nombre) {
case 1 :
Console.WriteLine(”Un”);
break;
case 2 :
Console.WriteLine(”Deux”);
break;
case 3 :
Console.WriteLine(”Trois”);
break;
default :
Console.WriteLine(”Autre”);
break;
}
Nouhaila Bensalah Language c# 27 / 49
switch
Remarques
Le bloc défaut peut apparaı̂tre à n’importe quelle position dans
switch. Quelle que soit sa position, il est toujours évalué en dernier,
une fois que tous les blocs case ont été évaluées.
En l’absence d’un bloc default et si aucun bloc case n’est exécuté, le
bloc switch sera traversé sans être exécuté.
break permet de quitter switch.
Même dans bloc default, il faut placer un break.
Nouhaila Bensalah Language c# 28 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 29 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 30 / 49
La boucle while
Boucle while : à chaque itération on teste si la condition est vraie avant
d’accéder aux traitements
while (condition)
{
...
}
Exemple
int i = 0;
while(i < 5){
Console.WriteLine(i);
i + +;
}
Nouhaila Bensalah Language c# 31 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 32 / 49
La boucle do ... while
La Boucle do ... while exécute le bloc au moins une fois ensuite elle vérifie
la condition
do {
...
}
while(condition);
Exemple
int i = 0;
do{
Console.WriteLine(i);
i + +;
}
while(i < 5);
Nouhaila Bensalah Language c# 33 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 34 / 49
La boucle for
Elle permet de répéter un bout de code tant qu’une condition est vraie.
for (initialisation; condition; incrémentation){
...
}
Exemple
for (int i = 0; i < 5; i + +) {
Console.WriteLine(i);
}
Nouhaila Bensalah Language c# 35 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 36 / 49
Les tableaux
Une armoire dans laquelle on range des variables.
De même type.
le nombre de variables est fixé à la déclaration.
Chaque variable est posée sur une étagère.
On utilise le nom de l’armoire et on indique l’indice de l’étagère où est
stockée la variable afin d’accéder à la variable qui est posée sur une
étagère.
Nouhaila Bensalah Language c# 37 / 49
Les tableaux
Déclaration
type[] nomTableau = new type[nbrElement];
Exemple
int[] tab = new int[6];
Remarques
Tous les éléments du tableau sont initialises à 0.
tab[i]: permet d’accéder à l’élément d’indice i du tableau.
Le premier élément d’un tableau est d’indice 0.
On ne peut dépasser la taille initiale d’un tableau ni changer le type
déclaré.
Nouhaila Bensalah Language c# 38 / 49
Les tableaux
Déclaration et initialisation
int [] tab = new int [] {3, 5, 4, 9, 7, 1};
int [] tab = {3, 5, 4, 9, 7, 1};
tab[6] = 10; → IndexOutOfRangeException
Nouhaila Bensalah Language c# 39 / 49
Les tableaux
Parcourir un tableau avec un for
for (int i = 0; i < tab.Length; i + +) {
Console.WriteLine(tab[i]);
}
Parcourir un tableau avec un foreach
foreach (int n in tab) {
Console.WriteLine(n);
}
Nouhaila Bensalah Language c# 40 / 49
Les tableaux
Déclaration d’un tableau à deux dimensions
type[, ] nomTableau = new type[nbrlignes, nbrcolonnes];
Déclaration et initialisation
int [, ] tab2dim =
{1, 2},
{3, 4}
};
Nouhaila Bensalah Language c# 41 / 49
Les tableaux
Parcourir un tableau à deux dimensions avec un for
for (int i = 0; i < 2; i + +)
for (int j = 0; j < 2; j + +)
Console.WriteLine(tab[i, j]);
Parcourir un tableau à deux dimensions avec un foreach
foreach (int n in tab2dim) {
Console.Write(n);
}
Nouhaila Bensalah Language c# 42 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 43 / 49
Les Listes
Il y a des différences fondamentales entre une liste (utilisant List<T>) et
un tableau (tableau unidimensional):
1 Un tableau a une taille fixe lors de sa création. Une fois que la taille
d’un tableau est définie, elle ne peut pas être modifiée sans créer un
nouveau tableau. Une liste est dynamique et peut être
redimensionnée (ajout/suppression d’éléments) à tout moment.
2 L’ajout d’éléments à un tableau existant (sans créer un nouveau
tableau) est inefficace car il nécessite de copier les éléments existants.
Les listes sont plus efficaces pour l’ajout et la suppression d’éléments
car elles gèrent automatiquement la redimensionnement de manière
transparente.
Nouhaila Bensalah Language c# 44 / 49
Les listes
Déclaration et initialisation
List<double> maListe = new List<double>() {1.0, 2.0, 3.0, 4.0, 5.0}
Parcourir une liste avec un for
for (int i = 0; i < maListe.Count; i + +) {
Console.WriteLine(maListe[i]);
}
Parcourir une liste avec un foreach
foreach (int n in maListe) {
Console.WriteLine(n);
}
Nouhaila Bensalah Language c# 45 / 49
Outline
1 Les variables
Opérations de lecture et écriture
Opérations sur les variables
2 Les instructions conditionnelles
Les opérateurs de comparaison
If
If ... else
If ... else if ... else
switch
3 Structures itératives
La boucle while
La boucle do ... while
La boucle for
4 Les tableaux
5 Les listes
6 Les méthodes
Nouhaila Bensalah Language c# 46 / 49
Les méthodes
Le but de la méthode est de factoriser du code afin d’éviter d’avoir à
répéter sans arrêt le même code.
Exemple1
public static void AffichageBienvenueRhizlane()
Console.WriteLine(”Bonjour Rhizlane ”);
Console.WriteLine(”Bienvenue dans le monde merveilleux du C#”);
Nouhaila Bensalah Language c# 47 / 49
Les méthodes
Exemple2
public static void DireBonjour (string prenom, int age)
Console.WriteLine(”Bonjour ” +prenom);
Console.WriteLine(”Vous avez ” +age + ”ans”);
Console.WriteLine(”Bienvenue dans le monde merveilleux du C#”);
Nouhaila Bensalah Language c# 48 / 49
Les méthodes
Exemple3
public static double Somme(int n)
double somme = 0;
for (int i = 0; i <= n; i + +) {
somme+ = i;
return somme;
}
Nouhaila Bensalah Language c# 49 / 49