Support et mise à disposition des services informatiques
Étude de cas : Support et mise à disposition des services informatiques. Recherche parmi 300 000+ dissertationsPar bxtchjaurxgui • 1 Juin 2023 • Étude de cas • 826 Mots (4 Pages) • 218 Vues
LANIEZ YAHIMI InèsDevoir n°3BTS SIO SLAM
Mission 1
Tâche 1.1
L’erreur est dû au fait que nous n’avons rien saisie lors de la demande de saisie du mois et donc lorsque l’on demande à la fonction de retourner le nombre de jour d’un certain mois, mais qu’elle n’est pas capable d’identifier celui-ci, elle ne peut pas nous fournir de réponse. Le code est donc également dans l’incapacité de nous fournir le résultat demandé qui demande un mois et une année.
Cela aurait également pu se produire si au lieu de saisir l’année comme nous le demande le code, nous appuyions aussi sur entrée ou sur toute autre touche alphanumérique autre qu’un chiffre.
Pour éviter que l’erreur ne se produise, on peut indiquer à l’utilisateur le format sous lequel il doit saisir le mois et l’année, par exemple :
static void Main(string[] args)
{
Console.Write("Entrer un mois (format m)= ");
int mois = int.Parse(Console.ReadLine());
Console.Write("Entrer une année (format aaaa)= ");
int annee = int.Parse(Console.ReadLine());
Console.WriteLine("nb jours = " + nbJoursMoisDuneAnnee(mois, annee));
Console.ReadLine();
}
Tâche 1.2
Le problème que nous rencontrons est que pour n’importe quel mois (autre que le mois de février(2)), la fonction nous retourne le nombre de 31. Or, pour les mois d’avril, de juin, de septembre et novembre (4, 6, 9, 11) nous aimerions que celle-ci nous retourne le nombre de30, car il y a 30 jours dans ces mois. Ce problème vient du fait que l’opérateur logique booléen utilisé ici est le «AND» (&&), alors que pour que le code fonctionne bien, il faudrait qu’on utilise l’opérateur logique booléen «OR» (||). Cela nous donnerait donc cet extrait de code :
public static int nbJoursMoisDuneAnnee(int mois, int annee)
{
if (mois == 2)
{
if (bissextile(annee))
{
return 29;
}
else
{
return 28;
}
}
if (mois == 4 || mois == 6 || mois == 9 || mois == 11)
{
return 30;
}
return 31;
}
Mission 2
Tâche 2
public static bool ListeCroissante(List<int> liste)
{
bool croissant = true;
int k;
int ancValeur = liste[0];
while(liste.Count == 0 || liste.Count == 1)
...