[Précedent][Fin-Préc.][Bas][Nœud supérieur]

4 Éléments de corrigé


  %%% - partie 2 - %%%
  
  ’Il fait beau’.
  ’Je suis en vacances’.
  ’C est la rentree’.
  
  ’Il va falloir travailler’ :- ’C est la rentree’.
  ’Je suis content’ :- ’Il fait beau’.
  ’Je suis content’ :- ’Je suis en vancances’.
  
  
  
  %%% - partie 3.1 - %%%
  prem([H|_], H).
  
  rest([_|T], T).
  
  der([E], E).
  der([_|T], Z) :-
    der(T, Z).
  
  nieme(1, [H|_], H).
  nieme(N, [_|T], Z) :-
    N > 0,
    N1 is N - 1,
    nieme(N1, T, Z).
  
  elem(E, [E|_]).
  elem(E, [_|T]) :-
    elem(E, T).
  
  concat1([], X, X).
  concat1([H|T], Y, [H|Z]) :-
    concat1(T, Y, Z).
  
  
  
  long([], 0).
  long([_|T], N) :-
    long(T, N1),
    N is N1 + 1.
  
  paire([]).
  paire([_|T]) :-
    impaire(T).
  impaire([_]).
  impaire([_|T]) :-
    paire(T).
  
  
  %% - partie 3.2 - %%
  extraire(X, [X|L], L).
  extraire(X, [Y|L1],[Y|L2]) :-
    extraire(X,L1,L2).
  
  
  sous_liste(L1, L) :-
    concat1(_, L1, L2),
    concat1(L2, _, L).
  
  miroir(X, Y) :-
    transfere(X, [], Y).
  
  transfere([], L, L).
  transfere([H|T], L1, L2) :-
    transfere(T, [H|L1], L2).
  
  palindrome(L) :-
    miroir(L, L).
  
  
  %% - partie 3.3 - %%
  est_arbre([X]) :-
    atom(X).
  
  est_arbre([X, Y, Z]) :-
    atom(X),
    est_arbre(Y),
    est_arbre(Z).
  
  
  nombre_noeuds([_], 1).
  
  nombre_noeuds([_, Y, Z], N) :-
    nombre_noeuds(Y, N1),
    nombre_noeuds(Z, N2),
    N is N1 + N2 + 1.
  
  
  prof([_], 0).
  prof([_, Y, Z], N) :-
    prof(Y, N1),
    prof(Z, N2),
    N is max(N1, N2) + 1.

 


[Précedent][Fin-Préc.][Haut][Nœud supérieur]