Exerciții Model parțial, Exercițiul 1

employee_with_good_salary/3

Fie un predicat employee_salary/2 care configurează un nume de angajat și salariul acestuia. De exemplu, employee_salary(peter, 1000).

Primind o listă de elemente employee_salary, determinați numele tuturor angajaților care câștigă o sumă minimă configurată. Veți scrie un predicat employee_with_good_salary(InputList, MinimumSalary, ResultList).

?- employee_with_good_salary([employee_salary(peter, 1000), employee_salary(oliver, 1200),
                              employee_salary(sam, 700), employee_salary(ben, 15000),
                              employee_salary(sandra, 4500)], 1200, Res).
Res = [oliver, ben, sandra]

Hint: findall/3 cu pattern-ul de filtrare — member(employee_salary(Name, Salary), InputList), Salary >= MinSalary.

Te-ai blocat?
editor soluție
?-
Tastează o interogare (ex. father_of(sandra, X).) și apasă Enter — sau apasă pe un caz de test de mai jos.
Cazuri de test (1 — apasă pe unul ca să îl rulezi, sau Verifică pentru toate)
?
employee_with_good_salary([employee_salary(peter,1000), employee_salary(oliver,1200), employee_salary(sam,700), employee_salary(ben,15000), employee_salary(sandra,4500)], 1200, R). așteptat: R = [oliver,ben,sandra]