Синтаксическая ошибка при табулировании функции - Lisp

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

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

Добрый вечер У меня табулирование функции где здесь ошибка ?
Листинг программы
  1. (print "kol shagov N=")
  2. (setq n (read))
  3. (setq h (/ 0.5 n ))
  4. (loop for x from 0.1 to 0.6
  5. ( ((setq y (- x 8 ))
  6. (print "x=")
  7. (print x)
  8. (print " y=")
  9. (print y)
  10. (printline ""))
  11. ( setq x (+ x h))
  12. )
  13. )
и почему while не распознает ?
Листинг программы
  1. (print "kol shagov N=")
  2. (setq n (read))
  3. (setq h (/ 0.5 n ))
  4. (setq x 0.1)
  5. ( while (< x 0.6)
  6. ((setq y (- x 8 ))
  7. (print "x=")
  8. (print x)
  9. (print " y=")
  10. (print y)
  11. (printline ""))
  12. ( setq x (+ x h))
  13. )

Решение задачи: «Синтаксическая ошибка при табулировании функции»

textual
Листинг программы
  1. (defun tab-fun (f a b n)
  2.   (let ((x (+ a 0.0)) (h (divide (- b a) n)))
  3.     (dotimes (i n 'ok)
  4.       (prints " x=") (print x)
  5.       (prints " y=") (printline (funcall f x))
  6.       (setq x (+ x h)))))
  7.  
  8. ==> TAB-FUN
  9.  
  10. (tab-fun (lambda (x) (* x x)) 0 10 20)
  11.  
  12.  x=0.0 y=0
  13.  x=0.5 y=0.25
  14.  x=1.0 y=1.0
  15.  x=1.5 y=2.25
  16.  x=2.0 y=4.0
  17.  x=2.5 y=6.25
  18.  x=3.0 y=9.0
  19.  x=3.5 y=12.25
  20.  x=4.0 y=16.0
  21.  x=4.5 y=20.25
  22.  x=5.0 y=25.0
  23.  x=5.5 y=30.25
  24.  x=6.0 y=36.0
  25.  x=6.5 y=42.25
  26.  x=7.0 y=49.0
  27.  x=7.5 y=56.25
  28.  x=8.0 y=64.0
  29.  x=8.5 y=72.25
  30.  x=9.0 y=81.0
  31.  x=9.5 y=90.25
  32.  
  33. ==> OK
  34.  
  35. (tab-fun 'sin 0 5 15)
  36.  x=0.0 y=0.0
  37.  x=0.333333333333333 y=0.327194696796152
  38.  x=0.666666666666666 y=0.618369803069736
  39.  x=0.999999999999999 y=0.841470984807896
  40.  x=1.33333333333333 y=0.971937901363312
  41.  x=1.66666666666666 y=0.995407957751766
  42.  x=1.99999999999999 y=0.909297426825686
  43.  x=2.33333333333332 y=0.723085881738334
  44.  x=2.66666666666665 y=0.457272626635827
  45.  x=2.99999999999998 y=0.141120008059887
  46.  x=3.33333333333331 y=-0.190567962875462
  47.  x=3.66666666666664 y=-0.501277048588322
  48.  x=3.99999999999997 y=-0.756802495307909
  49.  x=4.3333333333333 y=-0.92901450127075
  50.  x=4.66666666666663 y=-0.998954917097927
  51.  
  52. ==> OK

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


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

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

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут