• Aucun résultat trouvé

ALGORITHMIQUE PROGRAMMATION A -- ED25_CORRECTION

N/A
N/A
Protected

Academic year: 2022

Partager "ALGORITHMIQUE PROGRAMMATION A -- ED25_CORRECTION"

Copied!
5
0
0

Texte intégral

(1)

TRAVAIL DEMANDE : Donner :

L'algorithme (Structure du traitement) Le pseudo code si nécessaire La codification en Ada

Le résultat d'une exécution ED25

Sujet :

On souhaite simuler une facture simplifiée.

Les nombres décimaux seront définis avec deus décimales Les données saisies pour chaque ligne de la facture sont :

Quantité : décimal P.U.H.T : décimal Code T.V.A. : entier

La facture aura au minimum une ligne et au maximum trois lignes et à chaque ligne, sauf pour la dernière, sera posée la question Autre Ligne ? O/N.

A la fin de la saisie sera visualisé le pied de la facture.

Les jeux d'essais suivants constituent des exemples de facture.

Remarques :

A la réponse Autre Ligne ? O/N les lettres majuscules ou minuscules seront tolérées.

Veuillez dérouler les mêmes jeux d'essais et contrôler vos résultats avec une calculatrice.

Algorithme Pseudo code Codification en Ada

-- ********************************************************

-- Nom Prog : ED25

-- Type : Application

-- Sujet : Simulation d'une facture --

-- Auteur : R. VANDAELE -- Version : 1.1

-- Creation : 29/10/2000 -- Dern. Modif : 13/12/2002 --

-- Compilateur : GNAT 3.12p

-- Remarques : Environnement Windows 98 SE

-- ********************************************************

with Ada.Text_Io;

use Ada.Text_Io;

procedure Ed25 is

-- instanciation de Iio

package Iio is new Integer_Io(Integer);

use Iio;

type Decim_2 is delta 0.01 digits 8;

-- instanciation de decim_2

(2)

package Decim_2_Io is new Decimal_Io(Decim_2);

use Decim_2_Io;

-- Décalaration des variables Qte : Decim_2;

Pu_Ht : Decim_2;

Code_Tva : Integer range 1 .. 2;

Mt_Ht : Decim_2;

Tva_1 : Decim_2;

Tva_2 : Decim_2;

Mt_Tva : Decim_2;

Mt_Ttc : Decim_2;

Tot_Ht : Decim_2;

Tot_Tva_1 : Decim_2;

Tot_Tva_2 : Decim_2;

Tot_Ttc : Decim_2;

Encore : Boolean;

Erreur : Boolean;

Maxligne : Integer := 3;

Numligne : Integer;

Rep : Character;

Texte_1 : String := " Quantite PU.HT Montant Ht Code TVA ";

Texte_2 : String := "Taux TVA Montant TVA Montant TTC ";

begin

Put_Line ("Debut - Execution ED25");

New_Line;

Put_Line("Simulation d'une facture simplifiee");

Put_Line("---");

New_Line;

-- intialisation Numligne := 1;

Encore := True;

Tot_Ht := 0.0;

Tot_Tva_1 := 0.0;

Tot_Tva_2 := 0.0;

Tot_Ttc := 0.0;

Tva_1 := 5.5;

Tva_2 := 19.6;

-- corps de la facture

while Encore = True and Numligne <= Maxligne loop Put("Ligne : ");

Put(Numligne);

New_Line;

Put("Rentrer la Quantite (decimal) : ");

Get(Qte);

Put("Rentrer le PU.HT (decimal) : ");

Get(Pu_Ht);

Put("Rentrer le code TVA (1 ou 2) : ");

Get(Code_Tva);

-- calculs, cumuls de la ligne Mt_Ht := Decim_2'Round(Qte * Pu_Ht);

Tot_Ht := Tot_Ht + Mt_Ht;

case Code_Tva is when 1 =>

Mt_Tva := Decim_2'Round(Mt_Ht * Tva_1);

Mt_Tva := Decim_2'Round(Mt_Tva / Decim_2(100));

Tot_Tva_1 := Tot_Tva_1 + Mt_Tva;

when 2 =>

Mt_Tva := Decim_2'Round(Mt_Ht * Tva_2);

(3)

Mt_Tva := Decim_2'Round(Mt_Tva / Decim_2(100));

Tot_Tva_2 := Tot_Tva_2 + Mt_Tva;

when others =>

Put_Line ("Erreur sur la code TVA");

end case;

Mt_Ttc := Mt_Ht + Mt_Tva;

Tot_Ttc := Tot_Ttc + Mt_Ttc;

-- edition de la ligne Put(Texte_1);

Put(Texte_2);

New_Line;

Put(Qte);

Put(Pu_Ht);

Put(Mt_Ht);

Put(Code_Tva,Width => 8);

case Code_Tva is when 1 =>

Put(Tva_1);

when 2 =>

Put(Tva_2);

when others =>

Put_Line ("Erreur sur la code TVA");

end case;

Put(Mt_Tva);

Put(Mt_Ttc);

New_Line;

if Numligne < Maxligne then Put("Autre ligne ? O/N ");

Get(Rep);

Erreur := True;

while Erreur loop

if (Rep = 'o') or (Rep = 'O') then Numligne := Numligne + 1;

Erreur := False;

elsif

(Rep = 'n') or (Rep = 'N') then Encore := False;

Erreur := False;

else

Put("Erreur de saisie ");

Put("Autre ligne ? O/N ");

Get(Rep);

end if;

end loop;

else

Encore := False;

end if;

end loop;

-- edition du pied de facture New_Line;

Put_Line("Pied de facture");

Put("Total HT : ");

Put(Tot_Ht);

New_Line;

Put("Total TVA 1 : ");

Put(Tot_Tva_1);

New_Line;

Put("Total TVA 2 : ");

Put(Tot_Tva_2);

New_Line;

Put("Total TTC : ");

Put(Tot_Ttc);

New_Line;

(4)

New_Line;

Put_Line ("Fin - Execution ED25");

end Ed25;

Résultats attendus Exécution 1

Debut - Execution ED25

Simulation d'une facture simplifiee --- Ligne : 1

Rentrer la Quantite (decimal) : 12.56 Rentrer le PU.HT (decimal) : 17.89 Rentrer le code TVA (1 ou 2) : 1

Quantite PU.HT Montant Ht Code TVA Taux TVA Montant TVA Montant TTC 12.56 17.89 224.70 1 5.50 12.36 237.06 Autre ligne ? O/N n

Pied de facture

Total HT : 224.70 Total TVA 1 : 12.36 Total TVA 2 : 0.00 Total TTC : 237.06 Fin - Execution ED25 Exécution 2

Debut - Execution ED25

Simulation d'une facture simplifiee --- Ligne : 1

Rentrer la Quantite (decimal) : 12.56 Rentrer le PU.HT (decimal) : 17.89 Rentrer le code TVA (1 ou 2) : 2

Quantite PU.HT Montant Ht Code TVA Taux TVA Montant TVA Montant TTC 12.56 17.89 224.70 2 19.60 44.04 268.74 Autre ligne ? O/N n

Pied de facture

Total HT : 224.70 Total TVA 1 : 0.00 Total TVA 2 : 44.04 Total TTC : 268.74 Fin - Execution ED25 Exécution 3

Debut - Execution ED25

Simulation d'une facture simplifiee --- Ligne : 1

Rentrer la Quantite (decimal) : 12.56 Rentrer le PU.HT (decimal) : 14.89 Rentrer le code TVA (1 ou 2) : 1

(5)

Quantite PU.HT Montant Ht Code TVA Taux TVA Montant TVA Montant TTC 12.56 14.89 187.02 1 5.50 10.29 197.31 Autre ligne ? O/N o

Ligne : 2

Rentrer la Quantite (decimal) : 159.59 Rentrer le PU.HT (decimal) : 14.86 Rentrer le code TVA (1 ou 2) : 2

Quantite PU.HT Montant Ht Code TVA Taux TVA Montant TVA Montant TTC 159.59 14.86 2371.51 2 19.60 464.82 2836.33 Autre ligne ? O/N o

Ligne : 3

Rentrer la Quantite (decimal) : 12.59 Rentrer le PU.HT (decimal) : 184.42 Rentrer le code TVA (1 ou 2) : 1

Quantite PU.HT Montant Ht Code TVA Taux TVA Montant TVA Montant TTC 12.59 184.42 2321.85 1 5.50 127.70 2449.55 Pied de facture

Total HT : 4880.38 Total TVA 1 : 137.99 Total TVA 2 : 464.82 Total TTC : 5483.19 Fin - Execution ED25 Exécution 4

Debut - Execution ED25

Simulation d'une facture simplifiee --- Ligne : 1

Rentrer la Quantite (decimal) : 1 Rentrer le PU.HT (decimal) : 1 Rentrer le code TVA (1 ou 2) : 2

Quantite PU.HT Montant Ht Code TVA Taux TVA Montant TVA Montant TTC 1.00 1.00 1.00 2 19.60 0.20 1.20 Autre ligne ? O/N j

Erreur de saisie Autre ligne ? O/N o Ligne : 2

Rentrer la Quantite (decimal) : 1 Rentrer le PU.HT (decimal) : 1 Rentrer le code TVA (1 ou 2) : 1

Quantite PU.HT Montant Ht Code TVA Taux TVA Montant TVA Montant TTC 1.00 1.00 1.00 1 5.50 0.06 1.06 Autre ligne ? O/N n

Pied de facture

Total HT : 2.00 Total TVA 1 : 0.06 Total TVA 2 : 0.20 Total TTC : 2.26 Fin - Execution ED25

Remarques :

La difficulté de cet E.D. se situe au niveau de l'arrondi.

Je vous laisse le soin d'étudier la différentes parties du programme.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Références

Documents relatifs

[r]

M Ngono a acheté 3 petits pots de peinture à huile de couleur blanche pour peindre son pneu comme l’indique

Écris-les sous forme d'un nombre décimal avec pour unité la

Écris-les sous forme d'un nombre décimal avec pour unité la

Complète la 3 e ligne du tableau en donnant le nombre de décimales identiques à celles affichées par ta calculatrice pour ce nombre mystérieux.

Complète la 3 e ligne du tableau en donnant le nombre de décimales identiques à celles affichées par ta calculatrice pour ce

2 Place le nombre 912,467 dans le tableau ci-dessous puis complète chacune des phrases.. milliers centaines dizaines unités dixièmes

2 Place le nombre 912,467 dans le tableau ci-dessous puis complète chacune des phrases.. milliers centaines dizaines unités dixièmes