Хранимая процедура. Линейное уравнение - MySQL

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

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

Здравствуйте, подскажите, пожалуйста, как правильно написать решение линейного уравнения вида ax=b с помощью хранимой процедуры? Мне не совсем понятно, как задать несколько условий в хранимой процедуре Например при ненулевых значениях a и b решением является x=b/a. Это как-то так должно выглядеть?
Листинг программы
  1. IF A!=0 AND B!=0 THEN
  2. BEGIN
  3. Set X:=B/A;
  4. END;
Вот, к примеру, квадратное уравнение, вроде работает, но там нужно было указать условие только для переменной D, а не для нескольких переменных сразу:
Листинг программы
  1. DELIMITER //
  2. CREATE PROCEDURE KvUr (A real, B real,C real,Out X1 real, Out X2 real)
  3. BEGIN
  4. DECLARE D real;
  5. Set D:=B*B-4*A*C;
  6. IF D>=0 THEN
  7. BEGIN
  8. Set D:=Sqrt(D);
  9. Set X1:=(-B+D)/(2*A);
  10. Set X2:=(-B-D)/(2*A);
  11. END;
  12. ELSE
  13. Select 'D<0';
  14. END IF;
  15. END //

Решение задачи: «Хранимая процедура. Линейное уравнение»

textual
Листинг программы
  1. delimiter //
  2. drop procedure if exists t//
  3. create procedure t(in A int,B int, out X int)
  4. begin
  5.  
  6.     IF A!=0 AND B!=0 THEN
  7.      set X =B/A;
  8.      else
  9.      set X = '12';
  10.        
  11.      end if;
  12.      
  13.      
  14. end //
  15. delimiter ;
  16.  
  17. set @A = 3;
  18. set @B = 15;
  19. SEt @X = '';
  20.  
  21. call t(@A,@B,@X);
  22. select @X;

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

  1. Устанавливаем делегирутор для оператора delimiter - //
  2. Удаляем процедуру с именем t, если она существует
  3. Создаем хранимую процедуру с именем t, которая принимает два аргумента типа int - A и B, и возвращает результат в переменную X
  4. Если A и B не равны нулю, то присваиваем X результат деления B на A
  5. Если A или B равны нулю, то присваиваем X строку '12'
  6. Закрываем блок IF
  7. Закрываем блок BEGIN
  8. Устанавливаем делегирутор для оператора delimiter на значение по умолчанию - ;
  9. Устанавливаем значение переменной @A равным 3
  10. Устанавливаем значение переменной @B равным 15
  11. Устанавливаем значение переменной @X равным пустой строке
  12. Вызываем процедуру t с аргументами @A и @B, и присваиваем результат в переменную @X
  13. Выводим значение переменной @X

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


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

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

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

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

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

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