Tableaux Cours 06
Problématique Imaginez une société disposant de 10 type d’articles différents La société ne vend ses articles que par paquet de 5 Pour chaque produit, on connait le prix unitaire Chaque type de produit est sujet à un taux de TVA de 21% On vous demande de calculer et d’afficher le prix TVA comprise des paquets de chaque article à l’écran sous la forme: “Prix du paquet de 5 produits de type 1: X EUR”
Liste des prix unitaires Numéro article Prix unitaire Art 1 10.00 € Art 2 6.75€ Art 3 15.00 € Art 4 14.99 € Art 5 25.00 € Art 6 35.00 € Art 7 40.00 € Art 8 0.99€ Art 9 12.00 € Art 10
Algorithme ECRIRE “Prix du paquet de 5 produits de type 1:” ECRIRE 5 * 10 * 1.21 .“EUR” ECRIRE RETOUR LIGNE ECRIRE “Prix du paquet de 5 produits de type 2:” ECRIRE 5 * 6.75 * 1.21 .“EUR” ECRIRE “Prix du paquet de 5 produits de type 3:” ECRIRE 5 * 15 * 1.21 .“EUR” ...
Algorithme ECRIRE “Prix du paquet de 5 produits de type 1:” ECRIRE 5 * 10 * 1.21 .“EUR” ECRIRE RETOUR LIGNE ECRIRE “Prix du paquet de 5 produits de type 2:” ECRIRE 5 * 6.75 * 1.21 .“EUR” ECRIRE “Prix du paquet de 5 produits de type 3:” ECRIRE 5 * 15 * 1.21 .“EUR” ...
Problématique Solution ingérable s’il y a 10.000 références ! Le problème peut-il être résolu par une boucle ? La boucle permet de répéter des instructions mais… Solution : Il faudrait mettre les différents prix dans une liste et à chaque passage dans la boucle, demander au programme de prendre l’élément suivant. Cette liste se nomme un tableau.
Définition Ensemble d’éléments homogènes (même type) Accessible par un nom Chaque élément est accessible par un indice Si le tableau contient n éléments, les éléments sont indexés de 0 à n-1 Exemple de code : x ← listePrix[2] 1 2 3 4 5 7 6 8 9 10 6.75 35 25 14.99 15 40 0.99 12 listePrix
Manipulation de tableau // lire un élément du tableau a ← listePrix[3] // ecrire à un emplacement particulier: listePrix[0] ← a // ajouter un élément à la fin du tableau: listePrix[] ← 60 // compter le nombre d’élément un tableau c ← NB(listePrix) a : 14.99 c : 11 1 2 3 4 5 7 6 8 9 10 6.75 35 25 14.99 15 40 0.99 12 listePrix
Algorithme ECRIRE “Prix du paquet de 5 produits de type 1:” ECRIRE 5 * 10 * 1.21 .“EUR” ECRIRE RETOUR LIGNE ECRIRE “Prix du paquet de 5 produits de type 2:” ECRIRE 5 * 6.75 * 1.21 .“EUR” ECRIRE “Prix du paquet de 5 produits de type 3:” ECRIRE 5 * 15 * 1.21 .“EUR” ...
Parcourir un tableau i ← 0 TANT QUE i < NB(listePrix) FAIRE ECRIRE “Prix du paquet de 5 produits de type ”.i.” :” ECRIRE 5 * listePrix[i] * 1.21 .“EUR” ECRIRE RETOUR LIGNE i ← i + 1 FIN TANT QUE
Exercices Concevoir un algorithme qui calcule la moyenne d’un tableau de nombres. Concevoir un algorithme qui calcule le nombre d’éléments qui sont supérieurs à 10 dans un tableau de nombres. Multiplier les éléments de deux tableaux de nombres de même taille pour former un troisième tableau. Concevoir un algorithme qui trouve le maximum et le minimum d’un tableau de nombres. Concevoir un algorithme qui construit un deuxième tableau à partir du premier, où les éléments sont présentés dans l’ordre inverse. A partir d’un « custom input » contenant une série de nombres terminée par un « q », construisez un tableau.