Hébergé par Ti-Gen      
GFA-Basic On-Calc GFA Basic On-Calc!     
Bienvenue sur le site de GFA-Basic, un langage interprété on-calc pour les TI89/89T/92+ & V200.
Ce site a pour objectif de regrouper un ensemble d'outils et de documentations pour vous permettre de mieux exploiter ce langage sur votre calculatrice.

 
Menu général
News
Le manuel
FAQ (Foire Aux Questions)
Téléchargements
GFA-Basic Editor
Forum
Historique
A Propos...
Contacts

Administration

Partenaires




Compteur live
Compteur de visites Compteur pages rank




    
Présentation du langage
Dans ce petit chapitre vous allez apprendre le strictement minimum vital pour pouvoir programmer en GFA-Basic. C'est-à-dire maitriser l'ensemble des types de variables qui sont à votre disposition, les tableaux, les opérateurs mathématiques...


Organisation des opérateurs:

On distingue les opérateurs numériques et les opérations entre chaînes de caractères, selon que le résultat est un nombre ou une chaîne de caractères (string).

Il y a deux opérateurs de chaînes de caractères :

  • La concaténation de chaînes de caractères par l'opérateur + :

    Les chaînes de caractères sont mises à la suite les unes des autres pour n'en former plus qu'une.

    Exemple: Si A$="BASIC", B$="-" et C$="Gfa", la concaténation des 3 chaînes donne: A$+B$+C$ = "BASIC-Gfa".

  • Les fonctions sur les chaînes de caractères :

    LEFT$, RIGHT$, MID$, SPACE$, STRING$ et STR$.
    Ces fonctions seront décrites en détail.


    Il y a 4 types d'opérateurs numériques :

  • Les opérateurs arithmétiques
  • Les opérateurs de comparaison
  • Les opérateurs logiques
  • Les fonctions numériques

    Les fonctions numériques sont examinées de façon détaillée dans l'annexe A.


    Les opérateurs arithmétiques:

    Le BASIC Gfa connait les opérations arithmétiques suivantes (opérations de calcul) :


    ^       Puissance. Par exemple: 2^3=2*2*2=8

    (-),-   Signe négatif

    *       Multiplication

    /       Division

    DIV,\   Division entière.
            On prend la partie entière du résultat 
            de la division normale.
            On peut donc écrire A DIV B = A\B = TRUNC(A/B)
            Ex: 3.7 DIV 0.7 = 0.2
                -17 DIV -4 = 4

    MOD     Modulo. Le modulo correspond au reste de 
            la division entière.
            Ainsi:
            A MOD B = FRAC(A/B)*B
            Ex: 3.7 MOD 0.7 = 0.2
                -17 MOD -4  = -1

    +       Addition

    -       Soustraction



    Les opérateurs de comparaison:

    Les opérateurs de comparaison s'appliquent à deux expressions numériques ou à deux chaînes de caractères.
    Suivant la valeur booléenne prise par le résultat (Vrai ou faux), on attribut à ce résultat la valeur -1 (vrai) ou 0 (faux) (comme ce résultat est dans tous les cas un nombre, la comparaison de deux chaînes de caractères est aussi considérée comme une opération numérique).

    On dispose des opérateurs de comparaison suivants:


    =          Egal
    >          Strictement supérieur
    <          Strictement inférieur
    <>         Différent de
    >=         Supérieur ou égal
    <=         Inférieur ou égal



    Voici quelques exemples de comparaison d'expressions numériques:

    PRINT 3=1.5*2 donne la valeur -1 (vrai)
    PRINT 5>5 donne la valeur 0 (faux)
    PRINT 7<>17 donne la valeur -1 (vrai)
    PRINT 8<=8 donne la valeur -1 (vrai)

    La comparaison entre deux chaînes de caractères obéit aux régles suivantes:

  • Deux chaînes de caractères sont égales, si elles sont rigoureusement identiques (tous les caractères sont pris en compte, même les blancs et la ponctuation).

    Ainsi par exemple: " 1 ,7?::"=" 1 , 7?::"

  • Pour la comparaison de deux chaînes de caractères, l'interpréteur procéde de la manière suivante:

    L'interpréteur compare la taille des deux chaînes de caractères. Si ces valeurs sont différentes, alors la chaînes la plus grande est 'supérieur' à l'autre. Si les longueurs sont identiques, l'interpréteur compare les codes ASCII un par un, si ces valeurs sont différente, alors la chaîne avec le code ASCII le plus élevé est 'supérieur' à l'autre.


    Voici quelques exemmples illustrants ce propos:

    PRINT ("Gfa">"Gfa ") donne 0 (faux)
    PRINT ("123"<"ABC") donne -1 (vrai)
    PRINT ("abc"<"ABC") donne 0
    PRINT ("May">"Mai") donne -1
    PRINT (" Z">"A ") donne 0


    Les opérateurs logiques:

    Les opérateurs logiques permettent de relier entre elles des expressions ou des relations entre expressions.

    En régles générale, les opérateurs logiques s'appliquent à des variables booléennes (une variable booléenne peut prendre deux valeurs: Vrai ou Faux) et donne un résultat également booléen. De plus, on attribue à toute expression numérique égale à 0 la valeur Faux.

    Pour y voir plus clair, nous allons maintenant examiner les différents opérateurs logiques un par un. Par la suite, v signifiera vrai et f sera l'abréviation de faux.

    AND (ET logique)

    Le résultat d'un AND est seulement v, si tous les deux arguments sont v:


    A    B       A AND B
    ----------------------
    v    v       v
    v    f       f
    f    v       f
    f    f       f


    Exemple:
    PRINT 3=3 AND 4>2 donne -1 (v)
    PRINT 3>3 AND 5>3 donne 0 (f)


    OR (OU logique (non exclusif))

    Le résultat d'un OR est seulement f, si tous les deux arguments sont f:


    A    B       A OR B
    --------------------
    v    v       v
    v    f       v
    f    v       v
    f    f       f


    Exemple:
    PRINT "A"<"a" OR 3=5 donne -1 (v)
    PRINT 2>7 OR 10=20 donne 0 (f)


    XOR (OU exclusif)

    Le résultat d'un XOR est seulement v, si tous les deux arguments ont la même valeur:


    A    B       A XOR B
    ----------------------
    v    v       f
    v    f       v
    f    v       v
    f    f       f


    Exemple:
    PRINT 3=3 XOR 6=6 donne 0 (f)
    PRINT 3>5 XOR 3<5 donne -1 (v)


    NOT (Négation)

    Elle inverse la valeur de la variable booléenne.


    A    NOT B
    ------------
    v     f
    f     v


    Exemple:
    PRINT NOT 5>7 donne -1 (v)


    IMP (Implication)

    L'implication est seulement f, lorsque quelque chose de vrai entraine quelque chose de faux.


    A    B       A IMP B
    ----------------------
    v    v       v
    v    f       f
    f    v       v
    f    f       v


    Exemple:
    PRINT 3=5 IMP 2>3 donne -1 (v)
    PRINT 4>2 IMP 1=1*2 donne 0 (f)
    PRINT 3<4 IMP 5=5 donne -1 (v)


    EQV (Equivalence)

    L'équivalence est identique à (A IMP B) AND (B IMP A).


    A    B       A EQV B
    ----------------------
    v    v       v
    v    f       f
    f    v       f
    f    f       v


    Exemple:
    PRINT "A "<"AB" EQV 3=3 donne -1 (v)
    PRINT 3+3>8 EQV 2+2=4 donne 0 (f)

    Les opérateurs logiques sont principalement utilisés pour permettre différents déroulements possibles d'un programme, selon la valeur booléenne (Vrai ou Faux) liée à la comparaison de deux expressions (grâce aux instructions IF ... THEN ... ELSE et EXIT IF).

    Les opérateurs logiques peuvent aussi servir à tester une série de bits, comme nous allons le voir maintenant:

    Les opérandes auxquels peuvent s'appliquer des opérateurs logiques doivent être compris entre -2147483648 et +2147483647, car les opérateurs logiques travaillent avec des mots de 32 bits (pour la représentation négatifs, on utilise la complémentation à deux).

    Les opérandes sont réduits à des nombres entiers et traités bit par bit. Chacun des 32 bits du résultat est obtenu en appliquant l'un des opérateurs décrits ci-dessus aux bits correspondants des opérandes. 1 Signifie ici v (vrai) et 0 f (faux).

    Cela va se clarifier avec l'exemple qui suit:

    PRINT 29 AND 267 a pour résultat 9


    00000000 00000000 00000000 00011101 = 29
    00000000 00000000 00000001 00001011 = 267
    -----------------------------------------
    00000000 00000000 00000000 00001001 = 9


    PRINT -8 EQV 30 a pour résultat 25


    11111111 11111111 11111111 11111000 = -8
    00000000 00000000 00000000 00011110 = 30
    -----------------------------------------
    00000000 00000000 00000000 00011001 = 25



    Priorité des opérateurs:

    Les opérateurs sont traités dans l'ordre suivant:


    ( )              Les parenthèses sont prioritaires 
                     sur tout le reste.
                     Elles permettent de réaliser n'importe 
                     quelle opération.

    ^                Puissance.

    (-)              Signe négatif.

    *, /             Multiplication et division.

    DIV, \, MOD      Division entière et modulo.

    +, -             Addition et soustraction.

    =, <>, <, >, <=, >=  Opérations de comparaisons.

    NOT, AND, OR,    Opérations logiques.
    XOR, IMP, EQV


        
    Rubriques
    Introduction
    Liste des fonctions
    Tutorial de base
    Optimisations

     


    Copyright © 2004-2005 for Ti-Gen - Geoffrey Anneheim - Tous droits réservés.[Design by : Speedy-Diz]