|
|
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста!!!Правильно ли написан код квадратного уравнения работая с консолью или можно его переделать произвести модернизацию кода!!! Можно пример правильного кода квадратного уравнения!!! Код программы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 14:21:15 |
|
||
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
"turtles" <nospam@sql.ru>> !Правильно ли написан код квадратного уравнения работая с консолью вы его запускали? работает? решение правильное дает? Скажи Microsoft'у "Прощай"! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 15:26:54 |
|
||
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
Несколько придирок: 1. При D<0 я бы не стал писать ""Уравнение не имеет решений!!!" т.к. оно на самом деле не имеет вещественных корней, что не мешает ему иметь комплексные корни. 2. Разумеется, в квадратным уравнении a!=0, но почему бы не проверить, что не введен 0 (для вещественных чисел проверку на 0 производят с учетом погрешности) ? 3. Зачем вам понадобились static переменные, когда достаточно локальных? Неохота создавать экземпляр класса? Для quick and dirty решения годится, но вы же сами спрашиваете как лучше. 4. Не надо рисовать всякие там System.out.println("a = " + a + " b = " + b + " c = " + c); Т.к. вы после этого отнюдь не ожидаете реакции пользователя. Если хочется сделать "красиво", напишите уж что-то вроде: System.out.println("Уравнение " + a + "x2" + b + "x" + c + "= 0; D = " + D); 5. Нельзя сравнивать цифры с плавающей точкой без учета погрешности или, к вашему вящему изумлению, иной раз окажется, что 0.01 != 0.01. Реальный пример и почему это происходит приводить не буду - об этом писано - переписано. 6. Не надо каждый раз вычислять одно и то же. Например, Math.sqrt(d) и 2*a, - это дурно пахнет. 7. Ограничьте точность вывода корней на экран, а то иногда получите "километровый" набор цифр. 8. Что-то делать лучше в отдельном методе, а уж его дергать из main. 9. Вместо float лучше использовать double 10. При вводе неверных значений лучше не выходить из программы, а повторно запрашивать пользователя. Особенно актуально обрабатывать ошибку, когда в качестве десятичного разделителя использован неверный символ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 15:52:18 |
|
||
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
turtles, Да, и пока не забыл, решение квадратного уравнения это не такая большая беда, чтобы об этом умудриться написать на всех вам известных форумах. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 15:55:16 |
|
||
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
п.5 в данном случае можно не учитывать (сравнение с нулем - это только сравнение с нулем) Приоритет умножения выше сложения, поэтому скобки в вычислении дискриминанта не нужны. Выражение (х1 == х2) верно только в случае, когда дискриминанта равна 0 (при валидных вводных параметрах), поэтому дважды делать проверку на единственное решение не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 16:30:59 |
|
||
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
IDVsbruckдискриминанта равна 0мужской род, есичо ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 16:40:24 |
|
||
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, Это почему это не учитывать ошибку при сравнении с нулем? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 17:57:09 |
|
||
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
carper, Небольшая поправка: В там, где "ручкам" вместо 0.001 следует читать 0.01 :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 18:18:58 |
|
||
|
Квадратное уравнение
|
|||
|---|---|---|---|
|
#18+
carperЭто почему это не учитывать ошибку при сравнении с нулем? Сорри, d < 0 я увидел, а d == 0 - нет. Замечание совершенно справедливо. P.S. Или использовать BigDecimal (что в данном случае неоправданно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 20:56:03 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37212334&tid=2132023]: |
0ms |
get settings: |
15ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
35ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
87ms |
get tp. blocked users: |
3ms |
| others: | 324ms |
| total: | 510ms |

| 0 / 0 |
