ITI0011RUS:упражнение 01

Allikas: Kursused
Redaktsioon seisuga 6. veebruar 2015, kell 17:20 kasutajalt Aleksandr (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

Срок загрузки задания в Git - 3. практикум, который проходит 10.-11. февраля.

Описание задания

Написать код, который вычисляет решение квадратного уравнения. Квадратное уравнение представляется в виде a * x^2 + b * x + c = 0. У него может быть несколько решений.

Если корней два, вернуть произведение двух корней. Если корень один, вернуть его значение. Если корней нет, вернуть Double.NaN (это константа).

Загрузка решения

Решение следует загрузить в личный репозитарий git в директорию "EX01".

Тестирование

Задание будет тестироваться начиная с понедельника (поэтому рекомендуется в понедельник сделать git commit & push для того чтобы получить результат тестов).

Оценивание задания

Оценивание задания произойдет на следующем практическом занятии. Критерием допуска для оценивания задания является корректная и своевременная загрузка решения в git.

Шаблон задания

Дан следующий шаблон ,который следует использовать в задании:

<source lang="java"> /**

* Home assignment 01.
*/

public class Task01 {

   /**
    * Function that solves an quadratic equation (a*x^2 + b*x + c = 0).
    * @param a A squared variable held constant (a*x^2).
    * @param b A variable held constant (b*x).
    * @param c An absolute term (c).
    * @return If equation has 2 roots (x1 and x2), returns the product of them (x1 * x2);
    *         If equation has 1 root (x), returns it (x);
    *         If equation has no roots, returns Double.NaN.
    */
   public static double solveQuadraticEquation(double a, double b, double c) {
       //Calculate the discriminant and initialize d variable.
       double d = -1.0;
       //TODO: add your code here.
       if (d > 0.0) {
           //Calculate the roots and initialize x1 and x2.
           double x1 = 0, x2 = 0;
           //TODO: add your code here.
           return x1 * x2;
       } else if (d == 0.0) {
           //Calculate the root and initialize x.
           double x = 0;
           //TODO: add your code here.
           return x;
       } else {
           //Initialize variable x with Double.NaN.
           double x = 0;
           //TODO: add your code here.
           return x;
       }
   }
   
   /**
    * Entry-point of the program.
    * This is here so you can test out your code
    * with running this program.
    * @param args Arguments from command-line.
    */
   public static void main(String[] args) {
   	System.out.println("a = 1, b = -5, c = 6:" 
   			+ solveQuadraticEquation(1.0, -5.0, 6.0));
   	// should be 6
   	// add some more tests here if needed.
   }

} </source>

Код шаблона (имена функций, количество и имена их параметров) менять запрещено. Добавьте свой код в места, помеченные словом TODO.