Решить квадратное уравнение при помощи процедур - QBasic
Формулировка задачи:
Нужно сделать квадратное уравнение при помощи процедур. Программа не работает, пожалуйста исправьте ошибку. Вот мой код:
Листинг программы
- DECLARE SUB dva (x,y,a,b,d)
- DECLARE SUB odin (x,y,a,b,d)
- CLS
- DO
- INPUT "Vvedite koef a"; a
- IF a = o THEN PRINT "ne kvadratnoe, vedite drugoe chislo "
- LOOP UNTIL a <> 0
- INPUT "Vvedite koef b"; b
- INPUT "Vvedite koef c"; c
- d = b ^ 2 - 4 * a * c
- IF d > 0 THEN CALL dva
- IF d = o THEN CALL odin
- IF d < 0 THEN PRINT "diskriminant otricatelnyj, uravnenie ne imeet korney": END
- SUB dva
- x = (-b + sqrt(d)) / (2 * a)
- y = (-b - sqrt(d)) / (2 * a)
- PRINT x, y
- END SUB
- SUB odin
- x = (-b + sqrt(d)) / (2 * a)
- PRINT x
- END SUB
Решение задачи: «Решить квадратное уравнение при помощи процедур»
textual
Листинг программы
- DECLARE SUB dva (a!, b!, d!, x!, y!)
- DECLARE SUB odin (a!, b!, d!, x!)
- CLS
- DO
- INPUT "A = "; a
- IF a = 0 THEN PRINT "A = 0"
- LOOP UNTIL a <> 0
- INPUT "B = "; b
- INPUT "C = "; c
- d = b ^ 2 - 4 * a * c
- IF d > 0 THEN CALL dva(a, b, d, x, y): PRINT "x ="; x; "y ="; y
- IF d = 0 THEN CALL odin(a, b, d, x): PRINT "x ="; x
- IF d < 0 THEN PRINT "KORNEI NET"
- END
- SUB dva (a, b, d, x, y)
- x = (-b + SQR(d)) / (2 * a)
- y = (-b - SQR(d)) / (2 * a)
- END SUB
- SUB odin (a, b, d, x)
- x = -b / (2 * a)
- END SUB
Объяснение кода листинга программы
- У нас есть две процедуры:
dva
иodin
. - В основной программе мы сначала запрашиваем у пользователя коэффициенты
a
иb
уравнения. - Затем вычисляем дискриминант
d
какb^2 - 4ac
. - Если
d
больше нуля, то вызываем процедуруdva
и выводим значенияx
иy
. - Если
d
равно нулю, то вызываем процедуруodin
и выводим значениеx
. - Если
d
меньше нуля, то выводим сообщениеKORNEI NET
. - В процедуре
dva
вычисляем значенияx
иy
как(-b + SQR(d)) / (2a)
и(-b - SQR(d)) / (2a)
соответственно. - В процедуре
odin
вычисляем значениеx
как-b / (2a)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д