To zależy
Niby jest potrzebna, ale nie jest
Dopiero po dłuższym czasie sobie to uświadomiłem
Chodzi o to, że w programowaniu nie używasz matematyki w takiej formie, jak na lekcjach matematyki
Bo nie musisz liczyć, a jedynie sprawdzasz czy cały proces idzie prawidłowo
np "jeśli koszty cła naliczone w trasie drogą lądową jaką wyznaczył magiczny algorytm są wyższe od X, gdzie X jest zależny od wagi produktów i dystansu w km, sprawdź cene drogi powietrznej i blablabla"
Może z punktu biznesowego to co napisałem nie jest super przemyślane
Ale jest tu jakaś matematyka
Musimy wiedzieć czy algorytm działa prawidłowo, do tego musimy napisać testy do poszczególnych etapów
Co prawda nie liczymy wszystkiego na kartce i kalkulatorze
Ale musimy sprawdzić "czy jeśli ma być dodane 20zł, zostaje dodane 20zł"
"czy jeśli cena jest wyższa od A, uruchamia szukanie alternatywy"
"czy jeśli alternatywa została uruchomiona, zwróciła dobry wynik"
można powiedzieć że to zwykły zbiór if()
ale jak w matematyce wygląda równanie kwadratowe?
masz równanie, wyciągasz z tego ABC
liczysz b^2 - 4 * a * c
jeśli dodatnia wzór na 2 miejsca zerowe
jeśli 0 wzór na 1 miejsce zerowe
jeśli ujemna to bez miejsc zerowych
do tego wzór na szczyt wierzchołka
a testy sprawdzałyby
"czy dla równania dającego wynik ujemny, wynik jest ujemny"
"czy dla równania dającego wynik zerowy, jest jedno miejsce zerowe"
i tak dalej
jedyna różnica to fakt, że nie ty musisz wszystko liczyć tylko kalkulator, więc nie dochodzi do sytuacji gdzie dajesz minus zamiast plusa i od razu wszystko źle, albo zapomnisz o wzorze skróconego mnożenia i znowu źle, coś źle pomnożysz w pamięci i źle, bo to robi za ciebie komputer
przez ten fakt sytuacja zmienia się w takim stopniu, że osoba która odkąd skończyła 10 lat co roku ledwo zdaje w szkole z matematyki... nagle w programowaniu nie ma problemów... jak to się stało?
jest jeszcze kwestia nauczycieli, nie każdy odpowiednio tłumaczy
chyba każdy to zna => nauczyciel gadał 10 lekcji => uczymy sie do sprawdzianu => nic nie ogarniamy => zaglądamy do internetu (np na youtube) => po godzinie czy 2 jesteśmy w stanie zrobić wszystkie zadania na kartkówce, a jedyne błędy to źle przeniesiony minus który psuje nam zadanie
i tak wygląda większość programów
są jeszcze sytuacje z ostrą optymalizacją albo po prostu tworzeniem fizyki (np w grach), ale to nie jest już problem zwykłych programistów, tylko tych, których zadania polegają na konkretnie tworzeniu fizyki w grach albo ostrej optymalizacji z użyciem skomplikowanej matematyki