KostyeFromHelen |
13. Тренинг. Вывод комплексных чисел. |
11.04.2011 07:20:53 | |
Любое комплексное число может быть представлено как формальная сумма x + iy, где x и y — вещественные числа, i — мнимая единица. [сслыка] Задача: написать класс, который будет в зависимости от значения x и y выводить комплексное число. Например, если оба значения равны нулю, то мы должны вывести ноль, а не 0 + 0i, если значение x = 0, а y = 5, то мы должны вывести 5i, а не 0 + 5i, и так далее. Решение: Создадим отдельный класс Complex: class Complex { {
Сноска 1. Если и x и y равны нулю, то нам просто надо вывести ноль. Поэтому не долго думая, приравниваем переменной s текстовое значение равно "0". Сноска 2. Иначе, если оба значения меньше нуля, то x мы оставляем так же, а у переменной y меняем знак на +, и в нашем шаблоне x + yi - меняем + на -. Это сделано для того, чтобы выражение не получилось вида x + - yi и не было перегружено лишними знаками. Сноска 3. Иначе, если оба выражения больше нуля, то мы всё оставляем как есть. Сноска 4. Если x равен нулю, а y не равен нулю, то мы просто убираем x и выводим только y. Сноска 5. Если же x не равен нулю, а y равен нулю, то мы оставляем только x. Заметьте, что мы поставили else if, а не просто if. Иначе мы будет проходить по всем 5 if, для чего будет задействовано лишне время. Для нас это конечно не критично, но всё же. Ну а в main просто перебираем и смотрим, что получается. Complex a = new Complex(2, 3); Console.WriteLine(a.toString());//toString название метода класса Complex, а не преобразование типов. Теги: комплексные числа C#
|