TP1 :
1) Les instructions conditionnelles
Dans nos programmes C#, nous allons régulièrement avoir besoin de faire des opérations en fonction
d'un résultat précédent. Il s'agit de ce que l'on appelle une condition, elle est évaluée lors de
l'exécution et en fonction de son résultat (vrai ou faux) nous ferons telle ou telle chose.
Les opérateurs de comparaison
Une condition se construit grâce à des opérateurs de comparaison. On dénombre plusieurs
opérateurs de comparaisons, les plus courants sont :
Opérateur Description
== Egalité
!= Différence
> Supérieur à
< Inférieur à
>= Supérieur ou égal
<= Inférieur ou égal
&& ET logique
|| OU logique
! Négation
L'instruction « if » : Elle permet d’exécuter du code si une condition est vraie.
Exemple : Code C#
Console.WriteLine("Veuillez saisir un chiffre");
int chiffre = Convert.ToInt32(Console.ReadLine());
if (chiffre > 0)
Console.WriteLine("Chiffre positif");
else if (chiffre < 0)
Console.WriteLine("Chiffre négatif");
else
Console.WriteLine("Chiffre nul");
Exercice 1
1) Ecrire un programme (en utilisant l’instruction if) qui permet à un médecin de saisir son nom
d’utilisateur et son mot de passe pour accéder à son compte. Le programme doit être capable de les
vérifier et afficher :
le message « Bienvenue Docteur », si le nom d’utilisateur et le mot de passe sont corrects
le message « login incorrect », si l’un deux est incorrect
2) Ajouter un deuxième accès pour un autre médecin
Exercice 2
Ecrire un programme (en utilisant l’instruction if) qui permet de saisir un entier représentant le
nombre de battements d’un patient. Le programme doit être capable de reconnaître si ce rythme est
normal, si c’est une tachycardie ou une bradycardie tel que :
Rythme cardiaque normal entre 60 et 100 battements
Tachycardie supérieure à 100 battements
Bradycardie inférieure à 60 battements
L'instruction « Switch »
Switch commence par évaluer la variable qui lui est passée entre parenthèses. Avec le mot clé Case
les différents cas possible sont énumérés pour la variable et les instructions correspondante sont
exécutés jusqu’au mot clé break qui signifie la sortie de Switch.
Exemple : avoir le numéro d’enregistrement de la salle d’un patient
Code C# :
Console.WriteLine("Veuillez saisir le nom du patient");
string nom_patient = Console.ReadLine();
switch (nom_patient)
{
case "A":
case "B":
case "C":
Console.WriteLine("Ce patient se trouve dans la salle \"1\"");
break;
case "D":
case "E":
case "F":
Console.WriteLine("Ce patient se trouve dans la salle \"2\"");
break;
case "G":
case "H":
case "I":
Console.WriteLine("Ce patient se trouve dans la salle \"3\"");
break;
default:
Console.WriteLine("Ce patient n'est enregistrer dans aucune salle");
break;
}
Exercice 3
Soit un cabinet médical associant 4 médecins, chacun ayant un numéro de poste représentant leur
bureau respectivement :
Poste 1 pour le bureau du médecin A
Poste 2 pour le bureau du médecin B
Poste 3 pour le bureau du médecin C
Poste 4 pour le bureau du médecin D
Ecrire un programme (en utilisant l’instruction switch) qui permet de reconnaitre le numéro de poste
adéquat pour chaque médecin choisi.
Exercice 4
Soit un groupe de 12 patients ayant chacun un rendez-vous avec l’un des quatre médecins du cabinet
précédent. Les rendez-vous sont organisés comme suit :
Les trois premiers patients ont un rendez-vous avec le médecin 1 aux mois de Janvier, Février, Mars
respectivement
Les patients 4, 5, 6 ont un rendez-vous avec le médecin 2 aux même mois respectivement
Les patients 7, 8, 9 ont un rendez-vous avec le médecin 3 aux même mois respectivement
Les trois derniers patients ont un rendez-vous avec le médecin 4 aux même mois respectivement
Ecrire un programme (en utilisant l’instruction switch) qui permet de préciser le médecin et le mois
du rendez-vous pour chaque patient choisi.
2) Les boucles
Elles sont souvent utilisées pour parcourir des éléments énumérables. Elles peuvent également être
utilisées pour effectuer la même action tant qu'une condition n'est pas réalisée.
La boucle For
La boucle for permet de répéter un bout de code tant qu’une condition est vraie. Souvent cette
condition est un compteur. Nous pouvons par exemple afficher un message 50 fois avec le code
suivant :
Code C# :
int compteur;
for (compteur = 0; compteur < 50; compteur++)
{
Console.WriteLine("Bonjour C#");
}
La variable compteur est accessible dans la boucle et change de valeur à chaque itération.
Code C# :
int compteur;
for (compteur = 0; compteur < 50; compteur++)
{
Console.WriteLine("Bonjour C#" + compteur);
}
Exercice 5
Soit un groupe de 10 patients enregistrés dans 10 salles différentes (numérotée de 1 à 10). Ecrire un
programme (en utilisant la boucle for) qui permet de préciser les numéros de salles pour tout les
patients.
La boucle Foreach
Comme il est très courant d’utiliser les boucles pour parcourir un tableau ou une liste, le C# dispose
d’un opérateur particulier : foreach que l’on peut traduire par « pour chaque » : pour chaque
élément du tableau faire …
Code C# :
string[] jours = new string[] { "Lundi", "Mardi", "Mercredi", "Jeudi",
"Vendredi", "Samedi", "Dimanche" };
foreach (string jour in jours)
{
Console.WriteLine(jour);
}
Cette boucle va nous permettre de parcourir tous les éléments du tableau « jours ». À chaque
itération, la boucle va créer une chaine de caractères « jour » qui contiendra l’élément courant du
tableau.
La boucle While
La boucle while est en général moins utilisée que for ou foreach. C’est la boucle qui va nous
permettre de faire quelque chose tant qu’une condition n’est pas vérifiée. Elle ressemble de loin à la
boucle for, mais la boucle for se spécialise dans le parcours de tableau tandis que la boucle while est
plus générique.
Par exemple :
Code C# :
int i = 0;
while (i < 50)
{
Console.WriteLine("Bonjour C#");
i++;
}
Permet d’écrire « Bonjour C# » 50 fois de suite. Ici, la condition du while est évaluée en début de
boucle. Dans l’exemple suivant :
Code : C#
int i = 0;
do
{
Console.WriteLine("Bonjour C#");
i++;
}
while (i < 50);
La condition de sortie de boucle est évaluée à la fin de la boucle. L’utilisation du mot clé do permet
d’indiquer le début de la boucle.
Concrètement cela veut dire que dans le premier exemple, le code à l’intérieur de la boucle peut ne
jamais être exécuté, si par exemple l’entier i est initialisé à 50. Dans le cas inverse, on passera au
moins une fois dans le corps de la boucle du second exemple, même si l’entier i est initialisé à 50 car
la condition de sortie de boucle est évaluée à la fin.