Features Title Here. Consectetur adipisicing

Features Content Here. Sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Examen Algorithmique

lundi 17 février 2014

Exercice 1: Transformation

On désire écrire un algorithme qui réalise une transformation des nombres entiers positifs de trois chiffres et qui est défini comme suit :
-          On considère un nombre positif N à 3 chiffres et non divisible par 10.
-          On construit 2 nouveaux nombres à partir de N
§  Le premier nombre C en ordonnant les chiffres de N par ordre croissant (de gauche à droite)
§  Le deuxième nombre D en réordonnant les chiffres de N par ordre décroissant (de gauche à droite)
-          Le résultat de la transformation est la différence entre D et C (D-C).
Exemple :
N = 759
C = 579
D = 975
  •  Le résultat R de la transformation est : R = 975 – 579 = 396


1)       Ecrire la procédure SAISIE qui permet de saisir un entier positif N à 3 chiffres et non divisible par 10.
2)      Ecrire la fonction TRANSFORMATION qui pour un entier donné retourne le résultat de la transformation R.

3)      Ecrire l’algorithme principal.

Exercice 2: Gestion Automobile

Un marchand d’automobiles d’occasion souhaite gérer son stock automatiquement en utilisant un programme permettant l’ajout d’une nouvelle voiture, l’affichage de la liste des prix des voitures d’une marque donnée, la détermination du nombre de voitures et la suppression d’une voiture donnée.
Le stock, initialement vide, ne doit pas dépasser une limite supérieure de 180 voitures.
Chaque voiture est définie par :
-        Un numéro d’immatriculation. Ce numéro sera différent pour chaque voiture. Il est de type chaîne de caractères (8 caractères)
-        Une marque de type chaîne de caractère (20 caractères)
-        Un prix de type réel.
Le stock de voitures sera représenté par un tableau nommée Lv contenant les diverses informations relatives à ces voitures.

Questions :
1)       Déterminer les structures de données nécessaires pour représenter les informations précédentes.
2)      Ecrire une fonction EXISTE (Lv, Nv, Mt) qui vérifie si le numéro d’immatriculation Mt de la voiture donnée existe déjà dans Lv qui contient Nv voitures.
3)      Ecrire une fonction TRIE (Lv, Nv) qui permet de dire si les voitures sont triées par ordre croissant de prix ou non.
4)      Ecrire une procédure INSERTION (Lv, Nv, Voit) permettant l’insertion de la voiture Voit dans Lv selon le principe suivant : Si la liste des voitures est triée selon le prix, la voiture Voit sera insérée à sa place de telle sorte que la liste reste triée sinon elle sera insérée à la fin. On doit vérifier que cette dernière n’existe pas dans la liste contenant les Nv voitures.
5)      Ecrire une procédure AFFICHE_MARQUE (Lv, Nv, MARQ ) permettant l’affichage du prix et du numéro d’immatriculation de chacune des voitures dont la marque est MARQ, ou d’un message si cette marque n’est pas disponible.
6)      Ecrire une procédure suppression SUPPRESSION (Lv, Nv, Mt) permettant la suppression de la voiture dont le numéro d’immatriculation est Mt du stock Lv.
7)      Ecrire une procédure TRI (Lv, Nv) permettant de trier la liste des voitures du stock dans l’ordre croissant suivant le critère Prix en utilisant la méthode de tri par insertion ou le tri à bulles. Préciser la méthode utilisée.
8)      Ecrire le programme principal qui affiche le menu suivant et permet de choisir l’une des opérations et effectuer le traitement correspondant jusqu’à ce que l’utilisateur demande de quitter l’application. :

Menu:
    Choisir une Opération :
1-       Insertion d’une voiture.
2-      Affichage des voitures d’une marque donnée.
3-       Affichage du nombre de voitures du stock.
4-      Suppression d’une voiture donnée.
5-      Afficher stock dans l’ordre croissant suivant le prix.
      6-      Quitter 

0 commentaires:

Enregistrer un commentaire