Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. /*****************************************************************************
  2.  
  3. Copyright ©
  4.  
  5. ******************************************************************************/
  6.  
  7. implement main
  8. open core, console, math
  9.  
  10. constants
  11. className = "main".
  12. classVersion = "".
  13.  
  14. class predicates
  15. check: (real, real,real,real,real) procedure(i, i, i, i, i). % multi
  16.  
  17. clauses
  18. check(X,Y,OX,OY,R):- RD=sqrt(sqr(X-OX)+sqr(Y-OY)), RD<R, !, write("Точка лежит внутри окружности "),nl.
  19. check(X,Y,OX,OY,R):- RD=sqrt(sqr(X-OX)+sqr(Y-OY)), RD=R, !, write("Точка лежит на окружности "),nl.
  20. check(_,_,_,_,_):- write("Точка вне окружности "),nl.
  21. clauses
  22. classInfo(className, classVersion).
  23. clauses
  24. run():-
  25. init(), %инициализация консоли
  26. write("Введите координаты точки"),nl,
  27. write("X="), X=read(), %автоперенос из-за ентера
  28. write("Y="), Y=read(),
  29. write("Введите координаты центра окружности"),nl,
  30. write("OX="), OX=read(),
  31. write("OY="), OY=read(),
  32. write("Введите радиус окружности"),nl,
  33. write("R="), R=read(),
  34.  
  35. check(X,Y,OX,OY,R), _=readLine().
  36.  
  37. /*
  38. RD=sqrt(sqr(X-OX)+sqr(Y-OY)),
  39. if RD<R then write("Точка лежит внутри окружности "),nl
  40. elseif RD=R then write("Точка лежит на окружности "),nl
  41. else write("Точка вне окружности "),nl
  42. end if,
  43. */
  44.  
  45. end implement main
  46.  
  47. goal
  48. mainExe::run(main::run).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement