Qbasic. Условия. Квадратные уравнения
Формулировка задачи:
Программа решает самые простые квадратные уравнения, первый раз написал ее безо всяких условий и проверок, все работало на ура! А уж если дискриминант выходил отрицательным просто писалось 0.
Решил поставить проверку, как я ее сделал:
IF D > 0 THEN
GOTO 10
ELSE PRINT "Diskremenant otricatelniy, dalneeushee vicheslenie privedet k nylevomy rezyltaty" GOTO 20.
После добавления этого условия программа начала любой дискриминант считать отрицательным.
Ищу помощи на этом форуме Подскажите что не так?
Полный код:
Листинг программы
- REM Programma reshaet prostie kvadratnie yravneniya
- D = (b(1) * b(1)) - 4 * a(1) * c(1)
- x1 = (-b(1) + SQR(D)) / 2 * a(1)
- x2 = (-b(1) - SQR(D)) / 2 * a(1)
- SLEEP 1
- 20 CLS
- INPUT "vvedite a:", a(1)
- INPUT "vvedite b:", b(1)
- INPUT "vvedite c:", c(1)
- CLS
- PRINT "Ok.... proverka...."
- SLEEP 2
- PRINT "a ="; a(1)
- PRINT "b ="; b(1)
- PRINT "c ="; c(1)
- SLEEP 2
- PRINT "vichesliaem diskremenant po formyle"
- SLEEP 1
- IF D > 0 THEN
- GOTO 20
- ELSE PRINT "Diskremenant otricatelniy, dalneeushee vicheslenie privedet k nylevome rezyltaty"
- GOTO 30
- END IF
- 20 PRINT "D ="; D
- SLEEP 2
- CLS
- PRINT "D ="; D
- PRINT "Vichesliaem x1 i x2"
- SLEEP 2
- CLS
- PRINT "Gotovo!"
- SLEEP 1
- PRINT "D ="; D
- SLEEP 1
- PRINT "x1 ="; x1
- SLEEP 1
- PRINT "x2 ="; x2
Решение задачи: «Qbasic. Условия. Квадратные уравнения»
textual
Листинг программы
- 10 PRINT "ВВЕДИТЕ ЧИСЛО ПЕРЕД Х КВАДРАТ"
- 20 INPUT A
- 30 PRINT "ВВЕДИТЕ ЧИСЛО ПЕРЕД Х"
- 40 INPUT B
- 50 PRINT "ВВЕДИТЕ ЧИСЛО БЕЗ Х"
- 60 INPUT C
- 70 D = B ^ 2 - (4 * A * C)
- 75 IF D < 0 THEN PRINT "ДИСКРИМИНАНТ МЕНЬШЕ НУЛЯ. КОРНЕЙ НЕТ": END
- 80 X1 = (-(B) + SQR(D)) / 2 * A
- 90 X2 = (-(B) - SQR(D)) / 2 * A
- 100 PRINT "Х="; X1
- 110 PRINT "ИЛИ="; X2
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д