График функции (y=lnx/sqrtx) - Lisp

Узнай цену своей работы

Формулировка задачи:

Помогите построить график функции

y=ln(x)/sqrt(x)

. В HomeLisp или AutoLISP. Нужен не скрин готового графика, а код программы...

Решение задачи: «График функции (y=lnx/sqrtx)»

textual
Листинг программы
(defun task nil
  (let ((w (gensym 'w))
        (x1 0)
        (y1 0)
        (x2 0)
        (y2 0))
    (grwCreate w 300 300 "График" _WHITE)
    (grwScale w -0.5 5 -2 2)
    (grwLine w 0 -100 0 100 _BLACK)
    (grwLine w -0.5 0 5 0 _BLACK)
    (grwSetParm w 2 1 _RED _WHITE)
    (setq x1 0.0001 y1 (/ (log x1) (sqr x1)))
    (loop
       (when (> x1 5) (return t))
       (setq x2 (+ x1 0.05) y2 (/ (log x2) (sqr x2)))
       (grwLine w x1 y1 x2 y2 _RED)
       (setq x1 x2 y1 y2))   
    (grwShow w)))

Объяснение кода листинга программы

В коде реализована постановка задачи График функции (y=lnx/sqrtx). Список действий:

  1. Создание графического окна с помощью функции grwCreate с указанием размера окна и его названия.
  2. Изменение масштаба графика с помощью функции grwScale.
  3. Отображение прямой с координатами (0,0) с помощью функции grwLine.
  4. Отображение оси x с помощью функции grwLine.
  5. Установка параметра графического окна с помощью функции grwSetParm.
  6. Инициализация переменных x1,y1,x2,y2 начальными значениями.
  7. В цикле изменяются значения x1,y1,x2,y2 и вызывается функция grwLine для отображения линии с координатами (x1,y1) и (x2,y2).
  8. Значения переменных x1,y1,x2,y2 присваиваются новым значениям после цикла.
  9. Вызов функции grwShow для отображения графика.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы