История изменений
Исправление saufesma, (текущая версия) :
Кнопка со второго третьего раза работает, с таким выхлопом
/: Symbol’s value as variable is void: *n*
widget-before-change: Text is read-only: «Change should be restricted to a single field»
С выравниванием полей не всё гладко, делаю это пробелами.
;;=========Для расчёта геометрии четырёхзвенного механизма==============
(defvar *L1*) ;;стойка, мм
(defvar *L2*) ;;кривошип, мм
(defvar *L3*) ;;шатун, мм
(defvar *L4*) ;;коромысло, мм
;;=========== Для расчёта угловых скоростей и ускорений================
(defvar *n*) ;;скорость вращения, об/мин
(defvar *R*) ;;расстояние от оси качания до кончика гребня
(defvar test-parts)
(defun next()
())
(defun input ()
(interactive)
(switch-to-buffer "Исследования четырёхзвенника")
(kill-all-local-variables)
(let ((inhibit-read-only t))
(erase-buffer))
(remove-overlays)
(widget-insert "Ввод геометрических данных четырёхзвенника\n\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Стойка (*L1*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L1*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Кривошип (*L2*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L2*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Шатун (*L3*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L3*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Коромысло (*L4*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L4*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(setq test-parts (widget-create 'editable-field
:size 6
:value ""
:format "(*L2* + *L3*) < (*L1* + *L4*): %v"
))
(widget-insert "\n\n")
(widget-insert "Ввод динамических данных.\n\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Частота вращения: %v об/мин"
:notify (lambda (widget &rest ignore)
(setq *n*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Расстояние от оси качания до
кончика гребня: %v мм"
:notify (lambda (widget &rest ignore)
(setq *R*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'push-button
:notify (lambda (&rest ignore)
(if (< (+ *L2* *L3*) (+ *L1* *L4*))
(progn
(widget-value-set test-parts "Верно")
(next))
(progn
(widget-value-set test-parts "Неверно")
)))
"Поехали")
(widget-insert "\n")
(use-local-map widget-keymap)
(widget-setup))
(next)
(defvar *step*) ;;шаг угла поворота, рад
(defvar *tmp-lst-of-val-PHI2*)
(defvar *lst-of-val-PHI2*) ;; Лист углов кривошипа φ2 за один оборот
(defvar *tmp-val-PHI2*) ;; угол 0рад в листе отсутсвует
(defvar *lst-of-angles-tg-PHIs*) ;;лист значений тангенса угла tg(PHIs)
(defvar *lst-val-PHIs*) ;;Лист значений угла PHIs
(defvar *lst-of-vector-s*) ;;лист значений вектора s
(defvar *lst-val-PHI4s*) ;;лист значений PHI4s
(defvar *lst-val-PHI3s*) ;;лист значений PHI3s
(defvar *lst-val-PHI4*) ;;Лист значений углов PHI4 рад
(defvar *lst-val-PHI3*) ;;лист значений углов PHI3 рад
(defvar *count-max*) ;;счёт листа начинается с 0.
(defvar *count-min*)
(setq *tmp-lst-of-val-PHI2* nil)
(setq *lst-of-val-PHI2* nil);; Лист углов кривошипа φ2 за один оборот
(setq *tmp-val-PHI2* 0.0) ;; угол 0рад в листе отсутсвует
(setq *lst-of-angles-tg-PHIs* nil) ;;лист значений тангенса угла tg(PHIs)
(setq *lst-val-PHIs* nil) ;;Лист значений угла PHIs
(setq *lst-of-vector-s* nil) ;;лист значений вектора s
(setq *lst-val-PHI4s* nil) ;;лист значений PHI4s
(setq *lst-val-PHI3s* nil) ;;лист значений PHI3s
(setq *lst-val-PHI4* nil) ;;Лист значений углов PHI4 рад
(setq *lst-val-PHI3* nil) ;;лист значений углов PHI3 рад
(setq *count-max* 0) ;;счёт листа начинается с 0.
(setq *count-min* 0)
(setq *step* (/ 6.28318530717954 180));;шаг угла поворота, рад
;;;============ввод данных=======================
(defun make-lst-of-val-PHI2 (tmp-val-PHI2 step tmp-lst-of-val-PHI2)
(if (< tmp-val-PHI2 6.28318530717954)
(make-lst-of-val-PHI2 (setq tmp-val-PHI2 (+ tmp-val-PHI2 step))
step
(push tmp-val-PHI2 tmp-lst-of-val-PHI2))
tmp-lst-of-val-PHI2))
(setq *lst-of-val-PHI2*
(make-lst-of-val-PHI2 *tmp-val-PHI2* *step* *tmp-lst-of-val-PHI2*))
;;=========== Для расчёта угловых скоростей и ускорений================
(defvar *time*)
(defvar *omega2*) ;;угловая частота, 1/c
(defvar *epsilon2*) ;;угловое ускорение, 1/c^2
(defvar *PHI2-PHI3-lst*)
(defvar *PHI4-PHI3-lst*)
(defvar *PHI2-PHI4-lst*)
(defvar *PHI3-PHI4-lst*)
(defvar *u42-lst*)
(defvar *u32-lst*)
(defvar *u+42-lst*)
(defvar *u+32-lst*)
(defvar *true-omega3-lst*)
(defvar *true-omega4-lst*)
(defvar *true-epsilon3-lst*)
(defvar *true-epsilon4-lst*)
(setq *PHI2-PHI3-lst* nil)
(setq *PHI4-PHI3-lst* nil)
(setq *PHI2-PHI4-lst* nil)
(setq *PHI3-PHI4-lst* nil)
(setq *u42-lst* nil)
(setq *u32-lst* nil)
(setq *u+42-lst* nil)
(setq *u+32-lst* nil)
(setq *true-omega3-lst* nil)
(setq *true-omega4-lst* nil)
(setq *true-epsilon3-lst* nil)
(setq *true-epsilon4-lst* nil)
(setq *omega2* (/ (* 3.1415926536 *n*) 30)) ;;угловая частота, 1/c
*lst-of-val-PHI2* ;; запустив код не знаю как этот лист посмотреть
Исправление saufesma, :
Кнопка со второго третьего раза работает, с таким выхлопом
/: Symbol’s value as variable is void: *n*
widget-before-change: Text is read-only: «Change should be restricted to a single field»
;;=========Для расчёта геометрии четырёхзвенного механизма==============
(defvar *L1*) ;;стойка, мм
(defvar *L2*) ;;кривошип, мм
(defvar *L3*) ;;шатун, мм
(defvar *L4*) ;;коромысло, мм
;;=========== Для расчёта угловых скоростей и ускорений================
(defvar *n*) ;;скорость вращения, об/мин
(defvar *R*) ;;расстояние от оси качания до кончика гребня
(defvar test-parts)
(defun next()
())
(defun input ()
(interactive)
(switch-to-buffer "Исследования четырёхзвенника")
(kill-all-local-variables)
(let ((inhibit-read-only t))
(erase-buffer))
(remove-overlays)
(widget-insert "Ввод геометрических данных четырёхзвенника\n\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Стойка (*L1*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L1*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Кривошип (*L2*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L2*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Шатун (*L3*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L3*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Коромысло (*L4*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L4*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(setq test-parts (widget-create 'editable-field
:size 6
:value ""
:format "(*L2* + *L3*) < (*L1* + *L4*): %v"
))
(widget-insert "\n\n")
(widget-insert "Ввод динамических данных.\n\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Частота вращения: %v об/мин"
:notify (lambda (widget &rest ignore)
(setq *n*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Расстояние от оси качания до
кончика гребня: %v мм"
:notify (lambda (widget &rest ignore)
(setq *R*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'push-button
:notify (lambda (&rest ignore)
(if (< (+ *L2* *L3*) (+ *L1* *L4*))
(progn
(widget-value-set test-parts "Верно")
(next))
(progn
(widget-value-set test-parts "Неверно")
)))
"Поехали")
(widget-insert "\n")
(use-local-map widget-keymap)
(widget-setup))
(next)
(defvar *step*) ;;шаг угла поворота, рад
(defvar *tmp-lst-of-val-PHI2*)
(defvar *lst-of-val-PHI2*) ;; Лист углов кривошипа φ2 за один оборот
(defvar *tmp-val-PHI2*) ;; угол 0рад в листе отсутсвует
(defvar *lst-of-angles-tg-PHIs*) ;;лист значений тангенса угла tg(PHIs)
(defvar *lst-val-PHIs*) ;;Лист значений угла PHIs
(defvar *lst-of-vector-s*) ;;лист значений вектора s
(defvar *lst-val-PHI4s*) ;;лист значений PHI4s
(defvar *lst-val-PHI3s*) ;;лист значений PHI3s
(defvar *lst-val-PHI4*) ;;Лист значений углов PHI4 рад
(defvar *lst-val-PHI3*) ;;лист значений углов PHI3 рад
(defvar *count-max*) ;;счёт листа начинается с 0.
(defvar *count-min*)
(setq *tmp-lst-of-val-PHI2* nil)
(setq *lst-of-val-PHI2* nil);; Лист углов кривошипа φ2 за один оборот
(setq *tmp-val-PHI2* 0.0) ;; угол 0рад в листе отсутсвует
(setq *lst-of-angles-tg-PHIs* nil) ;;лист значений тангенса угла tg(PHIs)
(setq *lst-val-PHIs* nil) ;;Лист значений угла PHIs
(setq *lst-of-vector-s* nil) ;;лист значений вектора s
(setq *lst-val-PHI4s* nil) ;;лист значений PHI4s
(setq *lst-val-PHI3s* nil) ;;лист значений PHI3s
(setq *lst-val-PHI4* nil) ;;Лист значений углов PHI4 рад
(setq *lst-val-PHI3* nil) ;;лист значений углов PHI3 рад
(setq *count-max* 0) ;;счёт листа начинается с 0.
(setq *count-min* 0)
(setq *step* (/ 6.28318530717954 180));;шаг угла поворота, рад
;;;============ввод данных=======================
(defun make-lst-of-val-PHI2 (tmp-val-PHI2 step tmp-lst-of-val-PHI2)
(if (< tmp-val-PHI2 6.28318530717954)
(make-lst-of-val-PHI2 (setq tmp-val-PHI2 (+ tmp-val-PHI2 step))
step
(push tmp-val-PHI2 tmp-lst-of-val-PHI2))
tmp-lst-of-val-PHI2))
(setq *lst-of-val-PHI2*
(make-lst-of-val-PHI2 *tmp-val-PHI2* *step* *tmp-lst-of-val-PHI2*))
;;=========== Для расчёта угловых скоростей и ускорений================
(defvar *time*)
(defvar *omega2*) ;;угловая частота, 1/c
(defvar *epsilon2*) ;;угловое ускорение, 1/c^2
(defvar *PHI2-PHI3-lst*)
(defvar *PHI4-PHI3-lst*)
(defvar *PHI2-PHI4-lst*)
(defvar *PHI3-PHI4-lst*)
(defvar *u42-lst*)
(defvar *u32-lst*)
(defvar *u+42-lst*)
(defvar *u+32-lst*)
(defvar *true-omega3-lst*)
(defvar *true-omega4-lst*)
(defvar *true-epsilon3-lst*)
(defvar *true-epsilon4-lst*)
(setq *PHI2-PHI3-lst* nil)
(setq *PHI4-PHI3-lst* nil)
(setq *PHI2-PHI4-lst* nil)
(setq *PHI3-PHI4-lst* nil)
(setq *u42-lst* nil)
(setq *u32-lst* nil)
(setq *u+42-lst* nil)
(setq *u+32-lst* nil)
(setq *true-omega3-lst* nil)
(setq *true-omega4-lst* nil)
(setq *true-epsilon3-lst* nil)
(setq *true-epsilon4-lst* nil)
(setq *omega2* (/ (* 3.1415926536 *n*) 30)) ;;угловая частота, 1/c
*lst-of-val-PHI2* ;; запустив код не знаю как этот лист посмотреть
Исправление saufesma, :
Кнопка со второго третьего раза работает, с таким выхлопом
/: Symbol’s value as variable is void: *n* widget-before-change: Text is read-only: «Change should be restricted to a single field»
;;=========Для расчёта геометрии четырёхзвенного механизма==============
(defvar *L1*) ;;стойка, мм
(defvar *L2*) ;;кривошип, мм
(defvar *L3*) ;;шатун, мм
(defvar *L4*) ;;коромысло, мм
;;=========== Для расчёта угловых скоростей и ускорений================
(defvar *n*) ;;скорость вращения, об/мин
(defvar *R*) ;;расстояние от оси качания до кончика гребня
(defvar test-parts)
(defun next()
())
(defun input ()
(interactive)
(switch-to-buffer "Исследования четырёхзвенника")
(kill-all-local-variables)
(let ((inhibit-read-only t))
(erase-buffer))
(remove-overlays)
(widget-insert "Ввод геометрических данных четырёхзвенника\n\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Стойка (*L1*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L1*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Кривошип (*L2*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L2*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Шатун (*L3*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L3*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Коромысло (*L4*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L4*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(setq test-parts (widget-create 'editable-field
:size 6
:value ""
:format "(*L2* + *L3*) < (*L1* + *L4*): %v"
))
(widget-insert "\n\n")
(widget-insert "Ввод динамических данных.\n\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Частота вращения: %v об/мин"
:notify (lambda (widget &rest ignore)
(setq *n*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Расстояние от оси качания до
кончика гребня: %v мм"
:notify (lambda (widget &rest ignore)
(setq *R*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'push-button
:notify (lambda (&rest ignore)
(if (< (+ *L2* *L3*) (+ *L1* *L4*))
(progn
(widget-value-set test-parts "Верно")
(next))
(progn
(widget-value-set test-parts "Неверно")
)))
"Поехали")
(widget-insert "\n")
(use-local-map widget-keymap)
(widget-setup))
(next)
(defvar *step*) ;;шаг угла поворота, рад
(defvar *tmp-lst-of-val-PHI2*)
(defvar *lst-of-val-PHI2*) ;; Лист углов кривошипа φ2 за один оборот
(defvar *tmp-val-PHI2*) ;; угол 0рад в листе отсутсвует
(defvar *lst-of-angles-tg-PHIs*) ;;лист значений тангенса угла tg(PHIs)
(defvar *lst-val-PHIs*) ;;Лист значений угла PHIs
(defvar *lst-of-vector-s*) ;;лист значений вектора s
(defvar *lst-val-PHI4s*) ;;лист значений PHI4s
(defvar *lst-val-PHI3s*) ;;лист значений PHI3s
(defvar *lst-val-PHI4*) ;;Лист значений углов PHI4 рад
(defvar *lst-val-PHI3*) ;;лист значений углов PHI3 рад
(defvar *count-max*) ;;счёт листа начинается с 0.
(defvar *count-min*)
(setq *tmp-lst-of-val-PHI2* nil)
(setq *lst-of-val-PHI2* nil);; Лист углов кривошипа φ2 за один оборот
(setq *tmp-val-PHI2* 0.0) ;; угол 0рад в листе отсутсвует
(setq *lst-of-angles-tg-PHIs* nil) ;;лист значений тангенса угла tg(PHIs)
(setq *lst-val-PHIs* nil) ;;Лист значений угла PHIs
(setq *lst-of-vector-s* nil) ;;лист значений вектора s
(setq *lst-val-PHI4s* nil) ;;лист значений PHI4s
(setq *lst-val-PHI3s* nil) ;;лист значений PHI3s
(setq *lst-val-PHI4* nil) ;;Лист значений углов PHI4 рад
(setq *lst-val-PHI3* nil) ;;лист значений углов PHI3 рад
(setq *count-max* 0) ;;счёт листа начинается с 0.
(setq *count-min* 0)
(setq *step* (/ 6.28318530717954 180));;шаг угла поворота, рад
;;;============ввод данных=======================
(defun make-lst-of-val-PHI2 (tmp-val-PHI2 step tmp-lst-of-val-PHI2)
(if (< tmp-val-PHI2 6.28318530717954)
(make-lst-of-val-PHI2 (setq tmp-val-PHI2 (+ tmp-val-PHI2 step))
step
(push tmp-val-PHI2 tmp-lst-of-val-PHI2))
tmp-lst-of-val-PHI2))
(setq *lst-of-val-PHI2*
(make-lst-of-val-PHI2 *tmp-val-PHI2* *step* *tmp-lst-of-val-PHI2*))
;;=========== Для расчёта угловых скоростей и ускорений================
(defvar *time*)
(defvar *omega2*) ;;угловая частота, 1/c
(defvar *epsilon2*) ;;угловое ускорение, 1/c^2
(defvar *PHI2-PHI3-lst*)
(defvar *PHI4-PHI3-lst*)
(defvar *PHI2-PHI4-lst*)
(defvar *PHI3-PHI4-lst*)
(defvar *u42-lst*)
(defvar *u32-lst*)
(defvar *u+42-lst*)
(defvar *u+32-lst*)
(defvar *true-omega3-lst*)
(defvar *true-omega4-lst*)
(defvar *true-epsilon3-lst*)
(defvar *true-epsilon4-lst*)
(setq *PHI2-PHI3-lst* nil)
(setq *PHI4-PHI3-lst* nil)
(setq *PHI2-PHI4-lst* nil)
(setq *PHI3-PHI4-lst* nil)
(setq *u42-lst* nil)
(setq *u32-lst* nil)
(setq *u+42-lst* nil)
(setq *u+32-lst* nil)
(setq *true-omega3-lst* nil)
(setq *true-omega4-lst* nil)
(setq *true-epsilon3-lst* nil)
(setq *true-epsilon4-lst* nil)
(setq *omega2* (/ (* 3.1415926536 *n*) 30)) ;;угловая частота, 1/c
*lst-of-val-PHI2* ;; запустив код не знаю как этот лист посмотреть
Исходная версия saufesma, :
Кнопка со второго третьего раза работает, с таким выхлопом
widget-before-change: Text is read-only: «Change should be restricted to a single field»
;;=========Для расчёта геометрии четырёхзвенного механизма==============
(defvar *L1*) ;;стойка, мм
(defvar *L2*) ;;кривошип, мм
(defvar *L3*) ;;шатун, мм
(defvar *L4*) ;;коромысло, мм
;;=========== Для расчёта угловых скоростей и ускорений================
(defvar *n*) ;;скорость вращения, об/мин
(defvar *R*) ;;расстояние от оси качания до кончика гребня
(defvar test-parts)
(defun next()
())
(defun input ()
(interactive)
(switch-to-buffer "Исследования четырёхзвенника")
(kill-all-local-variables)
(let ((inhibit-read-only t))
(erase-buffer))
(remove-overlays)
(widget-insert "Ввод геометрических данных четырёхзвенника\n\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Стойка (*L1*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L1*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Кривошип (*L2*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L2*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Шатун (*L3*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L3*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Коромысло (*L4*): %v мм"
:notify (lambda (widget &rest ignore)
(setq *L4*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(setq test-parts (widget-create 'editable-field
:size 6
:value ""
:format "(*L2* + *L3*) < (*L1* + *L4*): %v"
))
(widget-insert "\n\n")
(widget-insert "Ввод динамических данных.\n\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Частота вращения: %v об/мин"
:notify (lambda (widget &rest ignore)
(setq *n*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'editable-field
:size 6
:value "0"
:format "Расстояние от оси качания до
кончика гребня: %v мм"
:notify (lambda (widget &rest ignore)
(setq *R*
(string-to-number
(widget-value widget)))))
(widget-insert "\n")
(widget-create 'push-button
:notify (lambda (&rest ignore)
(if (< (+ *L2* *L3*) (+ *L1* *L4*))
(progn
(widget-value-set test-parts "Верно")
(next))
(progn
(widget-value-set test-parts "Неверно")
)))
"Поехали")
(widget-insert "\n")
(use-local-map widget-keymap)
(widget-setup))
(next)
(defvar *step*) ;;шаг угла поворота, рад
(defvar *tmp-lst-of-val-PHI2*)
(defvar *lst-of-val-PHI2*) ;; Лист углов кривошипа φ2 за один оборот
(defvar *tmp-val-PHI2*) ;; угол 0рад в листе отсутсвует
(defvar *lst-of-angles-tg-PHIs*) ;;лист значений тангенса угла tg(PHIs)
(defvar *lst-val-PHIs*) ;;Лист значений угла PHIs
(defvar *lst-of-vector-s*) ;;лист значений вектора s
(defvar *lst-val-PHI4s*) ;;лист значений PHI4s
(defvar *lst-val-PHI3s*) ;;лист значений PHI3s
(defvar *lst-val-PHI4*) ;;Лист значений углов PHI4 рад
(defvar *lst-val-PHI3*) ;;лист значений углов PHI3 рад
(defvar *count-max*) ;;счёт листа начинается с 0.
(defvar *count-min*)
(setq *tmp-lst-of-val-PHI2* nil)
(setq *lst-of-val-PHI2* nil);; Лист углов кривошипа φ2 за один оборот
(setq *tmp-val-PHI2* 0.0) ;; угол 0рад в листе отсутсвует
(setq *lst-of-angles-tg-PHIs* nil) ;;лист значений тангенса угла tg(PHIs)
(setq *lst-val-PHIs* nil) ;;Лист значений угла PHIs
(setq *lst-of-vector-s* nil) ;;лист значений вектора s
(setq *lst-val-PHI4s* nil) ;;лист значений PHI4s
(setq *lst-val-PHI3s* nil) ;;лист значений PHI3s
(setq *lst-val-PHI4* nil) ;;Лист значений углов PHI4 рад
(setq *lst-val-PHI3* nil) ;;лист значений углов PHI3 рад
(setq *count-max* 0) ;;счёт листа начинается с 0.
(setq *count-min* 0)
(setq *step* (/ 6.28318530717954 180));;шаг угла поворота, рад
;;;============ввод данных=======================
(defun make-lst-of-val-PHI2 (tmp-val-PHI2 step tmp-lst-of-val-PHI2)
(if (< tmp-val-PHI2 6.28318530717954)
(make-lst-of-val-PHI2 (setq tmp-val-PHI2 (+ tmp-val-PHI2 step))
step
(push tmp-val-PHI2 tmp-lst-of-val-PHI2))
tmp-lst-of-val-PHI2))
(setq *lst-of-val-PHI2*
(make-lst-of-val-PHI2 *tmp-val-PHI2* *step* *tmp-lst-of-val-PHI2*))
;;=========== Для расчёта угловых скоростей и ускорений================
(defvar *time*)
(defvar *omega2*) ;;угловая частота, 1/c
(defvar *epsilon2*) ;;угловое ускорение, 1/c^2
(defvar *PHI2-PHI3-lst*)
(defvar *PHI4-PHI3-lst*)
(defvar *PHI2-PHI4-lst*)
(defvar *PHI3-PHI4-lst*)
(defvar *u42-lst*)
(defvar *u32-lst*)
(defvar *u+42-lst*)
(defvar *u+32-lst*)
(defvar *true-omega3-lst*)
(defvar *true-omega4-lst*)
(defvar *true-epsilon3-lst*)
(defvar *true-epsilon4-lst*)
(setq *PHI2-PHI3-lst* nil)
(setq *PHI4-PHI3-lst* nil)
(setq *PHI2-PHI4-lst* nil)
(setq *PHI3-PHI4-lst* nil)
(setq *u42-lst* nil)
(setq *u32-lst* nil)
(setq *u+42-lst* nil)
(setq *u+32-lst* nil)
(setq *true-omega3-lst* nil)
(setq *true-omega4-lst* nil)
(setq *true-epsilon3-lst* nil)
(setq *true-epsilon4-lst* nil)
(setq *omega2* (/ (* 3.1415926536 *n*) 30)) ;;угловая частота, 1/c
*lst-of-val-PHI2* ;; запустив код не знаю как этот лист посмотреть