Dans le but de simuler le comportement d'un futur syst�me conversationnel de gestion des transactions bancaires, la banque BUQAM d�sire produire un prototype pour les transactions de d�p�t et de retrait. Elle vous demande de concevoir et de r�aliser un petit programme qui devra permettre � un utilisateur autoris� (client dont le num�ro de compte est compris entre 10000 et 11000) de proc�der aux transactions suivantes : - Initialiser le compte avec un d�p�t initial. Ce d�p�t doit �tre sup�rieur ou �gal � 0. - Proc�der aux transactions de d�p�t ou de retrait tant que l'utilisateur le d�sire et que les conditions le permettent (voir contraintes ci-dessous). L' utilisateur devra alors indiquer le type de transaction � effectuer ('d' ou 'D' pour un d�p�t, et 'r' ou 'R' pour un retrait). Lorsqu'il s'agit d'un retrait et que le montant � retirer est connu, le syst�me devra v�rifier la disponibilit� des fonds avant d'ex�cuter la transaction. S'il y a des fonds disponibles mais que le montant du retrait est sup�rieur au montant disponible (incluant la marge de d�couvert), le syst�me devra sugg�rer � l' utilisateur la limite disponible pour le retrait et l'inviter � recommencer. Le programme devra s'arr�ter dans l'un des cas suivants : o le solde est inf�rieur ou �gal � 0 ou � -1000$ selon la cat�gorie du client ; o l'utilisateur n'a plus de transaction � effectuer. Dans chacun des cas pr�c�dents, le syst�me devra afficher � l'�cran les statistiques suivantes : o Le nombre total de transactions de d�p�t accept�es y compris le d�p�t initial. o Le nombre total des transactions de retrait accept�es. o Le nombre de transactions de retrait refus�es. o Le montant moyen des d�p�ts (en consid�rant aussi le d�p�t initial). o Le montant moyen des retraits. Quelques contraintes : - La banque BUQAM autorise un d�couvert pouvant atteindre 1000$ pour les clients dont le num�ro est compris entre 10500 et 11000. - Le nombre maximal d'erreurs autoris� lors de l'acc�s au syst�me est de 3. Lorsqu'il y a erreur au troisi�me essai, le programme s'arr�te imm�diatement. - Le syst�me ne devra pas accepter des transactions de d�p�t ou de retrait pour des montants de plus de 10000 $. RESSOURCE ET CONTRAINTES: � Bien observer les r�sultats produits par l'ex�cutable fourni avec ce travail. � Votre programme devra se comporter au moins comme l'ex�cutable qui vous est fourni. � Ne pas �crire des fonctions et des proc�dures. � Ne pas utiliser l'instruction GOTO � Il est interdit d'utiliser l'instruction EXIT ailleurs que dans une instruction LOOP � Il est interdit de sortir d'une boucle FOR par une instruction RETURN, GOTO ou EXIT � Il est interdit d'utiliser les types de donn�es compos�s(tableaux, enregistrements, string.) � Il est interdit d'utiliser USE avec autre chose que Ada.Text_IO. � Ne pas utiliser les exceptions. � Vous devez valider les donn�es saisies par l'utilisateur. COMMENT PROC�DER �tape 1. 1. Assurez-vous de bien comprendre l'�nonc� du probl�me. 2. Faites une premi�re �bauche (diagramme hi�rarchique + pseudo-code) de la solution dans ses grandes lignes. 4. Affinez la premi�re �bauche de la solution autant de fois que n�cessaire. 5. D�terminez les tests que vous ferez subir � votre programme afin de vous convaincre de son bon fonctionnement (strat�gie de validation). 6. Testez votre algorithme final � la main � l'aide de votre strat�gie de validation, en faisant une trace. 6. S'il y a des probl�mes, revenez � une des parties pr�c�dentes afin de d�terminer la source de ceux-ci et de les corriger. 7. �crivez le guide d'utilisation. �tape 2 8. Codez votre algorithme en Ada et corrigez-le tant qu'il y a des erreurs de compilation. 9. Testez votre programme � l'aide de la strat�gie pr�vue � l'�tape 1. 10. S'il y a des probl�mes revenez � une des parties pr�c�dentes (�tape 1 et/ou �tape 2) afin de d�terminer la source de ceux-ci.