Aller au contenu principal
BacInfo

Ch. 02 · Leçon 3

Le type scalaire énuméré, le type intervalle et les tableaux

45 minanalyse · pascal

Ce que vous saurez faire

  • Définir et déclarer un type scalaire énuméré en analyse et en Pascal.
  • Définir et déclarer un type intervalle.
  • Distinguer les opérateurs applicables aux types scalaires discrets.
  • Déclarer et manipuler un tableau unidimensionnel.
  • Utiliser un type tableau personnalisé pour structurer des données.

id: 33-231-types-enumere-intervalle-tableaux slug: 33-231-types-enumere-intervalle-tableaux titre: Le type scalaire énuméré, le type intervalle et les tableaux chapitre: 2 chapitre_titre: Les types de données et les structures de données lecon: 3 niveau: 4eme-sci ordre: 3 prerequis: [] duree_estimee_min: 45 mots_cles:

  • type enumere
  • type intervalle
  • tableau
  • vecteur
  • array
  • pascal
  • ord
  • pred
  • succ langages:
  • analyse
  • pascal objectifs:
  • Définir et déclarer un type scalaire énuméré en analyse et en Pascal.
  • Définir et déclarer un type intervalle.
  • Distinguer les opérateurs applicables aux types scalaires discrets.
  • Déclarer et manipuler un tableau unidimensionnel.
  • Utiliser un type tableau personnalisé pour structurer des données. status: published source_pdf: 33_231.pdf source_pages:
  • 1 kind: cours

Leçon 3 — Le type scalaire énuméré et le type intervalle

I. Le type scalaire énuméré

Activité

Définir le type jour contenant les jours de la semaine.

Tableau de déclaration des nouveaux types :

Types
Jour = (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche)

Propriétés et opérateurs

  • On peut appliquer la fonction Ord sur les valeurs d'un type énuméré pour déterminer leur numéro d'ordre.

    Exemple :

    • Ord(Lundi) = 0
    • Ord(Mardi) = 1
  • Les opérateurs applicables à ces valeurs sont :

    • Les opérateurs de relation : >, <, <=, >=, =, <>
    • Les opérateurs Pred (prédécesseur) et Succ (successeur)

Déclaration

Dans le Tableau de déclaration des nouveaux types :

Types
Jour = (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche)

Dans le TDO :

ObjetType/Nature
jjour

II. Le type intervalle

Activité

Définir le type mois, le type week_end et le type lettres.

Tableau de déclaration des nouveaux types :

Types
Jour = (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche)
week_end = samedi..dimanche
mois = 1..12
lettres = "a".."z"

Déclaration

Type <nom_type> = borne_inf..borne_sup ;

Dans le TDO :

ObjetType/Nature
jjour
mmois
wweek_end
llettres

Leçon 4 — Les tableaux

Activité d'introduction

On veut écrire un programme qui permet de saisir puis afficher la moyenne de 5 élèves d'une classe dans une matière donnée.

I. Déclaration d'un tableau

Tableau de déclaration des objets :

ObjetType/Nature
Ident_tableauTableau de taille et de type_element

Exemple

Tableau de déclaration des objets :

ObjetType/NatureRôle
MoyenneTableau de 5 réelsStocker les notes de 5 élèves

II. Le type tableau

Il est possible de créer un nouveau type tableau afin de le réutiliser pour déclarer plusieurs variables.

Exercice introductif

On a deux classes pour lesquelles on veut stocker, pour chaque élève, son nom, sa moyenne et son rang.

Tableau de déclaration des nouveaux types :

TYPES
Classe = tableau de 20 chaînes de caractères
T_Moyenne = tableau de 20 réels
T_rang = tableau de 20 entiers

Tableau de déclaration des objets :

ObjetType/NatureRôle
CL1ClasseTableau des noms des élèves de cl1
CL2ClasseTableau des noms des élèves de cl2
moyCl1T_moyenneTableau des moyennes de cl1
moyCl2T_moyenneTableau des moyennes de cl2
rangCl1T_rangTableau des rangs des élèves de cl1
rangCl2T_rangTableau des rangs des élèves de cl2

Exercice d'application

Exercice 1
Trace d'exécution sur un tableau

Soit la séquence d'instructions suivante :

  1. T[1] ← 30
  2. T[2] ← 7
  3. T[3] ← T[1] div T[2]
  4. T[4] ← T[3] * 10
  5. T[5] ← T[1] + T[3] * T[4]

Questions :

  1. Déclarer le tableau T.
  2. Quel est le contenu de chaque élément du tableau ?
Voir le corrigé

1) Déclaration du tableau T :

Comme toutes les valeurs manipulées sont entières, T est un tableau d'entiers de taille 5.

ObjetType/Nature
TTableau de 5 entiers

2) Contenu de chaque élément (trace d'exécution) :

Trace d'exécution
0 / 5
InstructionT[1]T[2]T[3]T[4]T[5]
01···?????
02···?????
03···?????
04···?????
05···?????

Détail des calculs :

  • T[3] = 30 div 7 = 4
  • T[4] = 4 * 10 = 40
  • T[5] = 30 + 4 * 40 = 30 + 160 = 190
Vérification des acquis

Quiz : énumérés, intervalles, tableaux

Vérifiez votre maîtrise des types construits du programme.

Quiz (5 questions)

1

Soit le type énuméré `Jour = (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche)`. Que vaut `Ord(Mercredi)` ?

2

Un **type intervalle** est utile pour :

3

Pour un tableau `T : tableau[1..n] de entier` en Analyse, les indices valides vont de :

4

Quelle déclaration est **valide** en Pascal pour un tableau de 10 entiers ?

5

Avantage principal d'un **type énuméré** par rapport à un entier ?

Bravo d'être arrivé jusqu'ici. Marquez la leçon terminée pour ancrer le progrès.