Matematyka a programowanie

0

Witam, jestem aktualnie w 3 klasie gimnazjum i mam do was dosyć dziwne pytanie. Jak duże znaczenie ma matematyka w programowaniu?
Uczę się programować jakoś od połowy wakacji i ciągle idę do przodu, ale mam problemy z matematyką. Dokładniej jedynie nie wychodzą mi równania czy układy równań (zadania tekstowe), nie umiem się skupić i nie umiem ułożyć zwykłego równania bądź układu równań na podstawie tekstu. Czy ten brak zrozumienia czegoś wynika z nauki, czy po prostu tak mam? Boję się, że w przyszłości odbije się to na moją pasję. W klasie raczej wszyscy mają jakiś pomysł na wykonanie zadania, a ja się głowie na nim po 10 min. i dochodzi do tego, że jak podchodzę do tablicy, to jeszcze bardziej nic nie wiem.
Powiedzcie mi jak to było u was i czy odbiło się to jakoś na programowanie, oraz jak mógłbym się nauczyć "myśleć"?

3

Przez +-2 lata zabawy najcięższą matematykę jaką zastosowałem w programie to chyba odległość 2 punktów? i to chyba na olimpiadzie (noob level)

Tutaj gość który jest security engineerem w Google rozpisał się nt. matmy w programowaniu

http://gynvael.coldwind.pl/?id=428

tl:dr

Trudno jest jednoznacznie odpowiedzieć na pytanie typu "czy dużo matematyki jest w informatyce / programowaniu". Niektóre działki informatyki/programowania wymagają więcej matematyki na wyższym poziomie, a niektóre mniej/prawie w ogóle.

Moim zdaniem można być dobrym programistą "ogólnym" znając jedynie (solidnie) program szkoły średniej i mieć chęć douczenia się rzeczy, które są potrzebne w danym momencie.

No i nie, słabe oceny z matmy nie mówią, że ktoś nie ma szans być dobrym programistą (wbrew temu w co niektórzy by chcieli wierzyć, informatyka i programowanie to nie są ani działy matematyki, ani elektroniki; może kiedyś tak było, but it's long gone now ;>).

Personalnie, to wydaje mi się że programowanie może Ci ułatwić ogarnięcie matmy.

3

Ucz się ucz bo nauka to do potęgi klucz.

0
WeiXiao napisał(a):

Przez +-2 lata zabawy najcięższą matematykę jaką zastosowałem w programie to chyba odległość 2 punktów? i to chyba na olimpiadzie (noob level)

Też tak miałem. Po prawdzie to może ciekawiej bo przy grafice 3d coś robiłem (ale to była oboczność). W bankach jak się zna wzór na kapitalizację to już wyższy level (mimo, że w działach ryzyka całkiem ciekawe zagadnienia i modele mają, ale to do plebsu programistycznego trafia w postaci gotowych wzorów).

I wtedy pojawili się oni. Cali na biało. Nadal nie wiem co o tym myśleć. Przykład:

0

W Pythonie jest więcej matematyki czy w Javie?

0

Będzie po równo.

1

Bez matematyki nie policzysz np. pracy jaką należy wykonać aby podnieść obiekt z Ziemi na orbitę albo objętości figury obrotowej. Czyli de facto matematyka nie jest potrzebna w programowaniu samym w sobie, tylko w inżynierskich zastosowaniach informatyki.

Innymi słowy programista niekoniecznie musi posiadać te same kompetencje co inżynier informatyk.

5

Spokojnie, jeśli nawet masz zespół Downa lub tylko zwyczajne upśledzenie (IQ < 70), ale jesteś wesoły do ludzi, to w najgorszym razie powoli sobie zmigrujesz na kierownika projektu. ;P

0

Matematyka jest potrzebna. W technikum czy liceum jest tego dużo, a już na studiach to kompletnie inna bajka. U mnie na studiach jak uczyliśmy się programować w C++ ciągle używaliśmy różnych matematycznych przykładów (od najprostszych równań kwadratowych na początek po szeregi Fouriera itp.) To na pewno się przyda. Musisz włożyć więcej pracy jak chcesz iść w IT.

0

Mozesz pracowac jako programista nie znajac matematyki, wszystko zalezy od twoich ambicji i co chcesz robic. Informatyka wywodzi sie z matematyki, wiec pod kilkoma warstwami abstrakcji tam matma zawsze jest. Na pewno solidna znajomosc matematyki uzywanej w cs daje solidne fundamenty.

Pytanie czy z matematyka masz problemy czy po prostu jeszcze nie potrafisz sie jej uczyc. Generalnie metoda czesto uzywana na lekcjach matematyki czyli rycie na pamiec, jak za x dasz liczbe to obliczysz y i na odwrot jest bardzo slaba. Trzeba by w jakis przejrzysty sposob wytlumaczyc zbiory, nastepnie czym jest funkcja w matematyce itd.

Pozniej na studiach widac, sporo osob ktore z matematyki uznaja tylko 0-9, +, -, /, *, ^ a reszta znaczkow mocno odstrasza potencjalnych studentow :)

0
Uczynny Jeleń napisał(a):

Mozesz pracowac jako programista nie znajac matematyki, wszystko zalezy od twoich ambicji i co chcesz robic. Informatyka wywodzi sie z matematyki, wiec pod kilkoma warstwami abstrakcji tam matma zawsze jest. Na pewno solidna znajomosc matematyki uzywanej w cs daje solidne fundamenty.

Pytanie czy z matematyka masz problemy czy po prostu jeszcze nie potrafisz sie jej uczyc. Generalnie metoda czesto uzywana na lekcjach matematyki czyli rycie na pamiec, jak za x dasz liczbe to obliczysz y i na odwrot jest bardzo slaba. Trzeba by w jakis przejrzysty sposob wytlumaczyc zbiory, nastepnie czym jest funkcja w matematyce itd.

Pozniej na studiach widac, sporo osob ktore z matematyki uznaja tylko 0-9, +, -, /, *, ^ a reszta znaczkow mocno odstrasza potencjalnych studentow :)

Dokładnie tak to wygląda u mnie na lekcji "za x dasz liczbe to obliczysz y i na odwrot". Nie umiem pojąć jak to jest możliwe, że w ogóle taki układ równań można wykonać. U nas na lekcji wygląda to tak, że najpierw na podstawie zadania wypisujemy nasze niewiadome, a później układamy na postawie zadania układ równań. A jakby cały ten proces skrócić i wziąć to bardziej na logike? Oczywiście mi ten etap układania równania nie wychodzi totalnie. Nie umiem na podstawie zadania tekstowego wypisać równania i mam z tym problem i nie wiem ile bym nie kombinował, myślał nad tym, to i tak albo to ułożę źle, albo po prostu nie dam rady.

0

Myślę, że najwięcej matematyki jest w C/C++ przy pisaniu systemów komputerowych, sterowników grafiki, kompilatorów czy przeglądarek. Najmniej w JS, Ruby i PHP. Pisząc matematyki mam na myśli Matematyka przez duże M, a nie dodawanie mnożenie.

0
Zigor36 napisał(a):

Dokładnie tak to wygląda u mnie na lekcji "za x dasz liczbe to obliczysz y i na odwrot". Nie umiem pojąć jak to jest możliwe, że w ogóle taki układ równań można wykonać. U nas na lekcji wygląda to tak, że najpierw na podstawie zadania wypisujemy nasze niewiadome, a później układamy na postawie zadania układ równań. A jakby cały ten proces skrócić i wziąć to bardziej na logike? Oczywiście mi ten etap układania równania nie wychodzi totalnie. Nie umiem na podstawie zadania tekstowego wypisać równania i mam z tym problem i nie wiem ile bym nie kombinował, myślał nad tym, to i tak albo to ułożę źle, albo po prostu nie dam rady.

Podaj przykładowe zadanie z jakim masz problem.

2

Nie chce Cię martwić, ale w programowaniu dla kogoś często tak to wygląda - dostajesz opis zadania i trzeba to przełożyć na kod;)

0

Ucz się. Ćwicz idź na korepetycje, znajdź kogoś kto potrafi ci to wytłumaczyć. W samym programowaniu matma jako narzędzie rzadko jest potrzebna ALE większość wymagań w pracy to tak naprawdę zadanie tekstowe - dostajesz opis od klienta/PO/ czy kogokolwiek innego co i jak ma wyglądać - oni prawie nigdy nie mają pojęcia na jakie moduły jest podzielona aplikacja i gdzie ich (często nierealne) wymagania zrealizować. Twoim zadaniem jest wyciągnięcie sensu z tego co jest napisane i przełożenie tego na kod. Myślę że analogia do zadania tekstowego na matmie jest oczywista :-). Jeśli masz problem z zadaniami tekstowymi to walcz z tym za wszelką cenę bo bez tego będzie ci bardzo trudno albo w ogóle nie dasz rady.

0

Znam takich, co mają problemy z tabliczką mnożenia,a są dobrymi frontendowcami (abstrahując, czy frontend to programowanie).

3

Matematyka to nauka o ścisłym rozumowaniu, nie da się programować nie rozumując ściśle.

0

sam napisales ze Twoim glownym problemem jest fakt, ze nie potrafisz sie skupic na konkretnym zadaniu, a nie sam problem z rozwiazywaniem go.
Powinienes popracowac nad koncentracja, szczegolnie ze problemy w dalszym zyciu z tym zwiazane beda wykraczac poza zadania z matmy :)
Np. jednym z powodow jest to ze ciagle patrzymy w smartphony, sprawdzamy czy ktos pisze albo czy pojawil sie jakis news... ogolnie temat rzeka. Rzeczy ktore nas rozpraszaja sa tysiace. Poczytaj o tym i popracuj nad soba, zmien podejscie i staraj sie uodpornic.

A co do samej matmy w programowaniu to wiekszosc projektow nie wymaga jej znajomosci. Projekty finansowe i jakies algorytmiki juz tak. Dobrze jest tez umiec sprawdzic wydajnosc poszczegolnych rozwiazan ale to przychodzi z doswiadczeniem

1

Krótko -- bez matematyki nie ma programowania. :)

Dłużej -- tego często nie widać na powierzchni, ale każdy programista, analityk itp. mysli w sposób matematyczny (czasem nieświadomie). Sama wiedza, której nabędziesz w czasie nauki matematyki (na kolejnych poziomnach edukacji) pewnie Ci się nigdy nie przyda wprost. Przyda się natomiast sposób rozumowania -- bo tak nasz mózg działa, że nie tylko wykorzystujemy konkretną wiedzę i umiejętności, ale także sposoby, ściezki, wzorce rozumowania. A ty informatyka i matematyka są zadziwiająco bliskie...

1

Zresztą powiedzmy sobie szczerze. O ile samej matmy mało się używa to "śwaidomość matmatyczna" przynjamniej na poziomie liceum (matury rozszerzonej) bardzo się przydaje. Nie wyobrażam sobie programisty który nie potrafi używać chociaż podstawowej trygonometrii, logarytmów itd.

0

W programowaniu pojawiają się np. funkcje, które przyjmują argumenty. Brzmi znajomo... na pocieszenie funkcje mogą czasem nie zwracać nic to chociaż trochę stoi w sprzeczności ze szkolną matematyką ;-)

0
C64 napisał(a):

W programowaniu pojawiają się np. funkcje, które przyjmują argumenty. Brzmi znajomo... na pocieszenie funkcje mogą czasem nie zwracać nic to chociaż trochę stoi w sprzeczności ze szkolną matematyką ;-)

Szczerze mówiąc, to nie stoi -- każda funkcja w programowaniu ma odpowiednik matematyczny -- tylko, że jej przeciwdziedzina zawiera też stan maszyny (czyli obejmuje efekty uboczne)... :)

0
koszalek-opalek napisał(a):
C64 napisał(a):

W programowaniu pojawiają się np. funkcje, które przyjmują argumenty. Brzmi znajomo... na pocieszenie funkcje mogą czasem nie zwracać nic to chociaż trochę stoi w sprzeczności ze szkolną matematyką ;-)

Szczerze mówiąc, to nie stoi -- każda funkcja w programowaniu ma odpowiednik matematyczny -- tylko, że jej przeciwdziedzina zawiera też stan maszyny (czyli obejmuje efekty uboczne)... :)

Ha, no to już się robi abstrakcyjna matematyka ;-)

1

Matematyka jest jak najbardziej potrzebna - na poziomie szkoły podstawowej, klasy 1-4.
Gorsze jest to, że programowanie wymaga pewnego sposobu myślenia, który jest bardzo podobny do aktywnego rozwiązywania zadań matematycznych.
Ale zarówno w matematyce jak i programowaniu ludzie pracują odtwórczo - dla jednych to wada, dla innych zaleta takich miejsc.
Na GoldenLine był nawet gość który twierdził że programista ma za zadanie przeklepać projekt na kod i nie musi przy tym robić nic twórczego - jeśli jesteś w takim projekcie to nie musisz znać matmy.

Przykłady stanowisk gdzie możesz się zabunkrować mimo że miałeś problemy z matmą:

  • korporacje, w tym szczególnie miejsca gdzie tylko wspierasz poprawę błędów popełnionych przez kogoś innego lub w sofcie który bardziej degeneruje niż się rozwija
  • automatyzacja testów
  • projekty waterfall z gigantycznym designem
  • wdrożenia Wordpress
0
vpiotr napisał(a):

Matematyka jest jak najbardziej potrzebna - na poziomie szkoły podstawowej, klasy 1-4.
Gorsze jest to, że programowanie wymaga pewnego sposobu myślenia, który jest bardzo podobny do aktywnego rozwiązywania zadań matematycznych.
Ale zarówno w matematyce jak i programowaniu ludzie pracują odtwórczo - dla jednych to wada, dla innych zaleta takich miejsc.
Na GoldenLine był nawet gość który twierdził że programista ma za zadanie przeklepać projekt na kod i nie musi przy tym robić nic twórczego - jeśli jesteś w takim projekcie to nie musisz znać matmy.

Przykłady stanowisk gdzie możesz się zabunkrować mimo że miałeś problemy z matmą:

  • korporacje, w tym szczególnie miejsca gdzie tylko wspierasz poprawę błędów popełnionych przez kogoś innego lub w sofcie który bardziej degeneruje niż się rozwija
  • automatyzacja testów
  • projekty waterfall z gigantycznym designem
  • wdrożenia Wordpress

Z tym 1-4 to bym nie przesadzał, bo jak widzę co ma moje dziecko w trzeciej klasie to obawiam się, że do liczb wymiernych nie dojdą. I jak potem rozróżniać double od floatów? :D

0
Bogaty Karp napisał(a):
Zigor36 napisał(a):

Dokładnie tak to wygląda u mnie na lekcji "za x dasz liczbe to obliczysz y i na odwrot". Nie umiem pojąć jak to jest możliwe, że w ogóle taki układ równań można wykonać. U nas na lekcji wygląda to tak, że najpierw na podstawie zadania wypisujemy nasze niewiadome, a później układamy na postawie zadania układ równań. A jakby cały ten proces skrócić i wziąć to bardziej na logike? Oczywiście mi ten etap układania równania nie wychodzi totalnie. Nie umiem na podstawie zadania tekstowego wypisać równania i mam z tym problem i nie wiem ile bym nie kombinował, myślał nad tym, to i tak albo to ułożę źle, albo po prostu nie dam rady.

Podaj przykładowe zadanie z jakim masz problem.

Przykładowe zadanie, na którym myślałem bardzo długo jak ułożyć do niego równanie:

W sklepie u pana Jamrożego można kupić stół za 243 zł. Pan Jamroży zarabia na nim 8% (tzn. sprzedaje go o 8% drożej niż zapłacił za niego w hurtowni). Ile procent zysku miałby pan Jamroży, gdyby sprzedał ten stół za 252 zł?

Nie wiem od czego zacząć układając te równanie...

0
Zigor36 napisał(a):
Bogaty Karp napisał(a):
Zigor36 napisał(a):

Dokładnie tak to wygląda u mnie na lekcji "za x dasz liczbe to obliczysz y i na odwrot". Nie umiem pojąć jak to jest możliwe, że w ogóle taki układ równań można wykonać. U nas na lekcji wygląda to tak, że najpierw na podstawie zadania wypisujemy nasze niewiadome, a później układamy na postawie zadania układ równań. A jakby cały ten proces skrócić i wziąć to bardziej na logike? Oczywiście mi ten etap układania równania nie wychodzi totalnie. Nie umiem na podstawie zadania tekstowego wypisać równania i mam z tym problem i nie wiem ile bym nie kombinował, myślał nad tym, to i tak albo to ułożę źle, albo po prostu nie dam rady.

Podaj przykładowe zadanie z jakim masz problem.

Przykładowe zadanie, na którym myślałem bardzo długo jak ułożyć do niego równanie:

W sklepie u pana Jamrożego można kupić stół za 243 zł. Pan Jamroży zarabia na nim 8% (tzn. sprzedaje go o 8% drożej niż zapłacił za niego w hurtowni). Ile procent zysku miałby pan Jamroży, gdyby sprzedał ten stół za 252 zł?

Nie wiem od czego zacząć układając te równanie...
Ogólnie myślę, że sama algebra wychodzi mi dobrze.

A po co w tym zadaniu jakies równanie, a już układ równań to przerost formy nad treścią? Policz ile kosztuje stół bez zysku, a potem policz procentowy zysk, gdyby go sprzedać za postulowaną kwotę. Oczywiście można sprawę formalizować, ale tylko tyle ile trzeba... nie bardziej :D

0
C64 napisał(a):
Zigor36 napisał(a):
Bogaty Karp napisał(a):
Zigor36 napisał(a):

Dokładnie tak to wygląda u mnie na lekcji "za x dasz liczbe to obliczysz y i na odwrot". Nie umiem pojąć jak to jest możliwe, że w ogóle taki układ równań można wykonać. U nas na lekcji wygląda to tak, że najpierw na podstawie zadania wypisujemy nasze niewiadome, a później układamy na postawie zadania układ równań. A jakby cały ten proces skrócić i wziąć to bardziej na logike? Oczywiście mi ten etap układania równania nie wychodzi totalnie. Nie umiem na podstawie zadania tekstowego wypisać równania i mam z tym problem i nie wiem ile bym nie kombinował, myślał nad tym, to i tak albo to ułożę źle, albo po prostu nie dam rady.

Podaj przykładowe zadanie z jakim masz problem.

Przykładowe zadanie, na którym myślałem bardzo długo jak ułożyć do niego równanie:

W sklepie u pana Jamrożego można kupić stół za 243 zł. Pan Jamroży zarabia na nim 8% (tzn. sprzedaje go o 8% drożej niż zapłacił za niego w hurtowni). Ile procent zysku miałby pan Jamroży, gdyby sprzedał ten stół za 252 zł?

Nie wiem od czego zacząć układając te równanie...
Ogólnie myślę, że sama algebra wychodzi mi dobrze.

A po co w tym zadaniu jakies równanie? Policz ile kosztuje stół bez zysku, a potem policz procentowy zysk, gdyby go sprzedać za postulwaną kwotę. Oczywiście można sprawę formalizować, ale tylko tyle ile trzeba... nie bardziej :D

Podałem zły przykład, przypomniało mi się coś. To są zadania podsumowujące dział równań, algebry itp. Rozwiązując praktycznie cały czas równania, myślałem nad tym zadaniem jak ułożyć do tego zadania równanie. Dopiero gdy nauczycielka wzięła kogoś do tego zadania dowiedziałem się, że tam nic nie trzeba układać :P

No ale nie ważne, bo tych zadań co z nimi wtedy na lekcji miałem problem jest więcej, np:

Na lekcji techniki uczniowie budowali modele sześcianów i czworościanów foremnych. Używali do tego patyków długości 10cm. Zbudowali 7 brył z 60 patyków. Ile modeli każdego rodzaju zbudowali?

Ogólnie teraz gdy patrze na to zadanie, to wydaje się bardziej zrozumiałe, ale znów ciężko by mi to było przełożyć na równanie.

0

PS. Bądźcie szczerzy i powiedzcie wprost czy się nadaję do programowania. To mnie jeszcze bardziej zmotywuje i będę się cały czas starać, abym jednak myślał w inny sposób. Za duży mam już hype na punkcie programowania i nie mogę tego rzucić.

0
Zigor36 napisał(a):
C64 napisał(a):
Zigor36 napisał(a):
Bogaty Karp napisał(a):
Zigor36 napisał(a):

Dokładnie tak to wygląda u mnie na lekcji "za x dasz liczbe to obliczysz y i na odwrot". Nie umiem pojąć jak to jest możliwe, że w ogóle taki układ równań można wykonać. U nas na lekcji wygląda to tak, że najpierw na podstawie zadania wypisujemy nasze niewiadome, a później układamy na postawie zadania układ równań. A jakby cały ten proces skrócić i wziąć to bardziej na logike? Oczywiście mi ten etap układania równania nie wychodzi totalnie. Nie umiem na podstawie zadania tekstowego wypisać równania i mam z tym problem i nie wiem ile bym nie kombinował, myślał nad tym, to i tak albo to ułożę źle, albo po prostu nie dam rady.

Podaj przykładowe zadanie z jakim masz problem.

Przykładowe zadanie, na którym myślałem bardzo długo jak ułożyć do niego równanie:

W sklepie u pana Jamrożego można kupić stół za 243 zł. Pan Jamroży zarabia na nim 8% (tzn. sprzedaje go o 8% drożej niż zapłacił za niego w hurtowni). Ile procent zysku miałby pan Jamroży, gdyby sprzedał ten stół za 252 zł?

Nie wiem od czego zacząć układając te równanie...
Ogólnie myślę, że sama algebra wychodzi mi dobrze.

A po co w tym zadaniu jakies równanie? Policz ile kosztuje stół bez zysku, a potem policz procentowy zysk, gdyby go sprzedać za postulwaną kwotę. Oczywiście można sprawę formalizować, ale tylko tyle ile trzeba... nie bardziej :D

Podałem zły przykład, przypomniało mi się coś. To są zadania podsumowujące dział równań, algebry itp. Rozwiązując praktycznie cały czas równania, myślałem nad tym zadaniem jak ułożyć do tego zadania równanie. Dopiero gdy nauczycielka wzięła kogoś do tego zadania dowiedziałem się, że tam nic nie trzeba układać :P

No ale nie ważne, bo tych zadań co z nimi wtedy na lekcji miałem problem jest więcej, np:

Na lekcji techniki uczniowie budowali modele sześcianów i czworościanów foremnych. Używali do tego patyków długości 10cm. Zbudowali 7 brył z 60 patyków. Ile modeli każdego rodzaju zbudowali?

Ogólnie teraz gdy patrze na to zadanie, to wydaje się bardziej zrozumiałe, ale znów ciężko by mi to było przełożyć na równanie.

No ok, w tym dla odmiany musisz policzyć z ilu patyków składają się te bryły. Taki czworościan z 6, a sześcian z 12. Jeśli liczbę 4-ścianów oznaczysz przez x, a kostek przez y i w sumie było ich 6 brył tzn., że x+y=6.

A w sumie patyków użyto 60, a licząc po bryłach to 6x+12y=60. Dla wygoduy obie strony dzielisz przez 6 i masz x+2y=10. Masz układ i rozwiązujesz: x=2 i y=4.

Rzeczywiście to chyba nie to forum ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1