Powrót do C#

przypisywanie wartości, operacje arytmetyczne, operatory przyrostów

Mimo iż wcześniej już trochę używałem operatorów, założyłem, że użytkownik zrozumie ich znaczeni z kontekstu przykładu.

Przypisaniem wartości do zmiennej to tak naprawdę nadanie jej wartości, przypisujemy wartości po prawej stronie operatora „=” do zmiennej po lewej stronie. Przykład poniżej przypisuje wartość 42 do zmiennej całkowitej 'x’:

Wartość dla zmiennej można przypisywać, podczas jej deklaracji lub podczas działania programu:

Jak już wcześniej wspominałem, kod realizowany jest od góry w dół, dlatego podczas przypisywania wartości, zmienna przyjmuje jej ostatnie przypisanie:

Operatory są to symbole, które wykonują matematyczne lub logiczne manipulacje. C# wspiera wymienione niżej podstawowe operacje arytmetyczne:

Operator Symbol Opis
Dodawanie

+

 x + y
Odejmowanie  x – y
Mnożenie *  x * y
Dzielenie /  x / y
Moduł (reszta z dzielenia) %  x % y  (wynik działania ( 9 % 2 = 1)

Przykład użycia:

Operacje arytmetyczne możemy przeprowadzać, deklarując zmienne podczas przypisywania jej wartości, lub modyfikować jej wartość w dalszej części programu. Zmiany i manipulację zmienną mogą doprowadzić do zmiany jej rodzaju, dzielenie dwóch liczb typu całkowitego (int) może doprowadzić do powstania zmiennej typu zmiennoprzecinkowego (double), jeśli przypiszemy otrzymaną w taki sposób wartość do zmiennej typu całkowitego, zostanie ona zaokrąglona. Dzielenie dwóch liczb niekoniecznie zwróci wartość zmiennoprzecinkowego, jeśli obie liczby będą typu całkowitego, operacja zwróci wartość całkowitą:

Oczywiście dzielenie przez zero doprowadzi do wyświetlenia błędu. Wartość do zmiennej możemy przypisywać, określając jej wartość na początku lub w trakcie działania programu, łącząc inne zmienne.

Na szczególną uwagę, zasługuje tutaj moduł, z którym użytkownik mógł nie mieć styczności, jego działanie wygląda następująco:

a % b  =  a – (b * Fix(a / b))  gdzie Fix oznacza zaokrąglenie w dół.

56 % 127 =  56-(127*Fix(56/127))=56-(127* Fix(0,4409448819)) = 56-(127*0)= 56

Operację arytmetyczną dodawania, można przeprowadzać również na łańcuchach znakowych i na samych znakach, jeśli jedna ze zmiennych jest typu łańcucha znaków, wtedy wartość zostanie zwrócona właśnie w tym rodzaju.

Kolejność wykonywania operacji jest taka jak w matematyce, najpierw wykonujemy mnożenie i dzielenie, a następnie dodawanie i odejmowania, chyba że we wzorze pojawią się nawiasy:

Aby wykonywać inne matematyczne operacje jak potęgowanie, pierwiastkowanie, logarytmowanie itp. Należy skorzystać z klasy Math zawartej w .Net Framework, która zawiera takie metody:

Funkcja Opis Przykład
Math.Abs() Zwraca wartość bezwzględną liczby. Wynik = Math.Abs(-15)
Math.ACos() Zwraca kąt którego cosinusem jest podana liczba. Wynik = Math.ACos(Math.Cos(50))
Math.ASin() Zwraca kąt którego sinusem jest podana liczba. Wynik = Math.ASin(Math.Sin(50))
Math.ATan() Zwraca kąt którego tangensem jest podana liczba. Wynik = Math.ATan(Math.Tan(50))
Math.Ceiling() Zwraca liczbę zaokrągloną do góry Wynik = Math.Ceiling(4.3906)
Math.Floor() Zwraca liczbę zaokrągloną do dołu Wynik = Math.Floor(4.7906)
Math.Round() Zwraca liczbę zaokrągloną według jej wielkości Wynik = Math.Round(4.7906)
Math.Cos() Zwraca cosinus podanej liczby. Wynik = Math.Cos(50)
Math.Sin() Zwraca sinus podanej liczby. Wynik = Math.Sin(50)
Math.Tan() Zwraca tangens podanej liczby. Wynik = Math.Tan(50)
Math.Max() Zwraca większą z dwóch podanych liczb. Wynik = Math.Max(200,300)
Math.Min() Zwraca mniejszą z dwóch podanych liczb. Wynik = Math.Min(200,300)
Math.Pow() Zwraca liczbę do podanej potęgi. Wynik = Math.Pow(10,3)
Math.Sqrt() Zwraca pierwiastek kwadratowy liczby. Wynik = Math.Sqrt(64)
Math.PI Stała będąca wartością liczby π do 17 liczby po przecinku. Wynik = Math.PI

Zawiera ona również stałe zmienne, które możemy wywołać, takie jak liczba PI lub liczba Eulera.

Kolejnym elementem wykorzystywanym w pętlach i warunkach są operatory przypisania zespołowego, które wykonują operację i przypisanie w jednej deklaracji.

Taka sama składnia skrótowa dotyczy operatorów mnożenia, podziału i modułu.

Operatory przyrostu, wykorzystywane są do zwiększenia wartości całkowitej (integer) o jeden, jest powszechnie używanym operatorem w C#.

Operator przyrostu ma dwie formy, prefix i postfix

Prefix zwiększa wartość zmiennej a następnie przechodzi do wyrażenia

Postfix ocenia wyrażenie, a następnie wykonuje przyrost

Istnieje również Operatora redukcji, działa w taki sam sposób:

Elementy te zazwyczaj używa się do zwiększenia lub zmniejszenia wartości podczas wykonywania pętli.

Istnieją również specjalne warunki o których warto wiedzieć. Operator ?? sprawdza on czy wartość jest null (pusta) jeśli tak, wtedy przypisze do niej wartość domyślną.

Użycie słowa kluczowego const do deklarowania stałego pola lub stałego lokalnego. Stałe pola nie są zmiennymi i nie mogą być modyfikowane. wartości stałe mogą być liczbami, wartościami logicznymi, łańcuchami znaków lub odniesieniami zerowymi. Nie twórz stałej, aby reprezentowała informacje, które oczekujesz na zmiany w dowolnym momencie. Na przykład nie używaj stałego pola, aby zapisać cenę usługi, numer wersji produktu lub nazwę firmy. Wartości te mogą się zmieniać w czasie, a ponieważ kompilatory propagują stałe. Dobrym przykładem jest tutaj stała PI lub liczba Eulera:

Takie zadeklarowanie stałej nie pozwoli na jej modyfikacje. Warto tutaj również wspomnieć o jeszcze jednej bardzo ważnej rzeczy jaką są liczby losowe. Deklaracja losowej liczby w C# jest bardzo porsta:

Liczby wygenerowane tą metodą, nie są do końca losowe, dlatego mówi się na liczby wygenerowane w ten sposób „pseudo losowe”. Mechanizm generujący liczby losowe ma swój punkt startowy, powoduje to pewien problem w momencie, w którym chcemy zadeklarować kilka takich mechanizmów. Zadeklarowanie ich w tym samym momencie skutkować będzie wygenerowaniem jednakowych liczb.

 Dobrze
poniższy kod wygeneruje różne liczby losowe:
 Źle
poniższy kod wygeneruje jednakowe liczby:

Do generowania liczb losowych używany jest czas, bardzo mały odcinek czasu, na jego podstawie obliczana jest liczba losowa. Generując mechanizmy w tym samym czasie, ustawiliśmy ich start w tym samym momencie, zatrzymując je, zaraz po sobie zatrzymały się równocześnie, dlatego otrzymaliśmy takie same wartości.


  1. Napisz program sprawdzający długość najdłuższego boku trójkąta prostokątnego (Twierdzenie Pitagorasa):
    Jeżeli trójkąt jest prostokątny to suma kwadratów długości dwóch krótszych boków trójkąta jest równa kwadratowi długości najdłuższego boku.
    a2+b2=c2
    a,b- długości przyprostokątnych
    c- długość przeciwprostokątnej
    (Użytkownik musi mieć możliwość wprowadzenia długości boku a i długości boku b,)
  2. Oblicz wartość wyrażenia:  
  3. Używając powyższych metod sprawdź czy wyrażenia są poprawne dla x = 24

 

 

 

Permalink do tego artykułu: https://visualmonsters.cba.pl/c/przypisywanie-arytmetyczne-przyrostow/