TD pizza
TD : TD pizza. Recherche parmi 300 000+ dissertationsPar techpourtous42 • 3 Avril 2020 • TD • 992 Mots (4 Pages) • 576 Vues
PIZZAS
L’objectif de cette épreuve est de réaliser et mettre en œuvre un système de sélection (simplifié) dans la carte d’un restaurateur.
Un restaurateur vient d’ouvrir une pizzeria. Dans ce sujet nous nous intéressons à la partie "Pizzas" de sa carte. Elle se présente de la façon suivante :
-- Pizzas -- 00 Marinara (tomate, ail, origan, huile d'olive) 01 Regina (tomate, mozzarella, jambon, champignons) 02 Artica (roquette, mozzarella, crevettes, saumon) 03 Margherita (tomate, mozzarella, basilic, huile d'olive) 04 Romaine (tomate, anchois, origan, huile d'olive) 05 Napolitaine (tomate, olives noires, origan, huile d'olive). 06 Sicilienne (tomate, basilic, anchois, câpres) 07 Quatre saisons (jambon, champignons, olives, artichauts) 08 Quatre fromages (mozzarella, gorgonzola, parmesan, Selles-sur-Cher) 09 Calzone (mozzarella, jambon, tomate, œufs) 10 Toute garnie (tomate, pepperoni, poivrons verts, champignons) 11 Hawaïenne (mozzarella, tomate, jambon, ananas) |
Le restaurateur a remarqué que ses clients ont des préférences pour certains ingrédients. Il souhaite réaliser un programme qui prend en entrée un nom d'ingrédient (puis plusieurs) et qui retourne le nom des pizzas contenant cet ingrédient (ou ces ingrédients).
Une pizza est codée comme un tableau de chaines de caractères représentant les ingrédients de la pizza.
Par exemple :
La pizza "Regina" correspond au tableau {"tomate","mozzarella","jambon","champignons"}
Dans tout le problème, chaque pizza a exactement 4 ingrédients.
Composants fournis.
Dans tout le sujet, on considère les variables globales, « Noms » et « Ingredients » de type tableau, initialisées de la façon suivante :
Noms 🡨 {"Marinara", "Regina", "Artica", "Margherita", "Romaine",
"Napolitaine", "Sicilienne", "Quatre saisons", "Quatre fromages",
"Calzone", "Toute garnie", "Hawaïenne"}
Ingredients 🡨 {{"tomate", "ail", "origan", "huile d'olive"},
{"tomate", "mozzarella", "jambon", "champignons"},
{"roquette", "mozzarella", "crevettes", "saumon"},
{"tomate", "mozzarella", "basilic", "huile d'olive"},
{"tomate", "anchois", "origan", "huile d'olive"},
{"tomate", "olives noires", "origan", "huile d'olive"},
{"tomate", "basilic", "anchois", "câpres"},
{"jambon", "champignons", "olives", "artichauts"},
{"mozzarella", "gorgonzola", "parmesan", "Selles-sur-Cher"},
{"mozzarella", "jambon", "tomate", "œufs"},
{"tomate", "pepperoni", "poivrons verts", "champignons"},
{"mozzarella", "tomate", "jambon", "ananas"}}
A chaque nom de pizza Noms[i] correspond le tableau d’ingrédient Ingredients[i].
On considère la procédure « Pizzas_avec » qui prend en paramètre le nom d’un ingrédient et retourne, sous la forme d’un tableau d’entiers, les numéros des pizzas contenant cet ingrédient.
Les pizzas sont numérotées de 0 à 11.
Le tableau retourné qui est de taille 12 est complété avec des 99 pour les cases qui ne contiennent pas de numéro de pizza.
[pic 1]
- Fonction Pizzas_avec (Ingredient : du type chaine de caractères) :
- Variables :
- Nb_pizzas_valides, i, j sont du type entier
- Pizzas_valides est du type tableau d'entiers
- Début :
- Nb_pizzas_valides 🡨 0
- Pizzas_valides 🡨 {99,99,99,99,99,99,99,99,99,99,99,99}
- Pour i de 0 à 11 faire
- Si (Ingredients[i][0] = Ingredient) alors
- Pizzas_valides[Nb_pizzas_valides] 🡨 i
- Nb_pizzas_valides 🡨 Nb_pizzas_valides + 1
- Fin du Si
- Fin du Pour
- retourner Pizzas_valides
- Fin de la fonction
PARTIE A
Cette partie doit être traitée avant d’accéder aux ordinateurs.
...