Fonctions intégrées en CodeFR

CodeFR offre un ensemble de fonctions intégrées prêtes à l’emploi, permettant de réaliser facilement des opérations courantes.

Une fonction intégrée prend des arguments entre parenthèses et renvoie un résultat : on l'utilise donc dans une expression, par exemple à droite d'une affectation (resultat = Racine(16)), jamais à gauche. Les arguments doivent avoir le bon type : Longueur(123) ou Racine("a") provoquent une erreur.


Fonctions Mathématiques

Fonction Description Exemple
Racine(x) Racine carrée de x (erreur si x est négatif) Racine(9) → 3.0
Sin(x) Sinus (en radians) de x Sin(0) → 0.0
Cos(x) Cosinus (en radians) de x Cos(0) → 1.0
Tan(x) Tangente (en radians) de x Tan(0) → 0.0
Log(x) Logarithme naturel de x (x strictement positif) Log(1) → 0.0
Log10(x) Logarithme base 10 de x (x strictement positif) Log10(100) → 2.0
Arrondi(x) Entier le plus proche de x (.5 va vers le plus éloigné de zéro) Arrondi(2.6) → 3
Abs(x) Valeur absolue de x Abs(-5) → 5
Ent(x) Partie entière de x : la partie décimale est supprimée (vers zéro) Ent(5.9) → 5
Alea() Nombre décimal aléatoire entre 0 (inclus) et 1 (exclu) Alea() → 0.432
Alea(min, max) Entier aléatoire entre min et max inclus (deux entiers, avec min <= max) Alea(1, 6) → 4

Ent et Arrondi renvoient des Entier : ce sont elles qui permettent de ranger un résultat décimal dans une variable Entier (n = Ent(7.8) est accepté, n = 7.8 est refusé). Elles diffèrent sur les valeurs à virgule :

x Ent(x) Arrondi(x)
3.7 3 4
2.5 2 3
-3.5 -3 -4

Exemple d’utilisation :

Variable resultat: Decimal

Debut
    resultat = Racine(16)
    Ecrire("La racine carrée de 16 est : ", resultat, "\n")
Fin

Fonctions de Manipulation de Chaînes de caractères

Les positions commencent à 0, comme les indices des tableaux : le premier caractère d'une chaîne est à la position 0, le dernier à la position Longueur(chaine) - 1.

Fonction Description Exemple
Longueur(chaine) Renvoie la longueur d'une chaîne Longueur("CodeFR") → 6
Concatener(ch1, ch2) Concatène deux chaînes (on imbrique les appels pour en assembler davantage) Concatener("Code", "FR") → "CodeFR"
Copie(ch, debut, longueur) Copie longueur caractères à partir de la position debut Copie("CodeFR", 0, 4) → "Code"
Comparer(ch1, ch2) Compare deux chaînes : 0 si égales, -1 si ch1 est avant ch2 (ordre des caractères), 1 sinon Comparer("ABC", "DEF") → -1
Recherche(ch, sous_ch) Position de la première apparition de sous_ch dans ch, ou -1 si elle n'y figure pas Recherche("CodeFR", "FR") → 4

Quelques précisions :

  • Copie : si longueur dépasse ce qui reste dans la chaîne, on obtient simplement la fin de la chaîne (Copie("abc", 1, 99) → "bc"). Si debut est égal à la longueur de la chaîne, le résultat est la chaîne vide ; s'il est plus grand ou négatif, le programme s'arrête avec une erreur « position hors des limites de la chaîne ». Une longueur négative est aussi une erreur.
  • Recherche : la casse compte (Recherche("CodeFR", "fr") → -1). Comme 0 est une position valide (le tout début de la chaîne), « non trouvé » est signalé par -1 : testez position >= 0 pour savoir si le texte a été trouvé.
  • Comparer compare caractère par caractère : les majuscules viennent avant les minuscules (Comparer("Zoe", "zoe") → -1).
  • Le + est réservé aux nombres : pour assembler des textes, utilisez Concatener ou donnez plusieurs arguments à Ecrire.

Exemple d’utilisation :

Variable taille: Entier
Variable position: Entier

Debut
    taille = Longueur("Bonjour")
    position = Recherche("Bonjour", "jour")
    Ecrire("Taille : ", taille, "\n")
    Ecrire("« jour » commence à la position ", position, "\n")
    Ecrire("Les trois premières lettres : ", Copie("Bonjour", 0, 3), "\n")
Fin

Conversions

CodeFR n'a pas de fonction de conversion entre texte et nombre. Ce qui existe :

  • décimal → entier : Ent(x) ou Arrondi(x) ;
  • entier → décimal : automatique (une variable Decimal à laquelle on affecte 3 contient 3.0) ;
  • texte tapé au clavier → valeur typée : Lire(variable) convertit selon le type déclaré de la variable.

Récapitulatif rapide

Type Exemple Retourne
Mathématique Sin(0) 0.0
Arrondi Arrondi(2.6) 3
Manipulation de chaîne Longueur("test") 4
Extraction Copie("CodeFR", 0, 4) "Code"
Recherche Recherche("CodeFR", "FR") 4

Ces fonctions intégrées simplifient le développement et rendent le code plus lisible et efficace en CodeFR.