ORD |
Ordinal |
|---|---|
| Pascal | |
Syntaxe
| Function ORD(s:scalar-type):integer-type; |
Paramètres
| Nom | Description |
|---|---|
| s | Ce paramètre permet d'indiquer une expression de type scalaire |
Description
Cette fonction permet de connaître le rang de la valeur scalaire, par exemple on peut connaître le numéro de code ASCII d'un caractère de cette manière.
Algorithme
|
MODULE ORD(Valeur) SI Valeur est un caractère ALORS RETOURNE le code ASCII du caractère SINON SI Valeur est un élément d'un type énuméré ALORS RETOURNE la position de Valeur dans l'énumération, en commençant à 0 SINON SI Valeur est un entier ordinaire ALORS RETOURNE la valeur elle-même FIN SI |
Remarques
- La fonction ORD convertit une valeur scalaire (comme un caractère ou un booléen) en sa représentation entière ordinale. Elle est utile pour obtenir l'index numérique associé à une constante énumérée ou un caractère. Par exemple, ORD('A') renvoie 65, correspondant au code ASCII de la lettre A.
- ORD fonctionne uniquement avec des types scalaires, tels que les caractères, booléens ou types énumérés définis par l'utilisateur. Elle permet donc de manipuler ces valeurs comme des entiers, notamment dans des boucles ou calculs. Cela en fait un outil précieux pour les conversions ou comparaisons ordinales.
- Dans le cas des types énumérés, ORD renvoie la position de l'élément dans la déclaration du type. Par exemple, si on a type jours = (lundi, mardi, mercredi);, alors ORD(mardi) renvoie 1. Cela facilite l'indexation ou le parcours d'éléments énumérés.
- Pour les caractères, ORD permet d'accéder à leur valeur numérique dans l'ensemble de caractères utilisé (généralement ASCII). On peut ainsi facilement effectuer des opérations comme trier des caractères ou générer des plages alphabétiques. C'est aussi utile pour vérifier ou transformer les caractères à l'aide de conditions numériques.
- ORD est l'inverse logique de la fonction CHR, convertissant un entier en caractère. Cela permet un aller-retour entre représentation caractère et code numérique. Par exemple : CHR(ORD('A')) retourne 'A'.
- En utilisant ORD, on peut effectuer des calculs sur des types autrement non numériques, comme les booléens. Ainsi, ORD(true) retourne 1 et ORD(false) retourne 0, ce qui permet leur utilisation dans des opérations mathématiques simples. Cela offre une plus grande flexibilité pour certaines logiques conditionnelles.
- La fonction ORD n'accepte pas de types non scalaires, comme les tableaux, enregistrements ou chaînes de caractères complètes. Tenter d'utiliser ORD sur un type complexe provoquera une erreur de compilation. Il faut donc s'assurer que l'argument est bien un scalaire simple.
- L'utilisation de ORD dans des algorithmes facilite l'écriture de code plus compact et performant. Elle est particulièrement utile pour comparer, trier ou transformer des séries de caractères ou d'énumérations. Son comportement prévisible permet de gérer efficacement des structures de contrôle ou des indexations.
Dernière mise à jour : Mercredi, le 10 avril 2019