Leçon 3: Le type scalaire énuméré et le type intervalle
Cette leçon aborde les types scalaires énumérés et les types intervalle, deux concepts fondamentaux dans la programmation structurée, notamment en Pascal. Elle s'inscrit dans un cours d'informatique portant sur les types de données et prépare à l'étude des tableaux.
D'après le document Leçon 3: Le type scalaire énuméré et le type intervalle
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Computer Science · PDF · 1 pages
Afficher l'aperçu du document
Cette leçon aborde les types scalaires énumérés et les types intervalle, deux concepts fondamentaux dans la programmation structurée, notamment en Pascal. Elle s'inscrit dans un cours d'informatique portant sur les types de données et prépare à l'étude des tableaux.
Le type scalaire énuméré
Le type scalaire énuméré définit un ensemble fini et ordonné de valeurs, chacune désignée par un identificateur. Ces valeurs sont rangées dans un ordre précis, ce qui permet d'appliquer certaines opérations spécifiques.
Par exemple, on peut définir un type jour qui contient les jours de la semaine :
jour = (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche)
La fonction Ord permet d'obtenir le numéro d'ordre d'une valeur dans l'énumération. Par exemple :
Ord(Lundi) = 0
Ord(Mardi) = 1
Les opérateurs relationnels >, <, <=, >=, =, <> sont applicables aux valeurs du type scalaire énuméré. De plus, les fonctions Pred (prédécesseur) et Succ (successeur) permettent de naviguer dans cet ensemble ordonné.
La déclaration en Pascal d'un type scalaire énuméré suit la syntaxe :
Type
<nom_type> = (constante_1, constante_2, ..., constante_n);
var
<nom_variable> : <nom_type>;
Par exemple :
Type
jour = (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche);
var
j : jour;
Il est important de noter qu'on ne peut ni lire (saisir) ni écrire (afficher) directement une variable de type scalaire énuméré. Par exemple, les instructions Writeln(j) ou Readln(j) ne sont pas valides.
Le type intervalle
Le type intervalle est défini par deux constantes bornes, une borne inférieure et une borne supérieure, appartenant à un type scalaire discret ordonné (comme un entier, un caractère ou un type scalaire énuméré). La condition est que la borne inférieure soit strictement inférieure à la borne supérieure.
Par exemple, on peut définir plusieurs types intervalle :
week_end = samedi..dimanche(intervalle sur le typejour)mois = 1..12(entiers de 1 à 12)lettres = 'a'..'z'(caractères de 'a' à 'z')
La déclaration en Pascal d'un type intervalle est :
Type
<nom_type> = borne_inf..borne_sup;
var
<nom_variable> : <nom_type>;
Exemple complet :
Type
jour = (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche);
week_end = samedi..dimanche;
mois = 1..12;
lettres = 'a'..'z';
var
j : jour;
m : mois;
w : week_end;
l : lettres;
Le type tableau
Un tableau est une structure de données permettant de stocker un nombre fini d'éléments du même type, organisés selon une disposition bien définie. Cette leçon se limite à l'étude des tableaux unidimensionnels, aussi appelés vecteurs.
Au niveau de l'analyse et de l'algorithme, un tableau est défini par son identificateur, sa taille et le type de ses éléments.
En Pascal, la déclaration d'un tableau s'effectue ainsi :
Var
Ident_tableau : ARRAY [B_inf..B_sup] OF type_element;Par exemple, pour stocker les notes de 5 élèves :
Var
Moyenne : ARRAY [1..5] OF REAL;
Pour accéder à un élément du tableau, on utilise son identificateur suivi de l'indice entre crochets. Par exemple :
Moyenne[4] := 13.5;
Les opérations possibles sur un élément du tableau sont les mêmes que celles définies sur une variable du même type.
Exemple d'utilisation des tableaux
On souhaite écrire un programme qui saisit puis affiche la moyenne de 5 élèves d'une classe dans une matière donnée. Le tableau Moyenne permet de stocker ces notes.
Déclaration de tableaux pour plusieurs classes
Pour gérer deux classes, on peut déclarer plusieurs tableaux :
| Objet | Type/Nature | Rôle |
|---|---|---|
| Classe | tableau de 20 chaînes de caractères | Stocker les noms des élèves |
| T_Moyenne | tableau de 20 réels | Stocker les moyennes des élèves |
| T_Rang | tableau de 20 entiers | Stocker les rangs des élèves |
En Pascal, on peut déclarer :
Type
classe = array [1..20] of string;
T_Moyenne = array [1..20] of real;
T_Rang = array [1..20] of integer;
var
cl1, cl2 : classe;
moyCl1, moyCl2 : T_Moyenne;
rangCl1, rangCl2 : T_Rang;
Exercice sur les tableaux
Considérons un tableau T de 5 entiers, avec les opérations suivantes :
- T[1] := 30
- T[2] := 7
- T[3] := T[1] div T[2]
- T[4] := T[3] * 10
- T[5] := T[1] + T[3] * T[4]
Les questions sont :
- Déclarer le tableau
T. - Déterminer le contenu de chaque élément du tableau après ces opérations.
La déclaration en Pascal serait :
Var
T : array [1..5] of integer;
Le contenu des éléments est calculé ainsi :
- T[1] = 30
- T[2] = 7
- T[3] = 30 div 7 = 4 (division entière)
- T[4] = 4 * 10 = 40
- T[5] = 30 + 4 * 40 = 30 + 160 = 190
Points clés
- Le type scalaire énuméré définit un ensemble fini et ordonné de valeurs identifiées.
- La fonction
Orddonne la position d'une valeur dans une énumération. - Les opérateurs relationnels et les fonctions
PredetSuccsont applicables aux types scalaires énumérés. - Le type intervalle est défini par deux bornes appartenant à un type scalaire discret ordonné.
- Les types intervalle peuvent être définis sur des entiers, caractères ou types énumérés.
- Un tableau est une structure de données stockant un nombre fini d'éléments du même type, accessible par indice.
- En Pascal, un tableau est déclaré avec
ARRAY [borne_inf..borne_sup] OF type_element. - Les opérations sur les éléments d'un tableau sont identiques à celles sur des variables simples du même type.
Commentaires
Aucun commentaire pour le moment. Posez la première question.