Pseudo-code Morphogramme
TAUX_FED <-- 0.15

TAUX_PROV <-- 0.2

TAUX_ASS_EMPLOI <-- 0.025

TAUX_RRQ <-- 0.02

Lire Heures
Lire Taux_Horaire
Salaire_Brut <-- Heures * Taux_Horaire
Paiement_Fed <-- Salaire_Brut * TAUX_FED
Paiement_Prov <-- Salaire_Brut * TAUX_PROV
Paiement_Ass_Emploi <-- Salaire_Brut * TAUX_ASS_EMPLOI
Paiement_RRQ <-- Salaire_Brut * TAUX_RRQ
Écrire Salaire_Brut

Écrire Paiement_Fed
Écrire Paiement_Prov
Écrire Paiement_Ass_Emploi
Écrire Paiement_RRQ

Code C++


// Par: Patrice Roy
// Le:  9 décembre 2001
// But: Écrire le pseudo-code et le morphogramme de
//      l'algorithme permettant de calculer et d'afficher
//      le salaire net d'un employé ainsi que le détail
//      des déductions.
//
//      Pour cela, il vous faudra lire les informations
//      suivantes:
//
//      * Le nombre d'heures travaillées;
//      * Le taux horaire.
//
//      Il vous faudra tenir compte que l'employé devra payer:
//
//      * 15% d'impôt fédéral;
//      * 20% d'impôt provincial;
//      * 2,5% d'assurance emploi;
//      * 2% de régime des rentes.

#include <iostream>
using namespace std;

void main ()
{
   // ---------------------------------------------------
   // Constantes du problème
   const float
      TAUX_FED  = 0.15f,        // Taux d'imposition au fédéral
      TAUX_PROV = 0.2f,         // Taux d'imposition au provincial
      TAUX_ASS_EMPLOI = 0.025f, // Taux (assurance emploi)
      TAUX_RRQ        = 0.02f;  // Taux (régime des rentes du Québec)

   // ---------------------------------------------------
   // Déclaration des variables nécessaires
   // -- Intrants du problème
   short Heures;              // nombre d'heures travaillées par l'employé
   float Taux_Horaire,        // taux horaire de l'employé
   // ---------------------------------------------------
   // Déclaration des variables nécessaires
   // -- Pour usage interne
         Salaire_Brut,        // salaire brut (avant déductions)
   // ---------------------------------------------------
   // Déclaration des variables nécessaires
   // -- Extrants du problème
         Paiement_Fed,        // paiement à faire au fédéral
         Paiement_Prov,       // paiement à faire au provincial
         Paiement_Ass_Emploi, // paiement à faire à l'ass. emploi
         Paiement_RRQ,        // paiement à faire au RRQ
         Salaire_Net;         // salaire net (après déductions)

   // ---------------------------------------------------
   // Phase d'entrée des données
   cout << "Nombre d'heures travaillees: ";
   cin >> Heures;
   cout << "Taux horaire: ";
   cin >> Taux_Horaire;

   // ---------------------------------------------------
   // Phase de traitement
   // ---------------------------------------------------
   // - Calcul du salaire brut
   Salaire_Brut = Heures * Taux_Horaire;
   // - Calcul des déductions
   Paiement_Fed        = Salaire_Brut * TAUX_FED;
   Paiement_Prov       = Salaire_Brut * TAUX_PROV;
   Paiement_Ass_Emploi = Salaire_Brut * TAUX_ASS_EMPLOI;
   Paiement_RRQ        = Salaire_Brut * TAUX_RRQ;
   // - Calcul du salaire net: sal. brut - déductions
   Salaire_Net = Salaire_Brut - (Paiement_Fed +
                                 Paiement_Prov +
                                 Paiement_Ass_Emploi +
                                 Paiement_RRQ);

   // ---------------------------------------------------
   // Phase de sortie des résultats
   cout << endl
        << "Salaire net: "
        << Salaire_Net
        << endl
        << "Detail des deductions: "
        << endl
        << " - Impot federal: "
        << Paiement_Fed
        << endl
        << " - Impot provincial: "
        << Paiement_Prov
        << endl
        << " - Paiement a l'assurance emploi: "
        << Paiement_Ass_Emploi
        << endl
        << " - Versements au regime des rentes du Quebec: "
        << Paiement_RRQ
        << endl;
}