Exerciții - Efectuarea operațiilor matematice
Acum că înțelegeți noțiunile de bază despre adunare și, mai important, conversia implicită a tipului între tipurile de date numerice și de șir, să ne uităm la mai multe alte operații matematice comune asupra datelor numerice.
Efectuarea operațiilor matematice de bază
Scrieți cod pentru a efectua adunarea, scăderea, înmulțirea și împărțirea cu întregi
Selectați tot codul pe care l-ați scris anterior în Editorul de cod C# și apăsați Delete sau Backspace pentru a-l șterge.
Introduceți următorul cod în Editorul de coduri C#:
int sum = 7 + 5; int difference = 7 - 5; int product = 7 * 5; int quotient = 7 / 5; Console.WriteLine("Sum: " + sum); Console.WriteLine("Difference: " + difference); Console.WriteLine("Product: " + product); Console.WriteLine("Quotient: " + quotient);Rulați codul. Ar trebui să vedeți următoarea ieșire:
Sum: 12 Difference: 2 Product: 35 Quotient: 1
După cum puteți vedea:
-
+este operatorul de adunare -
-este operatorul de scădere -
*este operatorul de înmulțire -
/este operatorul de împărțire
Cu toate acestea, este posibil ca câtul rezultat al exemplului de împărțire să nu fie ceea ce vă așteptați. Valorile de după zecimale sunt trunchiate din quotient momentul în care sunt definite ca și intnu int pot conține valori după virgulă.
Adăugare cod pentru a efectua împărțirea utilizând date literale zecimale
Pentru a vedea că împărțirea funcționează corect, trebuie să utilizați un tip de date care acceptă cifre fracționare după virgula zecimală, cum ar fi decimal.
Ștergeți codul din pașii anteriori și introduceți următorul cod în Editorul de cod C#:
decimal decimalQuotient = 7.0m / 5; Console.WriteLine($"Decimal quotient: {decimalQuotient}");Rulați codul. Ar trebui să vedeți următoarea ieșire:
Decimal quotient: 1.4
Pentru ca acest lucru să funcționeze, câtul (stânga operatorului de atribuire) trebuie să fie de tip decimalși cel puțin un număr împărțit trebuie să fie de asemenea de tip decimal (ambele numere pot fi de asemenea un decimal tip).
Iată două exemple suplimentare care funcționează la fel de bine:
decimal decimalQuotient = 7 / 5.0m;
decimal decimalQuotient = 7.0m / 5.0m;
Totuși, următoarele linii de cod nu vor funcționa (sau nu vor oferi rezultate incorecte):
int decimalQuotientA = 7 / 5.0m;
int decimalQuotientB = 7.0m / 5;
int decimalQuotientC = 7.0m / 5.0m;
decimal decimalQuotientD = 7 / 5;
Adăugare cod pentru a difuza rezultatele împărțirii numerelor întregi
Ce se întâmplă dacă nu lucrați cu valori literale? Cu alte cuvinte, ce se întâmplă dacă trebuie să împărțiți două variabile de tip int , dar nu doriți trunchierea rezultatului? În acest caz, trebuie să efectuați o difuzare de tip de date de la int la .decimal Turnarea este un tip de conversie de date care instruiește compilatorul să trateze temporar o valoare ca și cum ar fi un alt tip de date.
Pentru a seta int la decimal, adăugați operatorul de distribuție înaintea valorii. Utilizați numele tipului de date înconjurat de paranteze în fața valorii pentru a-l distribui. În acest caz, adăugați (decimal) înainte de variabile first și second.
Ștergeți codul din pașii anteriori și introduceți următorul cod în Editorul de cod C#:
int first = 7; int second = 5; decimal quotient = (decimal)first / (decimal)second; Console.WriteLine(quotient);Rulați codul. Ar trebui să vedeți următoarea ieșire:
1.4
Notă
Ați văzut trei utilizări pentru operatorul de paranteze: invocarea metodei, ordinea operațiunilor și turnarea.
Scrieți cod pentru a determina restul după împărțirea întreagă
Operatorul modulului % vă spune restul int divizării. Ceea ce chiar înveți din asta este dacă un număr este divizibil de altul. Acest lucru poate fi util în timpul operațiunilor de procesare lungă atunci când parcurgeți sute sau mii de înregistrări de date și doriți să oferiți feedback utilizatorului final după ce au fost procesate fiecare 100 de înregistrări de date.
Ștergeți codul din pașii anteriori și introduceți următorul cod în Editorul de cod C#:
Console.WriteLine($"Modulus of 200 / 5 : {200 % 5}"); Console.WriteLine($"Modulus of 7 / 5 : {7 % 5}");Rulați codul. Ar trebui să vedeți următoarea ieșire:
Modulus of 200 / 5 : 0 Modulus of 7 / 5 : 2
Atunci când modulul este 0, înseamnă că dividendul este împărțit de divizor.
Ordinea operațiunilor
După cum ați învățat în exercițiul anterior, puteți utiliza simbolurile () ca ordinea operatorilor de operațiuni . Totuși, acest lucru nu este singurul mod în care este determinată ordinea operațiunilor.
În matematică, PEMDAS este un acronim care ajută elevii să rețină ordinea operațiunilor. Comanda este:
- Psunttheses (ceea ce este în interiorul parantezei este efectuat prima)
- Exponents
- Multiplication și Division (de la stânga la dreapta)
- Oscădere ddition și S(de la stânga la dreapta)
C# urmează aceeași ordine ca PEMDAS, cu excepția exponenților. Deși nu există niciun operator exponent în C#, puteți utiliza System.Math.Pow metoda. Modulul "Metode de apelare din Biblioteca de clase .NET utilizând C#" va include această metodă și altele.
Scrieți cod pentru a exercita ordinea operațiunilor C#s
Ștergeți codul din pașii anteriori și introduceți următorul cod în Editorul de cod C#:
int value1 = 3 + 4 * 5; int value2 = (3 + 4) * 5; Console.WriteLine(value1); Console.WriteLine(value2);Aici vedeți diferența atunci când efectuați aceleași operațiuni în altă ordine.
Rulați codul. Ar trebui să vedeți următoarea ieșire:
23 35
Recapitula
Iată ce ați învățat până acum despre operații matematice în C#:
- Utilizați operatori precum
+,-*, și/pentru a efectua operații matematice de bază. - Împărțirea a două
intvalori va avea ca rezultat trunchierea oricăror valori după virgula zecimală. Pentru a păstra valorile după virgula zecimală, trebuie să distribuiți divizorul sau dividendul (sau ambele) dintr-unintnumăr în virgulă mobilă cadecimalprimul, apoi câtul trebuie să fie de același tip de punct flotant, precum și pentru a evita trunchierea. - Efectuați o operațiune de distribuție pentru a trata temporar o valoare ca și cum ar fi un alt tip de date.
-
%Utilizați operatorul pentru a captura restul după împărțire. - Ordinea operațiunilor va respecta regulile acronimului PEMDAS.