Initiation à l'algorithmique

Appelez-nous au numéro (+212) 616 374 790 ou écrivez-nous à essaddouki@gmail.com

Demander le soutien en ligne de l'un de nos professeurs, à toute heure et où vous voulez, de 8h à minuit (GMT) Détails

SERIE 2 Structures de contrôle conditionnelles

Exercice 1

Ecrire l'algorithme qui permet de saisir un nombre puis déterminer s’il appartient à un intervalle donné, sachant que les extrémités de l’intervalle sont fixées par l’utilisateur.

AlgorithmeAlgorithme intervale:
  variables nb, a,b : entiers
Début
  Ecrire("Saisir un nombre");
  Lire(nb);
  Ecrire("Saisir l'extremité de l'intervalle");
  Lire(a,b);
  SI nb <= b ET nb >= a ALORS
    Ecrire(a," appartient à l'intervalle ");
  SINON
    Ecrire(a," n'appartient pas à l'intervalle")
  FIN SI
FIN

Exercice 2

Ecrire l'algorithme qui permet de saisir le jour, le mois et l'année d'une date (Mois : numéro du mois), et de déterminer si elle est correcte ou non, et ou est l'erreur. on suppose que :

  • l'année doit entre entre 1900 et 2017
  • le mois entre 1 et 12
  • le jour est entre 1 et 30
AlgorithmeAlgorithme valider_date:
  variables annee, mois,jour : entiers
Début
  Ecrire("Saisir une année");
  Lire(annee);
  Ecrire("Saisir le mois");
  Lire(mois);
  Ecrire("Saisir le jour");
  Lire(jour);
  SI ( annee < 1900 OU annee > 2017 ) OU (mois < 1 OU annee > 12) OU (jour < 1 OU annee > 30) ALORS
    SI annee < 1900 OU annee > 2017 ALORS
      Ecrire("l'année est incorrecte");
    SINON SI mois < 1 OU annee > 12 ALORS
      Ecrire("le mois est incorrect");
    SINON
      Ecrire("le jour est incorrect")
    FIN SI
  SINON
   Ecrire("la date est correcte");
  FIN SI
FIN

Exercice 3

Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou positif. Attention toutefois : on ne doit pas calculer le produit des deux nombres.

AlgorithmeAlgorithme signe_produit:
  variables a,b : entiers
Début
  Ecrire("Saisir deux nombres");
  Lire(a,b);
  SI (a > 0 ET b > 0) OU (a < 0 ET b < 0) ALORS
    Ecrire(" le produit est positif");
  SINON
    Ecrire("le produit est négatif")
  FIN SI
FIN

Exercice 4

Ecrire l'algorithme qui permet de calculer le montant des heures supplémentaires d’un employé, sachant le prix unitaire d’une heure selon le barème suivant :

  • Les 39 premières heures sans supplément,
  • De la 40ième à la 44ième heure sont majorées de 50%,
  • De la 45ième à la 49ième heure sont majorées de 75%,
  • De la 50ième heure ou plus, sont majorées de 100%.
AlgorithmeAlgorithme heures_supp:
  variables prix_heure, montant_supp : réels
  variables nb_heures : entier
Début
  Ecrire("Saisir le nombre d'heures");
  Lire(nb_heure);
  Ecrire("Saisir le prix par heure");
  Lire(prix_heure);
  SI nb_heures <= 39 ALORS
    montant_sup <- 0;
  SINON
    SI nb_heures <= 44 ALORS
      montant_supp= (nb_heures - 39) * prix_heure * 1.5;
    SINON SI nb_heures <= 49 ALORS
      montant_supp <- (5 * prix_heure * 1.5) + ((nb_heures - 44) * prix_heure * 1.75);
    SINON
      montant_supp <- (5 * prix_heure * 1.5) + (5 * prix_heure * 1.75) + ((nb_heures - 49) * prix_heure * 2);
    FIN SI
  FIN SI
  Ecrire("Le montant des heures supplémentaires = ",montant_supp);
FIN

Exercice 5

Ecrivez un algorithme qui lira au clavier l’heure et les minutes, et il affichera l’heure qu’il sera une minute plus tard.
Par exemple, si l'utilisateur tape 21 puis 32, l'algorithme doit répondre : "Dans une minute, il sera 21 heure(s) 33".
NB : on suppose que l'utilisateur entre une heure valide. Pas besoin donc de la vérifier.

AlgorithmeAlgorithme   heure_a_minute  :
   Variables heure,minute : entiers ;
Début
   Ecrire ("Saisir l'heure et la minute : ") ;        
   Lire(heure,minute) ;
   SI heure = 23 ALORS
       SI minute = 59 ALORS
          heure <- 0;
          minute <- 0;
       SINON
          minute <- minute+1;
       FIN SI
   SINON
       SI minute = 59 ALORS
          heure <- heure+1;
          minute <- 0;
       SINON
          minute <- minute+1;
       FIN SI
   FIN SI   
   Ecrire("Dans une minute, il sera ",heure," heure(s) ",minute);
Fin

Exercice 6

Vous gérez les stocks et les commandes d'une entreprise. Vous ne pouvez pas honorer une commande si vous n'avez pas la totalité de la quantité demandée. Donc créer un algorithme permettant d'afficher la quantité que l'entreprise doit livrer au client. Si votre stock est inférieur, vous ne pouvez livrer que la quantité que vous possédez.

AlgorithmeAlgorithme quantite_livrer:
  variables qte_stock, qte_demandee : entiers
Début
  Ecrire("Saisir la quantité en stock");
  Lire(qte_stock);
  Ecrire("Saisir la quantité demandée");
  Lire(qte_demandee);
  SI qte_demandee <= qte_stock ALORS
    Ecrire("la quentité à livrer =",qte_demandee);
  SINON
    Ecrire("la quantité à livrier=",qte_stock)
  FIN SI
FIN

Exercice 7

Écrire un algorithme qui à partir d’un nombre compris entre 1 et 7 affiche le jour correspondant ?

Algorithme   jours_semaine  :
   Variable jour : entier ;
Début
   Ecrire ("Saisir une valeur : ") ;        
   Lire(jour) ;
   SELON jour faire
      1 : Ecrire("Lundi")
      2 : Ecrire("Mardi")
      3 : Ecrire("Mercredi")
      4 : Ecrire("Jeudi")
      5 : Ecrire("Vendredi")
      6 : Ecrire("Samedi")
      7 : Ecrire("Dianche")
      SINON : Ecrire("Jour invalide")
    Fin SELON
Fin

Exercice 8

Écrire un algorithme qui à partir d’une note affiche la mention correspondant ?

Algorithme   mention  :
   Variable note : réel ;
Début
   Ecrire ("Saisir une note : ") ;        
   Lire(note) ;
   SELON A faire
      note < 10 : Ecrire("Non admin")
      note < 12 : Ecrire("passable")
      note < 14 : Ecrire("assez bien")
      note < 16 : Ecrire("Bien")
      note < 18 : Ecrire("très bien")
      note <=20: Ecrire("Excellent")
      SINON : Ecrire("Note invalide")
    Fin SELON
Fin

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :