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

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

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

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

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

textual
Листинг программы
delimiter //
drop procedure if exists t//
create procedure t(in A int,B int, out X int)
begin
 
    IF A!=0 AND B!=0 THEN 
     set X =B/A;
     else
     set X = '12';
        
     end if;
     
     
end //
delimiter ;
 
set @A = 3;
set @B = 15;
SEt @X = '';
 
call t(@A,@B,@X);
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