Решение квадратного уравнения - Lisp

  1. Буду очень благодарна и признательна если кто в этом разбирается и поможет. Необходимо на Лиспе написать программу вычисления дискриминанта квадратного уравнения. Свои наброски есть, но не уверена что правильно сделала.


textual

Код к задаче: «Решение квадратного уравнения - Lisp»

(defun qudrat(a b c)
  (let ((D (- (* b b) (* a c 4))))
    (cond ((minusp D) '())
          ((zerop D) (list (/ ( - b) (* 2 a))))
          (t (list (/ (- (* b -1) (sqrt D)) (* 2 a))
                   (/ (+ (* b -1) (sqrt D)) (* 2 a))))))))

СДЕЛАЙТЕ РЕПОСТ

6   голосов, оценка 4.167 из 5



Похожие ответы
  1. Создаю повторно тему, с прошлой возникли какие-то технические трудности. Суть задачи в следующем: К реке подъехали 4 рыцаря с оруженосцами и обнаружили одну трехместную лодку. Как им переправиться на другой берег, если все оруженосцы наотрез отказались оставаться в обществе незнакомых рыцарей? Прошу помощи с решением данной задачи, если у вас есть готовое решение, то буду очень признателен. Если нет, то помоги хоть идеей. Мне удалось сделать ;Функция opposite позволяет менять местоположение путника

  1. Добрый день. Помогите пожалуйста написать алгоритм, решающий следующую задачу: Реализовать алгоритм решения задачи о поиске последовательности перемещений коня на шахматной доске размера m х n (например, 4 х 4 или 4 х 5) из заданной начальной клетки (нижняя левая клетка) в нее же, при этом надо побывать хотя бы по одному разу на всех остальных клетках доски. Алгоритм должен реализоваться простыми функциями(без lambda,mapcar) и рекурсией.

  1. Помогите с решением следующей задачи. Используя рекурсии, на языке Lisp решить головоломку. Есть восемь перенумерованных пней. На пнях 1 и 3 сидят кролики, на пнях 6 и 8 — белки. И белки, и кролики хотят обменяться пнями: белки желают сидеть на местах кроликов, а кролики — на местах белок. Попасть на новое место они могут, прыгая с пня на пень по следующим правилам: 1. прыгать с пня на пень можно только по тем линиям, которые показаны на рисунке; каждый зверек может делать несколько прыжков кряду; 2. два зверька на одном пне поместиться не могут, поэтому прыгать можно только на свободный пень. Нужно найти минимальную последовательность прыжков, для достижения цели.

  1. Определите функцию двух аргументов (ДОБАВЬ m n), которая прибавляет к элементам списка m (первого аргумента) данное число n (второй аргумент).

  1. Здравствуйте,помогите пожалуйста с реализацией вот этого на языке Lisp:Добавлено через 7 минут Вернее так

  1. Определите функцию (f a b c), которая вычисляет список корней квадрат- ного уравнения a*x^2+b*x+c=0 (если корней нет, то список пустой).

  1. Помогите,пожалуйста.Есть список,нужно с помощью dolist,найти квадратные корни Например: (list 4 9 16 25 49) Ответ: (2 3 4 5 7)

  1. Вычислить с точностью до 6 знаков, сравнив по числу шагов, рекурсивную формулу

  1. Написать функцию, использующую метод Ньютона для вычисления квадратного корня. Метод Ньютона вычисления квадратного корня из числа x начинается с выбора начального приближения y. Это приближение считается достаточно точным, если | x - y2 | <= err, где err – некоторая заранее определенная погрешность. В противном случае более точным приближением будет 1/2 *(y + x/y), которое можно вычислить и точно так же подвергнуть проверке на погрешность. Для получения абсолютной величины числа используйте функция abs: (abs -5) = 5. Пример: ; вычисления квадратного корня из числа 5 ; начальное приближение 1 ; уровень допустимой погрешности 0.05 >(newton 5 1 0.05) 2.2380953