项目作者: linosorice

项目描述 :
Sorting an Array with BST and list written in Prolog
高级语言: Prolog
项目地址: git://github.com/linosorice/prolog-sorting.git
创建时间: 2017-10-13T16:47:16Z
项目社区:https://github.com/linosorice/prolog-sorting

开源协议:

下载


Prolog Array Sorting

Signature of methods

  • findExamsInRange(L, A, B, N): Returns in L all the exams with a vote range [A,B] stored in a BST. In N writes the number of controls done.

  • listrange(L, A, B, N): Returns in L all the exams with a vote range [A,B] stored in a list. In N writes the number of controls done.

Examples

  1. exam(geometria,23),
  2. exam(fondamenti_inf_1,29),
  3. exam(calc_delle_prob,21),
  4. exam(analisi_mat_1,25),
  5. exam(fisica,26),
  6. exam(calc_elettronici,26),
  7. exam(analisi_mat_2,24),
  8. exam(controlli_autom,29),
  9. exam(teoria_dei_sitemi,24),
  10. exam(reti_di_calcolatori,25),
  11. exam(fondamenti_inf_2,24),
  12. exam(sistemi_operativi,28),
  13. exam(basi_di_dati,25),
  14. exam(telecomunicazioni,20),
  15. exam(ricerca_operativa,22),
  16. exam(contr_gest_reti,28),
  17. exam(complementi_fisica,19)

BST

  1. ?- findExamsInRange(L, 23, 27, N).
  2. L = [exam(geometria, 23), exam(analisi_mat_1, 25), exam(analisi_mat_2, 24), exam(teoria_dei_sitemi, 24),
  3. exam(fondamenti_inf_2, 24), exam(reti_di_calcolatori, 25), exam(basi_di_dati, 25), exam(fisica, 26),
  4. exam(calc_elettronici, 26)],
  5. N = 24.

List

  1. ?- listrange(L, 23, 27, N).
  2. L = [exam(geometria, 23), exam(analisi_mat_1, 25), exam(fisica, 26), exam(calc_elettronici, 26),
  3. exam(analisi_mat_2, 24), exam(teoria_dei_sitemi, 24), exam(reti_di_calcolatori, 25),
  4. exam(fondamenti_inf_2, 24), exam(basi_di_dati, 25)],
  5. N = 26.