9
TS informatiques option Bases de données INSFP de TIZI- OUZOU Algorithmique Devoir du semestre 2 Durée 2hs Problème : Pour gérer les ventes dans un maga sin, le responsable utilise les tableaux comme suit :  Un tab leau R EF qui c ont ient les ré fér enc es de s arti cles . REF[ i]  représente la référence d’un article. Sachant que la référence d’un article est une chaine de 3 caractères. Exemple A12 ,B04,A10  Un tab leau PRIX q ui co ntien t les p rix d es ar ticles . PRIX[i] rep résen te le p rix de l’arti cle REF[i]. Questions : 1- Ecrire un p rogramme qui r emplit les deux tableaux. Supposons que le magas in dispose de 100 articles. 2- Ecrire l a séqu ence d’ instr uction s qui permet d’afficher le menu d éroul ant suiv ant à l’u tilisa teur : Gestion des ventes A : Modifier le prix d’un article B : Afficher le prix d’un article donné. C : Calculer le prix total d’une commande. D : Supprimer un article E : Ajouter un article F : Terminer Votre choix (SVP) : 3- Ecrire l a séqu ence d’ instr uction s qui pe rmet de mo difier le prix d ’un art icle con naiss ant sa référence. 4- Ecrire la séquence d’instructions qui pe rmet d’afficher le prix d’un article connaissan t sa référence. 5- Ecrire la séquence d’instructions qui permet de calculer le prix total d’une commande. Voici un exemple d’exécution : Commande : Entrez les références des articles commandés terminez la saisie par Z: Référence : A12 Quantité : 10 Référence : A14 Quantité : 200 Référence : Z Le montant de la commande est : ****** 6- Ecrire la séquence d’instructions qui permet de supprimer un article connaissant sa référence. (le suppression d’une référence entraine la suppression de son prix) . un article supprimé sa référence est remplacée par ‘ (esp ace) e t son prix par 0 . 7- Ecrire la séquence d’instructions qui permet d’ajouter un article (ajouter sa référence et son prix) sachant qu’on ne doit pas ajouter un article qui existe déjà. Devoir d’Algorithmique S2 Page 1

les tableau pascal

  • Upload
    lachir

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 1/9

TS informatiques option Bases de données INSFP de TIZI-OUZOU

AlgorithmiqueDevoir du semestre 2

Durée 2hs

Problème :

Pour gérer les ventes dans un magasin, le responsable utilise les tableaux comme suit : – Un tableau REF qui contient les références des articles. REF[i] représente la référence d’un article.

Sachant que la référence d’un article est une chaine de 3 caractères. Exemple A12 ,B04,A10 – Un tableau PRIX qui contient les prix des articles. PRIX[i] représente le prix de l’article REF[i].

Questions :

1- Ecrire un programme qui remplit les deux tableaux. Supposons que le magasin dispose de 100articles.

2- Ecrire la séquence d’instructions qui permet d’afficher le menu déroulant suivant à l’utilisateur :

Gestion des ventes

A : Modifier le prix d’un articleB : Afficher le prix d’un article donné.C : Calculer le prix total d’une commande.D : Supprimer un articleE : Ajouter un articleF : Terminer 

Votre choix (SVP) :

3- Ecrire la séquence d’instructions qui permet de modifier le prix d’un article connaissant saréférence.

4- Ecrire la séquence d’instructions qui permet d’afficher le prix d’un article connaissant sa référence.

5- Ecrire la séquence d’instructions qui permet de calculer le prix total d’une commande. Voici unexemple d’exécution :

Commande :Entrez les références des articles commandés terminez la saisie par Z:Référence : A12Quantité : 10Référence : A14Quantité : 200Référence : Z

Le montant de la commande est : ******

6- Ecrire la séquence d’instructions qui permet de supprimer un article connaissant sa référence. (lesuppression d’une référence entraine la suppression de son prix) . un article supprimé sa référenceest remplacée par ‘ ‘ (espace) et son prix par 0.

7- Ecrire la séquence d’instructions qui permet d’ajouter un article (ajouter sa référence et son prix)

sachant qu’on ne doit pas ajouter un article qui existe déjà.

Devoir d’Algorithmique S2 Page 1

Page 2: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 2/9

Page 3: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 3/9

end;'E':Begin'F':Begin

end;end;

'G':Beginterminer := true (*arreter la boucle*)donewincrt;

end;end;

end;(*while*)end.(*programme principal*)Jeu de test :

(****** Afficher pour chaque article son prix ********)  'F':Begin

clrscr;

Writeln;writeln;writeln;writeln (' Liste des articles avec leurs prix:');writeln;writeln;

Devoir d’Algorithmique S2 Page 3

Page 4: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 4/9

writeln(' Référence Prix');For i:= 1 to 5 do

writeln(' ',REF[i],' ',PRIX[i]:10:2);writeln;writeln('Tapez une touche pour continuer');readkey;

end;

(******************************************************************************)(*modifier le prix d'un article *)'A':Begin

clrscr;writeln(' *** Modifier le prix d''un article ****');writeln;writeln; (*sauter deux ligne*)write(' Tapez la référence de l''article:');readln(Vref);(* je recherche d'abord l'article dans REF pour réccuperer l'indice avec*)(* lequel je vais acceder au tableau PRIX et modifier le prix corespondant*)found := false;i := 1;While (not found) and (i <= 5) do

if REF[i] = Vref thenfound := true

elsei := i+1;

if not found then (* le recherche est négative*)begin

writeln ('L''article n''existe pas. ');readkey;

endelse (*la recherche est positive, l'article existe à l'indice i*)begin

write(' Tapez le nouveau prix SVP puis validez: ');

readln(Prix[i]);writeln;writeln;writeln;writeln(' Le prix a été changé, tapez une touche pour continuer');readkey;

end;end;

Jeu d’essai :

Devoir d’Algorithmique S2 Page 4

Page 5: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 5/9

(********************************************************************************)(************** Afficher le prix d'un article donné **)  'B':begin

clrscr;Writeln;writeln;writeln(' Afficher le prix d''un article');Writeln;writeln;Write(' Tapez la référence SVP: ');readln(Vref);(* je recherche d'abord l'existence de l'article *)

found := false;i := 1;While (not found) and (i <= 5) do

if REF[i] = Vref thenfound := true

elsei := i+1;

if not found then (* le recherche est négative*)begin

writeln ('L''article n''existe pas. ');readkey;

endelse (*la recherche est positive, l'article existe à l'indice i*)begin

writeln;writeln;

writeln(' Le prix de l''artcle est : ',PRIX[i]:10:2,' DA');writeln;writeln;write('Tapez une touche pour continuer');readkey;

end;end;

Jeu d’essai:

Devoir d’Algorithmique S2 Page 5

Page 6: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 6/9

(************** Supprimer un article ************************)'D':begin

clrscr;clrscr;Writeln;writeln;writeln(' Supprimer un article');Writeln;writeln;Write(' Tapez la référence SVP: ');readln(Vref);(* je recherche d'abord l'existence de l'article *)

found := false;i := 1;While (not found) and (i <= 5) do

if REF[i] = Vref thenfound := trueelse

i := i+1;if not found then (* le recherche est négative*)begin

writeln ('L''article n''existe pas. ');readkey;

endelse (*la recherche est positive, l'article existe à l'indice i*)begin

writeln;writeln;REF[i] := ' ';Prix[i] := 0;writeln;writeln;write('L''article a été supprimé. Tapez une touche pour continuer. ');readkey;

end;end;

Jeu d’essai

Devoir d’Algorithmique S2 Page 6

Page 7: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 7/9

L’affichage du tableau donne

(**************** Ajouter un article **************)

'E':Beginclrscr;clrscr;Writeln;writeln;writeln(' Ajouter un article');Writeln;writeln;Write(' Tapez la référence SVP: ');readln(Vref);

(* je recherche d'abord l'existence de l'article *)found := false;i := 1;While (not found) and (i <= 5) do

if REF[i] = Vref thenfound := true

elsei := i+1;

if found then (* le recherche est positive*)begin

writeln ('L''article existe déjà. Tapez une touche pour continuer ');readkey;

endelse (*la recherche est négative, l'article n'existe pas*)begin

(* je vais rechercher une case vide *)i := 1;While (REF[i] <> ' ') and (i <= 5) do

i := i +1;(*soit je sort avec ref[i] = ' ' ou i = 6*)if i = 6 thenbegin

writeln;writeln('le Tableau est plein. Taper une touche pour continuer');readkey

endelseif ref[i] = ' ' thenbegin

REF[i] := Vref;Writeln;Writeln(' Taper son prix SVP: ');

readln(PRIX[i]);writeln;writeln;write('L''article a été ajouté. Tapez une touche pour continuer. ');readkey;

Devoir d’Algorithmique S2 Page 7

Page 8: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 8/9

end;end;

end;

Jeu d’essai

Soit l’affichage :

Après la suppression d’un élément soit l’article A03:

On ajoute un article :

A l’affichage :

Devoir d’Algorithmique S2 Page 8

Page 9: les tableau pascal

8/9/2019 les tableau pascal

http://slidepdf.com/reader/full/les-tableau-pascal 9/9

(*************** le prix total d'une commande ******************)'C':Begin

clrscr;writeln(' Calcul du prix total d''une commande ');writeln;writeln('Commande:');writeln('Entrez les références des articles commandés et terminez par Z');

write(' Référence: ');readln(vref); som := 0;while vref <> 'Z' Dobegin

i := 1;while REF[i] <> vref do (* on suppose que les références existent*)

i := i +1;write(' Quantité: ');readln(Qt);som := som + PRIX[i] * qt;write(' Référence: ');readln(Vref);

end;writeln;writeln;writeln(' Le total de la commande est ',som:10:2,' DA');writeln;writeln('Tapez une touche pour revenir au menu principal');readkey;

end;

Devoir d’Algorithmique S2 Page 9