[38] (C#) Math - funkcje matematyczne
HTML-код
- Опубликовано: 16 сен 2024
- W tym odcinku wytłumaczę działanie wielu funkcji matematycznych dostępnych w klasie Math. Wśród nich będą:
- zaokrąglanie
- wartość bezwzględna
- signum
- min oraz max
- potęgowanie
- pierwiastkowanie
- funkcje logarytmiczne
- funkcje trygonometryczne
Oraz wiele więcej!
cała seria absolutna rewelacja, takiego typu tłumaczenia właśnie wszędzie brakuje, prostego wytłumaczenia szczegółowych mechanizmów działania, wielkie wielkie dzięki za włożoną pracę, doskonałe pod względem merytorycznym i graficznym, uczenie się z tego kanału to czysta przyjemność. (jeśli mogę coś podrzucić co może przyda się w dalszym tworzeniu materiałów - jest kanał o programowaniu Kudvenkat (Pragim Technologies) - bardzo prosty angielski, setki godzin perfekcyjnie przygotowanych tematów, może się przyda, jeszcze raz podziękowania i wszystkiego najlepszego
Dziękuję bardzo, ale to bardzo!
Nawet nie wiesz jak mi miło :)
Fajnie przypomniec sobie funkcje matematyczne. Sczęście że działają też w js javie c i c++
Staram się pokazywać różne rzeczy maksymalnie uniwersalnie. Programowanie trzeba jednak wytłumaczyć w jakimś języku, więc wybrałem do tego C#.
Nie wykluczam jednak także innego języka w przyszłości :)
Maszyna Licząca może w przyszłych odcinkach troche obiektowo poprogramujesz :)
Oczywiście! Mam w planach pokazać cały paradygmat obiektowy oraz także funkcyjny. Niestety ostatnio mam bardzo mało czasu i nie mogę tak często nagrywać nowych odcinków.
Ale programowanie obiektowe będzie na 100%!
A co gdybym chciał z metody Math.Ceiling() wycisnąć zaokrąglenie do dwóch liczb po przecinku? Z tego co widziałem to nie ma przeciążenia dla dwóch parametrów także samemu trzeba napisać metodę, tak?
I jeszcze trochę głupsze pytanie. Zdziwiło mnie, że trzeba w 1/4d użyć literki 'd' bo inaczej komputer uzna to za 0.
Zarówno dla Math.Floor, Math.Ceiling oraz Math.Truncate nie zostaniemy zaokrąglania do określonej liczby miejsc po przecinku. Myślę, że napisanie samemu takiej metody załatwiłoby sprawę. Jednak nie przypominam sobie, żebym musiał kiedyś pisać takie coś.
Oczywiście nie ma głupich pytań! Wynik dzielenia inta przez inta zawsze jest intem. Więc 1 przez 4 będzie intem, a jego wartość to 0, bo liczba 4 mieści się 0 razy w liczbie 1. Wartość po przecinku otrzymamy kiedy jednym z argumentów dzielenia jest liczba zmiennoprzecinkowa. Dlatego musimy użyć literału do zmiennej typu double: 1/4d, lecz można by użyć także 1d/4 oraz oczywiście 1d/4d.
Dzięki mistrzu.
:)
tak bo to jest 3 * 3 , tak bo to jest 2 * 2 * 2 * 2 czyli 2 * 2 to jest 4 razy 2 to jest 8 razy 2 to jest 16 gdzie to jeszcze jedno *2 ? :P
pozatym ktoś mógłby podać wartość ujemną :P if kontrolny się nie wykona bo wykladnik != 0 jest < 0... albo unsigned int albo trza zamienic == na
Z warunkiem na liczby ujemne się zgadzam - tak jak mówiłem, po prostu pominąłem ten przypadek, bo chciałem skupić się na innych rzeczach. Dla ujemnych liczb wynik i tak będzie 1, bo pętla for nie wykona się ani jeden raz.
Z tym potęgowaniem nie mogę się zgodzić. 2 * 2 * 2 * 2 = ((2 * 2) * 2) * 2 = (4 * 2) * 2 = 8 * 2 = 16. 2 do potęgi 4 wynosi 16. Nie ma tutaj błędu z mojej strony, co zresztą widać na filmie :)