Re + Im*i
Re - część rzeczywista
Im - część urojona
i - jednostka urojona.
Dodajemy i odejmujemy oddzielnie części rzeczywiste i urojone, przy czym jednostkę urojoną tylko przepisujemy, np.:
(2 + 3i) + (3 + 4i) = 2 + 3 +3i + 4i = 5 + 7i
Mnożenie jest nieco ciekawsze. Pamiętać należy powiem, że:
i * i = -1
Mnożymy według zasady każdy czynnik pierwszej liczby, przez każdy czynnik drugiej. Przykład:
(2 + 2i) * (1 + 3i) = 2 * 2 + 2 * 3i + 2i * 1 + 2i * 3i = 4 + 6i + 2i + 6i*i = 4 + 8i + 6*(-1)
(2 + 2i) * (1 + 3i) = 4 + 8i - 6
(2 + 2i) * (1 + 3i) = -2 + 8i
Wszystko jasne?
Nasz program korzystać będzie z instrukcji Switch, dzięki której stworzymy proste menu wyboru działania. Zastosujemy też instrukcję warunkową If, w celu poprawy wyświetlania liczb ze znakiem ujemnym. Oto kod:
package zespolone;
import java.util.Scanner;
public class Zespolone
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("podaj pierwszą liczbę:");
System.out.print("Część rzeczywista: ");
int re1 = in.nextInt();
System.out.print("Część urojona: ");
int im1 = in.nextInt();
System.out.println(" ");
if ( im1 < 0 )
{
System.out.println("Wprowadzono liczbę: "+re1+" - "+ Math.abs(im1) + "i");
}
else
{
System.out.println("Wprowadzono liczbę: "+re1+" + "+im1+"i");
}
System.out.println(" ");
System.out.println("podaj drugą liczbę:");
System.out.print("Część rzeczywista: ");
int re2 = in.nextInt();
System.out.print("Część urojona: ");
int im2 = in.nextInt();
System.out.println(" ");
if ( im2 < 0 )
{
System.out.println("Wprowadzono liczbę: "+re1+" - "+ Math.abs(im2)+"i");
}
else
{
System.out.println("Wprowadzono liczbę zespoloną: "+re1+" + "+im2+"i");
}
System.out.println(" ");
System.out.println("<><><><><><><><><><><><><><><><><><><>"); System.out.println("<><><><><><><><><><><><><><><><><><><>"); System.out.println("..... Wpisz numer działania..... + - * / "); System.out.println("..... 1 ... + ");
System.out.println("..... 2 ... - ");
System.out.println("..... 3 ... * ");
int reW=0;
int imW=0;
int mat = in.nextInt();
switch (mat)
{
case 1:
{
reW= re1+re2;
imW= im1+im2;
break;
}
case 2:
{
reW = re1 - re2;
imW=im1-im2;
break;
}
case 3:
{
reW=re1*re2-im1*im2;
imW=re2*im1+re1*im2;
break;
}
}
if ( imW < 0 )
{
System.out.println("Wynik: "+ reW + " - "+ Math.abs(imW) +"i");
}
else
{
System.out.println("Wynik: "+ reW + " + "+ imW +"i");
}
}
}
Brak komentarzy:
Prześlij komentarz