Проверка числа на простое и вывод ряда простых чисел входящих в отрезок на языке программирования Пролог,prolog


Добавил:DMT
Дата создания:6 января 2008, 15:50
Дата обновления:28 апреля 2008, 12:43
Просмотров:5024 последний 7 апреля, 22:42
Комментариев: 0

Проверка числа на простое и вывод ряда простых чисел входящих в отрезок на языке программирования Пролог,prolog.

Код на Lisp
  1.  
  2. domains
  3. il=INTEGER*
  4.  
  5. predicates
  6.  
  7. isprostoe(INTEGER,INTEGER)
  8. rayd_prostyx(INTEGER,INTEGER,window)
  9. raydprostyx(INTEGER,INTEGER,INTEGER,window)
  10. nondeterm islim_right(INTEGER,INTEGER)
  11. nondeterm is_abraka(STRING,INTEGER,STRING,INTEGER)
  12.  
  13. clauses
  14. isprostoe(Xs,X1):-X1>=Xs,!.
  15. isprostoe(Xs,X1):- (Xs mod X1)<>0,X2=X1+1,isprostoe(Xs,X2).
  16. rayd_prostyx(I1,I2,L):-raydprostyx(I1,I2,I1,L).
  17. raydprostyx(I1,I2,C,L):-is_prostoe(C,L),nl,fail.
  18. raydprostyx(I1,I2,C,L):-C1=C+1,C<I2,raydprostyx(I1,I2,C1,L).
  19.  
  20. is_abraka(A,X,B,Y):-str_long(A,X),str_long(B,Y),islim_right(X,Y),!.
  21. is_abraka(_,X,_,Y):-X=0,Y=0,dlg_MessageBox("Error!",
  22. "В одном из полей не натуральное число или слишком
  23. большее число.\nВведите пожалуйста целое число",
  24. mesbox_iconError,mesbox_buttonsOK,mesbox_defaultFirst,mesbox_suspendApplication),!.
  25. islim_right(L1,L2):-L1<L2,!.
  26. islim_right(_,_):-dlg_Note("Верхний предел меньше нижнего").
  27.  
  28.  
При использовании обязательна ссылка на http://DMTSoft.ru
up