1.deo vezbe 16.11 - kompleksni brojevi
Prvi deo:
- Definisati klasu Kompleksni koja omogućava rad sa kompleksnim brojevima,
- Definisati podrazumevani konstruktor
- Definisati konstruktor koji postavlja vrednosti realnog i imaginarnog dela preko argumenata,
- Definisati preklopljeni binarni operator za sabiranje dva kompleksna broja
- U glavnom programu koristeći kreirati dva kompleksna broja i prikazati njihov zbir.
class Kompleksni
{
private double re;
private double im;
public Kompleksni()
{
re = 0;
im = 0;
}
public Kompleksni(double realni, double imaginarni)
{
re = realni;
im = imaginarni;
}
public static Kompleksni operator +(Kompleksni Z1, Kompleksni Z2)
{
Kompleksni Z3 = new Kompleksni();
Z3.re = Z1.re + Z2.re;
Z3.im = Z1.im + Z2.im;
return Z3;
}
public void Prikaz()
{
Console.Write(re);
if (im > 0)
Console.WriteLine("+j" + im);
else
Console.WriteLine("-j" + -im);
}
}
public class Program
{
public static void Main(string[] args)
{
Kompleksni Z1 = new Kompleksni(2, -5);
Kompleksni Z2 = new Kompleksni(-3, -3);
Console.Write("Z1 = ");
Z1.Prikaz();
Console.Write("Z2 = ");
Z2.Prikaz();
Kompleksni Z3 = new Kompleksni();
Console.Write("Zbir Z1 i Z2: Z3 = ");
Z3 = Z1 + Z2;
Z3.Prikaz();
}
}
Drugi deo (radimo na času, a učenici koji rade online rade samostalno, kao podzadatak):
- Kreirati svojstva za realni i imaginarni deo kompleksnog broja.
Rešenje (dodato 17.11) :
public double Re
{
get { return re; }
set { re = value; }
}
public double Im
{
get { return im; }
set { im = value; }
}
A kako smo to upotrebili u zadatku: promenili smo vrednosti realnog i imaginarnog dela broja Z1:
Z1.Re = 10;
Z1.Im = 10;
Console.Write("Nova vrednost za Z1 = ");
Z1.Prikaz();
(dodato 17.11) Evo kako na kraju izgleda ceo programski kod: program.cs
Za domaći (za vežbu kod kuće - ne predaje se):
- Definisati i ostale aritmetičke
operatore i metode za rad sa kompleksnim brojevima (oduzimanje,
množenje, deljenje, konjugacija, apsolutna vrednost, argument)
...