Corrigé C24.  Enoncé

Exercice 1 : Visibilité des objets

A(P) = { P, P2}
B(P) = {P, P1, P2}
C(P) = {P, P1, P2}
D(P) = {P, P1, P2, P3}
I, J, A(P1) = { P1}
A, B, C = {P3 }

Trace

**B =0
Après P2, A = 0
***C=2
Après P3, D=2
*I = 0
Après P1, D=0


Exercice 2 : Opération sur chaînes de caractères

Module Longueur

    FONCTION Longueur ( Mot) : ENTIER
    VAR     I , N : ENTIER
        MOT : TABLEAU[1..N] DE CAR
    DEBUT
        I := 0
        TANTQUE I < N ET T(I) # ' '
            I := I + 1
        FINTANTQUE
        SI T(N) # ' ' : I := I + 1 FSI
    FIN

Module Extract

    FONCTION Extract ( Mot, I, J) : TABLEAU[1..N] DE CAR
    VAR     I , N : ENTIER
        MOT, EX : TABLEAU[1..N] DE CAR
    DEBUT
        SI I >= 1 ET I <= N ET I+J <= N
            L := 0
            POUR K := I, I+J-1
                L := L + 1
                Ex(L) := Mot(K)
            FINPOUR
            Extract := Ex
        SINON
            Extract := ''
        FSI
    FIN

Module Index
.   
    FONCTION Index ( Mot2, Mot1) : ENTIER
    VAR     I , N : ENTIER
        Ok : BOOLEEN
        Mot1, Mot2 : TABLEAU[1..N] DE CAR
    DEBUT
        I := 1
        Ok := FAUX
        TANTQUE I <= N ET NON Ok
            SI Mot1 (I) # Mot2(I)
                I := I + 1
            SINON
                SI Mot1 = Extract(Mot2, I, Longueur(Mot1) )
                    Index := I
                    Ok := VRAI
                SINON
                    I := I + 1
                FSI
            FSI
        FINTANTQUE
        SI NON Ok : Index := 0 FSI
    FIN