Repeat
write('Saisir le nom du Produit : '); readln(nomprod);
if nomprod='ipod' then
begin
Nb:= Nb + 1;
write('Saisir le model : '); readln(x.modl);
if x.modl = 'S' then
begin
x.cap:= ' 2';
x.prx:= 25000;
write('Saisir la coouleur : '); readln(x.cou);
If x.cou='A' Then
x.cou:= A
Else if x.cou = 'B' then
Begin
x.cou:= B;
end
Else if X.Cou = 'V' Then
Begin
X.Cou:= V;
end
Else if X.Cou= 'O' Then
Begin
X.Cou:= O;
end
Else if X.Cou= 'R' Then
Begin
X.Cou:= R;
end;
End
Else if x.modl = 'Na' then
begin
write('Saisir la capacite : '); readln(x.cap);
if (X.Cap= '8') then
begin
X.Cap:= '8';
X.Prx:= 75000;
end
Else
begin
X.Cap:= '16';
X.Prx:= 9000;
End;
write('Saisir la couleur : '); readln(x.cou);
if X.Cou= 'G' Then
X.Cou:= G
Else if (X.Cou='N') Then
Begin
X.Cou:= N;
end
Else if (X.Cou='B') then
Begin
X.Cou:= B;
end
Else if (X.Cou= 'V') Then
Begin
X.Cou:= V;
end
Else if (X.Cou= 'O') Then
Begin
X.Cou:= O;
end
Else if (X.Cou= 'R') Then
Begin
X.Cou:= R;
end;
End
Else if x.modl = 'C' then
begin
write('Saisir la capacite : '); readln(x.cap);
X.Cap:= '160';
X.Prx:= 125000;
write('Saisir la coouleur : '); readln(x.cou);
if X.Cou = 'G' Then
X.Cou:= G
Else
X.Cou:= N;
End
Else if x.modl = 'T' then
begin
write('Saisir la capacite : '); readln(x.cap);
if (X.Cap= '8') then
Begin
X.Cap:= '8';
X.Prx:= 115000;
end
Else if (X.Cap= '32') Then
Begin
X.Cap:= '32';
X.Prx:= 15000;
end
Else if (X.Cap= '64') Then
Begin
X.Cap:= '64';
X.Prx:= 200000;
end;
X.Cou:= G;
End;
write('Saisir la quantite : '); readln(x.qtt)
X.mtt := X.Prx * X.qtt;
End
Else if nomprod= 'iphone' then
Begin
Nb1:= Nb1 + 1;
write('Saisir le model : '); readln(x.modl);
if Y.modl = '3G' then
begin
Y.modl:= '3G';
Y.Cap:= '8';
end
Else
Begin
Y.modl:= '4';
write('Saisir le Capacité : '); readln(Y.Cap);
if (Y.Cap= '16') then
Begin
Y.Cap:= '16';
Y.Prx:= 100000;
end
Else
Begin
Y.Cap:= '32';
Y.Prx:= 150000;
end;
End;
write('Saisir la Quantité : '); readln(Y.qtt)
Y.mtt:= Y.Prx * Y.qtt;
End;
Else if nomprod= 'ipad' then
Begin
Nb2:= Nb2 + 1;
write('Saisir le model : '); readln(x.modl);
if Z.modl = '3G' then
begin
write('Saisir le Capacité : '); readln(Z.Cap);
if (Z.Cap=' 16') Then
Begin
Z.Cap:= ' 16';
Z.Prx:= 500000;
end
Else if (Z.Cap= ' 32') Then
Begin
Z.Cap:= ' 32';
Z.Prx:= 570000;
end
Else if (Z.Cap= ' 64') Then
Begin
Z.Cap:= ' 64';
Z.Prx:= 650000;
end;
End
Else if Z.modl = '4G' then
Begin
write('Saisir le Capacité : '); readln(Y.Cap);
if (Z.Cap=' 16') Then
Begin
Z.Cap:= ' 16';
Z.Prx:= 250000;
end
Else if (Z.Cap= ' 32') Then
Begin
Z.Cap:= ' 32';
Z.Prx:= 320000;
end
Else if (Z.Cap= ' 64') Then
Begin
Z.Cap:= ' 64';
Z.Prx:= 390000;
end;
End;
write('Saisir la Quantité : '); readln(Z.qtt)
Z.mtt:= Z.Prx * Z.qtt;
End
Until ( Nb=3 or Nb1=3 or Nb2=3 )
write('Voulez vous un autre Produit : '); readln(verif);
End.
TP::ENONCE::
1) Généralités
La firme de produits Apple vous a mandaté pour développer un système de facturation des produits de la série « i »,
c'est-à-dire les iPod, iPad et iPhone.
Le président de la firme, M Jobs, désire un logiciel facile à utiliser et qui calcule rapidement et sans erreur la
facturation des produits offerts par sa compagnie. Le système développé devra produire une facture claire à partir
des informations saisies et des caractéristiques des produits offerts. Étant donnée l'importance stratégique de ce
logiciel, le président sera très pointilleux quant à l'exactitude des résultats de calcul.
Une fois terminé, le système devra être conforme à l'ensemble des spécifications décrites dans la suite de ce
document.
2) Spécifications du logiciel
Objectif
Le logiciel souhaité devra automatiser la facturation des produits iPod, iPad et iPhone en permettant le traitement de
plusieurs clients, un à la suite de l'autre. Pour y arriver, le logiciel devra en premier lieu, pour chaque client, procéder
à la saisie des informations nécessaires, c'est-à-dire le choix des produits désirés ainsi que les caractéristiques
offertes pour chacun. Ensuite, le logiciel devra effectuer les calculs de facturation en appliquant la structure de prix
indiquée. Finalement, il produira une facture à l'écran comportant les détails et un sommaire. Tous les calculs devront
être rigoureusement exacts.
Produits offerts aux clients
iPod
Le iPod est un appareil qui permet d'écouter de la musique et des vidéos, de se brancher sur internet et d'utiliser
les milliers de petites applications. Il est offert en quatre modèles différents, le Shuffle, le Nano, le Classic et le
Touch. Certains modèles permettent de choisir entre différentes capacités qui influencent le prix. Un choix de
couleur est disponible pour certains modèles, mais celui-ci n'a aucun impact sur le prix.
Le tableau suivant présente les caractéristiques de chaque modèle et leur prix :
_______________________________________________________________________________________
Modèle Capacité Choix de couleur Prix en FCFA
_______________________________________________________________________________________
[S]huffle 2 GB [A]rgent, [B]leu, [V]ert, [O]range ou [R]ose 25 000
_______________________________________________________________________________________
[N]anO 8 GB [G]ris, [N]oir, [B]leu, [V]ert, [O]range ou [R]ose 75 000
16 GB 90 000
_______________________________________________________________________________________
[C]lassic 160 GB [G]ris ou [N]oir 125 000
_______________________________________________________________________________________
[T]ouch 8 GB Gris seulement 115 000
32 GB 150 000
64 GB 200 000
_______________________________________________________________________________________
iPhone
Le iPhone est un téléphone cellulaire qui permet en plus les mêmes fonctionnalités que le iPod. Il est offerts en
deux modèles différents, le iPhone 3G et le iPhone 4. Le modèle 3G sera discontinué prochainement et c'est
pourquoi il n'est disponible qu'en une seule capacité. Par contre, le modèle iPhone 4 est un tout nouveau produit
offert avec un choix de deux capacités.
Le tableau suivant présente les caractéristiques de chaque modèle et leur prix :
______________________________
Modèle Capacité Prix en FCFA
______________________________
3G 8 GB 50 000
______________________________
4 16 GB 100 000
32 GB 150 000
______________________________
En option avec les deux modèles iPhone, il est possible d'acheter un forfait téléphonique annuel chez un
fournisseur de téléphonie (quelconque) au prix de 180 000 FCFA, non taxable
iPad
Le iPad offre exactement les mêmes fonctionnalités que le iPod mais il se présente sous la forme de tablette,
c'est-à-dire avec un écran quatre fois plus grand. Il est offert en deux modèles différents, soit avec ou sans la
technologie 3G. Chacun de ces modèles est disponible en trois capacités différentes. Il n'y a pas de choix de
couleurs disponibles, ils sont tous gris.
Le tableau suivant présente les caractéristiques de chaque modèle et leur prix /
____________________________________
Technologie 3G Capacité Prix en FCFA
____________________________________
[O]ui 16 GB 500 000
32 GB 570 000
64 GB 650 000
____________________________________
[N]on 16 GB 250 000
32 GB 320 000
64 GB 390 000
____________________________________
Achat de plusieurs produits sur la même facture
Un client peut acheter plusieurs produits différents, par exemple un iPod et un iPad.
De plus, un client peut acheter zéro, un ou plusieurs unités du même produit, par exemple 2 iPad. Pour éviter que
la facture s'élève à des montants faramineux, nous allons assumer que le client ne peut acheter qu'au maximum 3
unités de chaque produit. Toujours pour simplifier, lorsqu'un client achète plusieurs unités du même produit, toutes
les unités seront du même modèle, de la même capacité et de la même couleur.
Précisions sur les prix
La taxe
La TVA de 18% doit être appliquée sur le total de la facture. Tous les produits sont taxables, sauf le forfait
téléphonique qui ne l'est pas.
Promotions sur l'achat de plusieurs produits différents
Si un client choisit au moins 2 produits différents, par exemple un iPhone et un iPad, il obtient un rabais de 25%
sur le prix total de la facture. Lorsque ce rabais s'applique, il doit être calculé avant la taxe.
Informations à saisir
Pour chaque client, le logiciel devra saisir les informations suivantes :
¨ Le nom du client
¨ Pour le iPod
o Le modèle
o La capacité ( lorsqu'un choix est offert )
o La couleur ( lorsqu'un choix est offert )
o Le nombre d'unités
¨ Pour le iPhone
o Le modèle
o La capacité ( lorsqu'un choix est offert )
o Le nombre d'unités
o L'option de forfait téléphonique
¨ Pour le iPad
o Le modèle
o La capacité ( lorsqu'un choix est offert )
o Le nombre d'unités
Lorsque cela s'applique, il est suggéré d'utiliser des codes courts (1 caractère, si possible) pour faciliter l'entrée des
informations et ainsi minimiser le nombre de touches tapées par l'utilisateur. Pour certaines des saisies à faire, des
codes de un caractère vous sont suggérés. Vous pouvez les utiliser ou en utiliser d'autres à votre convenance.
Traitement consécutif de plusieurs clients
Le logiciel doit permettre de traiter plusieurs clients, un à la suite de l'autre. Pour ce faire, après chaque facture
complétée et affichée, le logiciel doit demander à l'utilisateur s'il désire traiter un autre client. Si l'utilisateur répond
par l'affirmative, le traitement doit reprendre du début. Sinon, le logiciel doit s'arrêter.
Validation des données
Dans le cadre de ce premier travail pratique, vous n'avez pas à valider les données entrées par l'utilisateur. Les
précisions concernant les valeurs permises au moment de la saisie ne sont présentées qu'à titre indicatif, mais vous
aideront à composer les jeux d'essais1. À titre d'exemple, le nombre d'unités de chaque produit doit se situer entre
0 et 3, mais vous n'avez pas à vous en assurer dans l'algorithme.
Pour ce travail pratique, l'utilisateur sera considéré comme étant « parfait » car il ne pourra pas faire d'erreurs au
moment de la saisie.
Affichage de la facture
Pour chaque client, le logiciel devra afficher au minimum les informations suivantes :
¨ Le nom du client
¨ Si au moins un iPod a été acheté :
o Le modèle choisi
o La capacité
o La couleur
o Le prix unitaire
o Le nombre d'unités
o Le montant total ( prix X nombre d'unités )
¨ Si au moins un iPhone a été acheté :
o Le modèle choisi
o La capacité
o Le prix unitaire
o Le nombre d'unités
o Le montant total ( prix X nombre d'unités )
o Le montant du forfait téléphonique annuel, s'il a été sélectionné
¨ Si au moins un iPad a été acheté :
o Le modèle choisi
o La capacité
o Le prix unitaire
o Le nombre d'unités
o Le montant total ( prix X nombre d'unités )
¨ Le montant du rabais promotionnel, s'il s'applique
¨ Le sous total avant les taxes
¨ Le montant de taxe
¨ Le montant total de la facture
Jeux d'essais : Il s'agit des valeurs du banc de tests qui sert à valider l'exactitude des calculs.
Présentation
Le format et la disposition des informations affichées à l'écran sont laissés à votre discrétion, mais une présentation
claire et sans ambiguïtés est exigée. Les suggestions suivantes pourront vous y aider :
Sur la facture :
¨ Affichez les informations uniquement sur les produits choisis par le client.
¨ Afficher les informations concernant uniquement les rabais promotionnels qui s'appliquent. Si aucun rabais
ne s'applique, n'affichez rien concernant les rabais.
¨ Lors qu'un produit est choisi, présentez préférablement l'information avec une phrase plutôt qu'avec le code
qui à servi à la saisie. Par exemple, « iPod modèle : Shuffle » est préférable à « iPod modèle : S ».
¨ Une présentation en colonnes est un choix intéressant pour présenter une facture. Ce choix n'est toutefois
pas imposé.
Afficher un message de bienvenue au démarrage du logiciel et présentez également un message de « fin normale »
lorsque le logiciel termine son exécution.
3) Le mandat
Ce travail pratique consiste en l'élaboration d'une documentation de conception en deux parties. Présenter les
réponses et solutions dans un document MS Word ou autre traitement de texte compatible.
1. Liste des informations traitées
Identifiez les différentes informations qui seront manipulées dans votre solution, qu'elles soient saisies, calculées,
affichées ou intrinsèques ( valeurs littérales ). Pour ce faire, remplissez le tableau suivant en utilisant autant de lignes
que nécessaire. Quelques lignes vous sont présentées à titre d'exemple.
Description de la donnée Type de donnée Valeurs valides Source
_________________________________________________________________________________________
Nom du client Chaîne de caractères Toutes Saisie
_________________________________________________________________________________________
Modèle de iPod Caractère unique S, N, C ou T Saisie
_________________________________________________________________________________________
Prix unitaire du iPod Nano 8GB Réel 75 000 FCFA Intrinsèque
_________________________________________________________________________________________
Montant total des iPod Réel 0 à 600 000 FCFA Calculée
_________________________________________________________________________________________
... ... ... ...
Description : Signification de l'information. Trouvez un mot ou une phrase qui décrit la donnée.
____________ N'utilisez pas des identificateurs de variables.
Type : Nombre entier, nombre réel, caractère unique ou chaîne de caractères.
_____
Valeurs valides : Valeurs reconnues et acceptées. Peut être une liste de valeurs ou un intervalle.
________________
Source : Quelle est la source de cette donnée? Intrinsèque, saisie ou calculée.
_______
2. Algorithme
Écrivez l'algorithme détaillé en pseudo-code de votre solution. Vous devez tenir compte de l'ensemble des
spécifications décrites dans l'énoncé du TP1. Utilisez les notions de variables, d'affectations, de sélections et de
répétitions vues en classe tout en respectant l'indentation afin de bien identifier les blocs d'instructions. Choisissez
des identificateurs de variables significatifs.
4) Pondération
Ce travail compte pour 10% de la note finale et doit être effectué individuellement.