Ejercicio #3

mail@pastecode.io avatar
unknown
prolog
a month ago
1.0 kB
2
Indexable
Never
%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.