Les tableaux - 1 - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Les tableaux - 1

Description:

Les premiers calculs (minima, maxima et moyenne) de ce programme ne ... de m me type, chaque l ment tant rep r par un indice (sa place) dans cet assemblage. ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 12
Provided by: christia204
Category:

less

Transcript and Presenter's Notes

Title: Les tableaux - 1


1
LES TABLEAUX
2
Les tableaux Introduction
Voici un petit exercice Écrivez un programme
qui permet de saisir tous les jours de lannée la
température et qui affiche à la fin de lannée la
température minimale, la température maximale, la
température moyenne, et la température médiane
sur lannée. Les premiers calculs (minima, maxima
et moyenne) de ce programme ne pose pas de
problème majeur en effet la même variable peut
servir pour la saisie de toutes les températures,
il suffit simplement de mettre à jour au fur et à
mesure le minima, le maxima et la somme des
températures puis dafficher les résultats. Ce
qui donne le programme
3
program afficher_min_max_moyenne
var j,t, min, max, somme INTEGER
begin max Low(INTEGER) min
High(INTEGER) somme 0 j 1
// premier janvier while jlt366 do begin
traiter_temps(t,min,max,somme) j
j1 end (while)
writeln('minima ',min) writeln('maxima
',max) writeln('moyenne ',somme/365)
end.
4
  • Par contre la partie médiane pose un sérieux
    problème en effet on ne peut pas calculer  à la
    volée  la médiane sans mémoriser tous les
    nombres.
  • On pourrait bien sûr déclarer 365 variables t1,
    t2, , t365
  • Mais comment alors faire une boucle pour saisir
    ces 365 variables distinctes et sans rapport
    (hormis leur nom) et ensuite les traiter.
  • Les tableaux vont permettre de  regrouper  ces
    différentes variables en une seule et ensuite de
    pouvoir faire des traitements un peu comme le
    permet la notation indicielle en mathématiques

  • i365

  • Sti

  • i1

5
LES TABLEAUX DÉFINITION
Les tableaux permettent de regrouper des valeurs
de même type, chaque élément étant repéré par un
indice (sa place) dans cet assemblage. On peut
définir des types tableau ou même des variables
tableau sans que le type soit défini. Exemples
type T_TAB_BOOL array3..7 of BOOLEAN
var tab_bool array'a'.. 'z' of BOOLEAN
 Dans le premier si on veut une variable de ce
type il faudra la déclarer t T_TAB_BOOL .
Dans le second cas le type de tab_bool est
anonyme et aucun autre objet na le même type.
6
Pour définir un type ou une variable tableau on
doit donc préciser le type des éléments (BOOLEAN
dans nos exemples) ainsi que lintervalle des
indices (3..7 dans le premier cas et 'a'.. 'z'
dans le second). Comme on peut le voir, cet
intervalle nest pas obligatoirement un
intervalle dentiers, ce peut être un intervalle
de tout type discret (prédéfini ou non).
Quelques exemples type T_JOUR
(LUN,MAR,MER,JEU,VEN,SAM,DIM) type T_COULEUR
(BLEU,JAUNE,ROUGE) type T_TAB
arrayT_JOUR of FLOAT var tab
arrayT_COULEUR of T_JOUR
7
LES TABLEAUX UTILISATION
Que peut-on faire avec
des tableaux ? Comme pour les  record  , dans
certains langages, certaines opérations comme le
test dégalité (pas en Pascal) ou laf-fectation
sont définies sur des objets de même type
tableau, donc si on a type T_TAB ... var
t1, t2 T_TAB  On peut écrire dans un
programme des choses du genre if t1 t2
then ... REFUSÉ en Pascal t1 t2 Sinon il
faut bien sûr avoir accès à chaque élément (on
parle de case) du tableau et ceci se fait en
écrivant le nom du tableau suivi de lindice
entre crochets (exemple t1LUN).
8
Un exemple program afficher_produit_scalaire
const DIM 5 type T_VECTEUR
array1..DIM of REAL function
prod_scal(u,vT_VECTEUR)REAL var resultat
REAL begin resultat 0 for i 1
to DIM do begin resultat resultat
uivi end (for) prod_scal
resultat end (prod_scal)
9
procedure saisir(out u ...) begin
... end (saisir) procedure
afficher(const u ...) begin ... end
(afficher) var u,v T_VECTEUR begin
saisir(u) saisir(v) afficher(u)
write('.') afficher(v) write('
',prod_scal(u,v)) end.
10
TABLEAUX À PLUSIEURS DIMENSIONS
On a besoin parfois dutiliser des tableaux à
plusieurs dimensions (par exemple pour les
matrices en algèbre linéaire). Cest bien sûr
parfaitement faisable mais en réalité on ne
manipule que très rarement des tableaux à plus de
deux dimensions. Il faut alors signaler pour
chaque dimension les indices type T_TAB
arrayT_IND1,T_IND2,,T_INDn of T_ELEMENT
équivalent à type T_TAB arrayT_IND1 of
arrayT_IND2 of
of arrayT_INDn of T_ELEMENT Exemple
Const NB_LIG 5 NB_COL 7 type T_MAT
array1..NB_LIG,1..NB_COL of REAL (ou type
T_MAT array1..NB_LIG of 1..NB_COL of REAL
) Si m T_MAT on peut écrire m2,4 ou
m24
11
LES TABLEAUX FONCTIONS
Comme pour les types énumérés il existe des
fonctions bien utiles pour les tableaux. Low
variable ou type ? le plus petit indice High
variable ou type ? le plus grand indice Length
variable ? le nombre
déléments Exemples type T_TAB1 is
array('A'.. 'D')of INTEGER var t1 T_TAB1
type T_TAB2 is array('A'.. 'D',1..3)of INTEGER
var t2 T_TAB2 on a alors Low(T_TAB1)
Low(t1) 'A' , High(t2'A') 3 et
Length(t1) 4 et Length(t2'A') 3
Write a Comment
User Comments (0)
About PowerShow.com