cours  |  td  |  examens  |  doc  |  liens  |  horaires
 Scheme





INTRODUCTION AUX STRUCTURES
DE DONNÉES COMPOSÉES




  • LES PRIMITIVES CAR, CDR, CONS: :
  • 
    
    (CAR <LISTE>)

    --> DONNE L'ÉLÉMENT EN TÊTE DE
    <LISTE>

    
    
    (CDR <LISTE>)

    --> DONNE LA LISTE OBTENUE EN
    SUPPRIMANT L'ÉLÉMENT EN TÊTE
    DE <LISTE>

    
    
    (CONS <ELEMENT> <LISTE>)

    --> RECONSTRUIT LA LISTE EN
    PLAÇANT <ÉLÉMENT> EN TÊTE DE
    <LISTE>

    
    

  • LA PRIMITIVE QUOTE :

  • UNE LISTE:

    • UNE PARENTHÈSE (

    • DES ÉLÉMENTS SÉPARÉS PAR
      DES BLANCS

    • UNE PARENTHÈSE )

    
    
    
    ON A VU QU'UNE EXPRESSION EST
    DE LA FORME:

    • UNE PARENTHÈSE (

    • UNE OPÉRATION

    • SUIVIE DES "ARGUMENTS"
      AUXQUELS ELLE S'APPLIQUE,
      SÉPARÉS PAR DES BLANCS

    • UNE PARENTHÈSE )

    
    
    UNE EXPRESSION EST FAITE POUR
    ETRE "EVALUEE" (CALCULEE)


    UNE LISTE : NON !
    (C'EST UNE DONNÉE)


    ==> IL FAUT UN MOYEN
    D'EMPÉCHER L'ÉVALUATION

    LA FONCTION (QUOTE <EXP>)
    RETOURNE COMME VALEUR
    L'EXPRESSION <EXP>
    NON ÉVALUÉE

    
    
    • L'ÉVALUATION DE

      (1 2 3 4)

      DONNE UNE ERREUR:
      ---> 1 N'EST PAS UNE FONCTION

      
      
    • L'ÉVALUATION DE

      (QUOTE (1 2 3 4))

      DONNE LA LISTE (1 2 3 4)
      NON ÉVALUÉE !


    NOTATION:

    (QUOTE <EXP>)

    EST NOTÉ :

    '<EXP>

    
    
    ATTENTION : QUOTE N'EST PAS LIST !...
    --> AVEC DES VARIABLES X=1, Y=2, ON A :
    
    
    (LIST X Y)

    --> (1 2)

    
    
    '(X Y)

    --> (X Y)

    
    
  • Exemples : quote
    
    
    

  • REPRESENTATION DES LISTES :
  • 
    
    LA FONCTION

    (CONS <ELEMENT> <LISTE>)

    FABRIQUE EN MACHINE UN
    "DOUBLET" DE POINTEURS:

    • L'UN POINTE SUR <ELEMENT>

    • L'AUTRE POINTE SUR <LISTE>

    paire

    LA LISTE (1 2 3 4)
    S'OBTIENT PAR:


    
    (CONS 1 
    
        (CONS 2 
    
           (CONS 3 
    
              (CONS 4
    
                  () ))))
    
                 LISTE VIDE
    
    
    
    --> IL Y A 4 APPELS DE LA
    FONCTION "CONS"

    DONC IL Y A CREATION DE 4
    "DOUBLETS" POUR FABRIQUER LA
    LISTE (1 2 3 4)

    doublets 4 elements

    
    

cours  |  td  |  examens  |  doc  |  liens  |  horaires
 Scheme