Olympiade d'Informatique de Madagascar

EPREUVE ELIMINATOIRE - OI-MADA 2007

Entrainement > Epreuve éliminatoire 2007

Exo1: Caisse enregistreuse
L’un de vos amis, Rakoto, vient de se lancer dans un nouveau business. Il a fait acquisition d’une épicerie. Son magasin est très bien placé, tous les soirs, Rakoto passe au moins 1h pour faire le bilan de la journée.
La tâche est loin d’être simple pour lui, qui pense tout de suite à vos talents d’informaticien et vous demande un petit coup de main. Vous allez devoir l’assister en réalisant divers programmes lui permettant de gérer sur son ordinateur ses affaires.

Il avait déjà associé un code à chaque article. Pour commencer, il veut juste un programme fonctionnant comme une caisse enregistreuse

Quand un client est devant la caisse :
-Rakoto saisit le code de l’article, l’ordinateur affiche le prix, et demande la quantité
-La saisie ne se termine qu’après entrée d’un code spécial (nombre négatif par exemple)
-L’ordinateur affiche le TOTAL
On peut saisir 2 fois le même code article mais on est sûr qu’on ne va pas saisir plus de 100 codes articles.

ENTREE : code article, quantité
SORTIE : prix, total

Pour vous faciliter les choses, on se limite à 20 articles. On n’a pas besoin du contrôle de saisie.
Les prix sont fixés dans un tableau (Code article - Prix)
Exemple:
1 - 1380
2 - 2500
3 - 1600

...
20 - 5000

Exemple de fonctionnement du programme
Entrer 100 « cent » pour terminer la saisie
Code article : 12
Prix : 1000 Ar Quantité : 2
Code article : 5
Prix : 500 Ar Quantité : 3
Code article : 12
Prix : 500 Ar Quantité : 1
Code article : 100

TOTAL : 4000 Ar
A la prochaine !

Ecrivez un algorithme pour ce programme.

Exo2: Guichet automatique
Vous avez été sélectionné pour participer à l’étude et la réalisation d’un guichet automatique pour banque. Une partie des programmes consiste à fournir le nombre de billets et pièces nécessaires pour une somme donnée.

Ex : 128500 Fmg
50000 : 2
25000 : 1
1000 : 3
500 : 1
Dans l’exemple ci-dessous, on ne peut jamais écrire 25000 : 5 au lieu de 50000 – 2 et 25000 :1 car tous les billets sont disponibles. 10 000 Ar – 5 000 Ar – 2 000 Ar – 1 000 Ar – 5 00 Ar – 200 Ar – 100 Ar – 50 Ar – 20 Ar – 10 Ar – 5 Ar – 4 Ar – 2 Ar – 1 Ar

Vous devrez utiliser comme unité l’Ariary.
ENTREE : somme
SORTIE : nombre de chaque billet

Ecrivez l’algorithme

Exo3: Recherche
Proposez un algorithme de recherche d’un élément dans un tableau de 1000 entiers.
Les valeurs dans le tableau sont triées dans l’ordre croissant. Testez votre programme avec un tableau de 20 entiers.