Ejercicio #3

Anonymous
prolog
10/19/2023 3:15 PM
1.3 KB
21
Indexable
%Ejercicio 03

sumar_arbol([],0):-!.

sumar_arbol([SI, DatoN , SD],Suma):-
    number(DatoN),
    sumar_arbol(SI,SumaIzq),
    sumar_arbol(SD,SumaDer),
    Suma is SumaIzq + SumaDer + DatoN,
    !.

sumar_arbol([SI, DatoN , SD],Suma):-
    \+ number(DatoN),
    sumar_arbol(SI,SumaIzq),
    sumar_arbol(SD,SumaDer),
    Suma is SumaIzq + SumaDer,
    !.

contador_elementos([],0):-!.

contador_elementos([SI, DatoN , SD],Contador):-
    number(DatoN), % Verifica si el valor es numérico
    contador_elementos(SI, ContadorIzq),
    contador_elementos(SD, ContadorDer),
    Contador is ContadorIzq + 1 + ContadorDer,
    !.

contador_elementos([SI, DatoN , SD],Contador):-
    \+ number(DatoN), % Verifica si el valor es numérico
    contador_elementos(SI, ContadorIzq),
    contador_elementos(SD, ContadorDer),
    Contador is ContadorIzq + ContadorDer,
    !.

media_aritmeticaa(Arbol,Prom):-
    sumar_arbol(Arbol,Suma),
    contador_elementos(Arbol,Cont),
    Prom is Suma / Cont.
Editor is loading...