Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2011, 18:32
Аспирант
Отправить личное сообщение для hacker_007 Посмотреть профиль Найти все сообщения от hacker_007
 
Регистрация: 10.01.2011
Сообщений: 52

Не корректное отображение
Написал скрипт, который решает неполные кв. уравнения:
<script language="JavaScript" type="text/javascript">
var b = prompt("Введите число B", "B=");
var a = prompt("Введите число A", "A=");
var c = prompt("Введите число C", "C=");
var k = b/2
var disc = k * k - a * c
x1 = -(k + Math.sqrt(disc))/a
x2 = -(k - Math.sqrt(disc))/a
x4 = -(k/a)
if(disc > 0){
document.write("Дискриминант больше 0, решения есть. D=" + disc + ". X1=" + x1 + "X2=" + x2 +".<BR />" );
}
else {
document.write("Дискриминант меньше 0, решения нет. D=" + disc + ".");
}

if(disc == 0){
document.write("Дискриминант равен 0, решение есть. D= " + disc + " и x= " + x4 + ".");
}
else{

}
</script>

Возникла проблема при втором варианте.(Когда Дискриминант равен 0.)
(A=1 B=14 C=49)-значения при которых D=0. При выполнении скрипта выводится 2 document.write() поля. (Дискриминант меньше 0, решения нет. D=0.Дискриминант равен 0, решение есть. D= 0 и x= -7. ) Второй верный...
Как это исправить?

Последний раз редактировалось hacker_007, 11.01.2011 в 18:35.
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2011, 18:40
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

if (disc > 0){
document.write("Дискриминант больше 0, решения есть. D=" + disc + ". X1=" + x1 + "X2=" + x2 +".<BR />" );
} else if (disc < 0) {
document.write("Дискриминант меньше 0, решения нет. D=" + disc + ".");
} else {
document.write("Дискриминант равен 0, решение есть. D= " + disc + " и x= " + x4 + ".");
}
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2011, 18:42
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

задумайся сам над логикой какую прописал. если <=0 в первом ветвлении выплниться
Сообщение от hacker_007
else {
document.write("Дискриминант меньше 0, решения нет. D=" + disc + ".");
}
и потом опять если равно 0 выполниться
if(disc == 0){
document.write("Дискриминант равен 0, решение есть. D= " + disc + " и x= " + x4 + ".");
}
Ответить с цитированием
  #4 (permalink)  
Старый 11.01.2011, 18:44
Аспирант
Отправить личное сообщение для hacker_007 Посмотреть профиль Найти все сообщения от hacker_007
 
Регистрация: 10.01.2011
Сообщений: 52

Сообщение от dmitriymar Посмотреть сообщение
задумайся сам над логикой какую прописал. если <=0 в первом ветвлении выплниться
и потом опять если равно 0 выполниться
if(disc == 0){
document.write("Дискриминант равен 0, решение есть. D= " + disc + " и x= " + x4 + ".");
}
Я про это знал.... но не понял как правильно это написать.))) А так пасиб большое, что помогли
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не корректное отображение таблицы в FF papa_serg Элементы интерфейса 4 08.12.2010 15:14
Отображение курсора мыши Dexter2010 Общие вопросы Javascript 4 27.06.2010 21:57
Корректное округление вещественных чисел Бобр Общие вопросы Javascript 16 14.01.2009 18:21
Корректное отображение специальных символов sancho Общие вопросы Javascript 7 29.10.2008 16:25
Отображение активного содержания в IE maksik Internet Explorer 3 16.08.2008 19:56