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 positionLongueur(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: silongueurdépasse ce qui reste dans la chaîne, on obtient simplement la fin de la chaîne (Copie("abc", 1, 99)→"bc"). Sidebutest é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). Comme0est une position valide (le tout début de la chaîne), « non trouvé » est signalé par-1: testezposition >= 0pour savoir si le texte a été trouvé.Comparercompare 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, utilisezConcatenerou 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)ouArrondi(x); - entier → décimal : automatique (une variable
Decimalà laquelle on affecte3contient3.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.