public void Divisione(Complesso W1, Complesso W2) //divisione tra i due numeri { reale = ((W1.reale * W2.reale) + (W1.immaginario * W2.immaginario)) / (Math.Pow(W2.reale, 2) + Math.Pow(W2.immaginario, 2)); immaginario = ((W1.immaginario * W2.reale) - (W1.reale * W2.immaginario)) / (Math.Pow(W2.reale, 2) + Math.Pow(W2.immaginario, 2)); }
static void Main(string[] args) { //Si vuole realizzare un programma con l'interfaccia console che esegua le 4 operazioni arirmetiche sui numeri complessi. //Il funzionamento consiste nell'inserire i due operandi, scegliere l'operazione desiderata(attraverso un semplice menù a video) e infine dare il risultato. int n = SceltaOperazione(); //operazione da eseguire Console.WriteLine("Programma complesso di Lorenzo Curzi, 4H"); Console.WriteLine("Inserire la parte reale del primo numero:"); double reale1 = RichiestaNumero(); //parte reale del primo numero Console.WriteLine("in serire la parte immaginaria del primo numero:"); double immaginaria1 = RichiestaNumero(); //parte immagianaria del primo numero Console.WriteLine("Inserire la parte reale del secondo numero:"); double reale2 = RichiestaNumero(); //parte reale del secondo numero Console.WriteLine("in serire la parte immaginaria del secondo numero:"); double immaginaria2 = RichiestaNumero(); //parte immagianria del secondo numero Complesso Z1 = new Complesso(reale1, immaginaria1); Complesso Z2 = new Complesso(reale2, immaginaria2); Complesso risultato = new Complesso(0, 0); //a seconda della scelta dell'utente chiamo la funzione richiesta if (n == 1) { risultato.Addizione(Z1, Z2); } else if (n == 2) { risultato.Sottrazione(Z1, Z2); } else if (n == 3) { risultato.Moltiplicazione(Z1, Z2); } else { risultato.Divisione(Z1, Z2); } Console.WriteLine($"Il risultato è: {risultato.reale} + {risultato.immaginario}i"); //comunico il risultato dell'operazione //------------------------------------------------------------------------------------------------------------------------------------------- //Inserimento del numero tramite modulo e fase Console.WriteLine("Inserire il modulo del numero:"); double modulo = RichiestaNumero(); modulo = (modulo * Math.PI) / 180; Console.WriteLine("Inserire la fase del numero(in gradi):"); double fase = RichiestaNumero(); fase = (fase * Math.PI) / 180; //converto la fase in radianti Complesso Z3 = new Complesso(modulo, fase, 0); //invio modulo e fase al costruttore. Invio anche 0 per distinguire i due costruttori della classe ma non verrà usato come parametro Z3.ParteReale(Z3.modulo, Z3.fase); Console.WriteLine($"La forma binomiale del numero è: {Z3.reale} + {Z3.immaginario}i"); Console.WriteLine($"La forma polare del numero è: modulo {Z3.modulo}, fase {Z3.fase}"); }
public void Sottrazione(Complesso W1, Complesso W2) //sottrazzione tra i due numeri { reale = W1.reale - W2.reale; immaginario = W1.immaginario - W2.immaginario; }
public void Moltiplicazione(Complesso W1, Complesso W2) //moltiplicazione tra i due numeri { reale = (W1.reale * W2.immaginario) - (W1.immaginario * W2.immaginario); immaginario = (W1.immaginario * W2.reale) + (W2.immaginario * W1.reale); }
//public string ToBinomial(Complesso W3) //{ // string formaBinomiale = $"La forma binomiale del numero è: {W3.reale} + i{W3.immaginario}"; // return formaBinomiale; //} public void Addizione(Complesso W1, Complesso W2) //addizione tra i due numeri { reale = W1.reale + W2.reale; immaginario = W1.immaginario + W2.immaginario; }
static void Main(string[] args) { //Si vuole realizzare un programma con l'interfaccia console che esegua le 4 operazioni arirmetiche sui numeri complessi. //Il funzionamento consiste nell'inserire i due operandi, scegliere l'operazione desiderata(attraverso un semplice menù a video) e infine dare il risultato. Console.WriteLine("Programma complesso di Lorenzo Curzi, 4H"); double reale1; //parte reale del primo numero double immaginaria1; //parte immagianria del primo numero do { Console.WriteLine("Inserire la parte reale del primo numero complesso:"); string strReale1 = Console.ReadLine(); double.TryParse(strReale1, out reale1); } while (reale1 < 0); do { Console.WriteLine("Inserire la parte immaginaria del primo numero complesso:"); string strImmaginaria1 = Console.ReadLine(); double.TryParse(strImmaginaria1, out immaginaria1); } while (immaginaria1 < 0); double reale2; //parte reale del secondo numero double immaginaria2; //parte immagianria del secondo numero do { Console.WriteLine("Inserire la parte reale del secondo numero complesso:"); string strReale2 = Console.ReadLine(); double.TryParse(strReale2, out reale2); } while (reale2 < 0); do { Console.WriteLine("Inserire la parte immaginaria del secondo numero complesso:"); string strImmaginaria2 = Console.ReadLine(); double.TryParse(strImmaginaria2, out immaginaria2); } while (immaginaria2 < 0); Complesso Z1 = new Complesso(reale1, immaginaria1); Complesso Z2 = new Complesso(reale2, immaginaria2); int n = 0; //operazione da eseguire while (true) //ciclo per chiedere l'operazione da eseguire { Console.WriteLine("Che operazione si desidera svolegere?"); Console.WriteLine("1: addizione"); Console.WriteLine("2: sottrazione"); Console.WriteLine("3: moltiplicazione"); Console.WriteLine("4: divisione"); string strN = Console.ReadLine(); //richiedo il numero int.TryParse(strN, out n); if (n == 1 || n == 2 || n == 3 || n == 4) { break; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Numero sbagliato! Assciurarsi di selezionare la operazione desiderata"); Console.ForegroundColor = ConsoleColor.White; } } Complesso risultato = new Complesso(0, 0); //a seconda della scelta dell'utente chiamo la funzione richiesta if (n == 1) { risultato.Addizione(Z1, Z2); } else if (n == 2) { risultato.Sottrazione(Z1, Z2); } else if (n == 3) { risultato.Moltiplicazione(Z1, Z2); } else { risultato.Divisione(Z1, Z2); } Console.WriteLine($"Il risultato è: {risultato.reale} + {risultato.immaginario}i"); }
public void Moltiplicazione(Complesso W1, Complesso W2) { reale = (W1.reale * W2.immaginario) - (W1.immaginario * W2.immaginario); immaginario = (W1.immaginario * W2.reale) + (W2.immaginario * W1.reale); }
public void Sottrazione(Complesso W1, Complesso W2) { reale = W1.reale - W2.reale; immaginario = W1.immaginario - W2.immaginario; }
//public void StampaNumero() //{ // Console.WriteLine($"Il numero complesso è: {reale} + {immaginario}i"); //} public void Addizione(Complesso W1, Complesso W2) { reale = W1.reale + W2.reale; immaginario = W1.immaginario + W2.immaginario; }