Matière : Atelier Programmation
UE : Programmation événementielle
événementielle
Direction Générale
des Etudes Technologiques
ENSEIGNANTE : JEBALI
TP1 : Programmer
HELA
Département de Technologie de
l’Informatique
en C# Classes : DSI21
Objectif général
Savoir écrire des programmes simples et résoudre des problèmes en C#
Objectifs spécifiques
Ecrire des programmes simples en C#
Utiliser les structures de contrôle pour résoudre des problèmes
Exercice 1
Ecrire un programme qui permet de :
Saisir deux nombres au clavier
Calculer la somme de ces deux nombres et afficher le résultat
Affiche le signe du produit de ces deux variables sans faire la multiplication.
Exercice 2:
Ecrire un programme qui lit trois valeurs entières (x, y et z) entrées au clavier et qui affiche la
plus grande des trois valeurs, en utilisant:
a) if - else et une variable d'aide MAX
b) if - else if - ... - else sans variable d'aide
Exercice 3:
Ecrire un programme qui permet à l’utilisateur d’entrer une expression mathématique ( exp :
4*5) et effectue le calcul correspondant selon l’opérateur arithmétique utilisé ( utilisez
switch….case).
Exercice 4:
Créer un programme qui permet de réaliser les étapes suivantes :
Inciter l'utilisateur à saisir un nombre N et le stocker dans une variable
1
Calculer la somme des N premiers nombres (Par exemple : Le nombre saisi est "8" (N
= 8) ; la somme des N premiers nombre est calculée de la manière suivante : Somme =
1+2+3+4+5+6+7+8 (SommeN = 36).
Générer le message suivant "La somme des [nombre N saisi] premiers nombres est
égale à [Somme]".
Correction
using System;
class Program
{
static void Main()
{
Console.Write("Entrez un nombre entier positif N : ");
int N = Convert.ToInt32(Console.ReadLine());
int somme = 0;
for (int i = 1; i <= N; i++)
{
somme += i;
}
Console.WriteLine($"La somme des {N} premiers nombres est égale à {somme}.");
}
}
Exercice 5
Ecrire un programme qui permet d’afficher à un chauffeur d’une voiture un message
indiquant selon la couleur du feu s’il doit passer, se préparer à s’arrêter ou s’arrêter.
Correction
class Program
{ static void Main(string[] args)
{
Console.WriteLine("donner la couleur du feu ");
string Color = Console.ReadLine();
switch (Color)
{
case "vert":
Console.WriteLine("Vous pouvez passer.");
break;
case "orange":
Console.WriteLine("Préparez-vous à vous arrêter.");
2
break;
case "rouge":
Console.WriteLine("Arrêtez-vous.");
break;
default:
Console.WriteLine("Couleur inconnu. ");
break;
}
}
3
Matière : Atelier Programmation
UE : Programmation événementielle
événementielle
Direction Générale
des Etudes Technologiques
ENSEIGNANTE : JEBALI
HELA
Département de Technologie de
TP2 : Les tableaux
Classes : DSI21
l’Informatique
Objectif général
Manipuler les tableaux en utilisant C#.
Objectifs spécifiques
Utiliser les boucles pour manipuler les tableaux
Utiliser les structures de contrôle pour résoudre des problèmes
Développer des sous programmes traitant les tableaux
Exercice 1
L’objectif de cet exercice est de compter efficacement le nombre d’éléments communs des
deux tableaux suivants.
A: [1, 7, 17, 9, 3]
B: [1 ]
Ecrire le programme approprié
using System;
class Program
{
static void Main(string[] args)
{
int[] tabA = { 1, 7, 17, 9, 3 };
int[] tabB = { 1, 17, 3, 1, 3 };
int count = 0;
for (int i = 0; i < tabA.Length; i++)
{
for (int j = 0; j < tabB.Length; j++)
{
if (tabA[i] == tabB[j])
{
count++;
break;
}
}
}
Console.WriteLine("Number of common elements: " + count);
4
}
}
Console.WriteLine("Le nombre d'éléments communs entre les deux tableaux est : " +
count);
}
}
Exercice 2:
Ecrire un programme qui lit la dimension N d'un tableau T du type entier (dimension
maximale: 50 composantes), remplit le tableau par des valeurs entrées au clavier et affiche le
tableau.
Calculer et afficher la somme des éléments du tableau.
Effacer toutes les occurrences de la valeur 0 dans le tableau T et tasser les éléments
restants. Afficher le tableau résultant.
Ranger ensuite les éléments du tableau T dans l'ordre inverse sans utiliser de tableau
d'aide. Afficher le tableau résultant
using System;
using System.ComponentModel.DataAnnotations.Schema;
public class Program
{
public static void Main(string[] args)
{
int N;
//donner et lire la dimension N du tableau
do
{
Console.Write("Entrez la dimension N du tableau ");
string input = Console.ReadLine();
N = int.Parse(input);
} while (N <= 0 || N > 50);
int[] tab = new int[N];
// saisir les éléments du tableau
Console.WriteLine("Entrez les éléments du tableau : ");
for (int i = 0; i < N; i++)
{
Console.Write($"Element tab{i} : ");
tab[i] = int.Parse(Console.ReadLine());
}
// Affiche le tableau
Console.WriteLine("\nTableau T :");
for (int i = 0; i < N; i++)
{
Console.Write(tab[i] + " ");
}
5
//calculer la somme
int s = 0;
for (int i = 0; i < N; i++)
{
s += tab[i];
}
Console.WriteLine("\nSomme des éléments du tableau : " + s);
//effacer l'occurance 0
int occ = 0;
for (int i = 0; i < N; i++)
{
if (tab[i] != 0)
{
tab[occ] = tab[i];
occ++;
}
}
// Affichage du tableau résultant après effacement des zéros
Console.WriteLine("\nTableau T après effacement des zéros :");
for (int i = 0; i < occ; i++)
{
Console.Write(tab[i] + " ");
}
Console.WriteLine();
// Rangement des éléments du tableau T dans l'ordre inverse
for (int i = 0; i < occ / 2; i++)
{
int temp = tab[i];
tab[i] = tab[occ - i - 1];
tab[occ - i - 1] = temp;
}
// Affichage du tableau résultant après rangement dans l'ordre inverse
Console.WriteLine("\nTableau T après rangement dans l'ordre inverse :");
for (int i = 0; i < occ; i++)
{
Console.Write(tab[i] + " ");
}
Console.WriteLine();
}
}
Exercice 3:
Ecrire un programme qui transfère un tableau M à deux dimensions L et C (dimensions
maximales: 10 lignes et 10 colonnes) dans un tableau V à une dimension L*C.
Exemple:
/ \
|abcd| / \
| e f g h | ==> | a b c d e f g h i j k l |
|i j kl | \ /
\ /
6
Exercice 4
Ecrire un programme en C# qui permet de saisir les éléments du tableau suivant :
15 -3 89 28 6 34 -46 53
Puis chercher un élément x (saisi par l’utilisateur) dans le présent tableau. Si cet élément
existe afficher le message suivant "la valeur x est trouvée au rang i "où i désigne le rang de
l’élément dans le tableau sinon afficher le message "valeur x non trouvée".