
Ovo je vjerojatno jedna od najvećih zabluda koju sam ikad čuo.
Ako želite programirati, morate biti dobri u matematici. Potpuno je lažno. Dopustite mi da objasnim.
Ne trebate uspjeti u matematici da biste naučili kodirati
Kodirati sam počeo sa 12 godina. Matematika koju sam znao bila je zbrajanje, oduzimanje, množenje i dijeljenje. I bilo je više nego dovoljno da me uvede u svijet programiranja. Ni danas ne koristim ništa složenije od moći ili kvadratnih korijena.
Ako ste ikad programirali bilo koji redak koda, nadamo se da ste shvatili da to gotovo nema nikakve veze s matematikom. Ako znate računati, prilično ste dobri.
Podrijetlo mita
Vjerujem da sam shvatio odakle dolazi taj 'mit'. Znate one stare (ili ne toliko stare) filmove o hakerima i programerima. Često prikazuju računala s puno 0 i 1 u zelenkastom fontu koji okomito teku duž zaslona? To je binarni kôd (i obično se ne kreće po zaslonu, to je samo statični tekst).
Računala razumiju binarni kod, ali programski jezici nisu u tome. Možda zvuči sasvim očito, jer ako ovo čitate, vjerojatno imate nekakav odnos s ovim svijetom. Ali, začudili biste se kad vidite koliko ljudi misli da je sve u binarnom obliku.

Ali osim ove zablude, mislim da je drugi čimbenik odnos uspostavljen između riječi matematika i logika . Programiranje zahtijeva logično razmišljanje, a matematika također. Ali i golf i košarka zahtijevaju igranje lopte, a to ne znači da trebate znati igrati košarku da biste se bavili golfom.
Natjerati vas da povjerujete u ono što sam upravo rekao
Uzmimo pravi primjer. Zamislite da želite izgraditi funkciju za ispis tablice množenja broja. Dakle, za ulaz 2, naša funkcija će vratiti:
2 x 0 = 02 x 1 = 22 x 2 = 42 x 3 = 6… I do 2 x 10 = 20Vidjet ćete koliko je malo matematike potrebno za to (iako izračunavamo nešto 'matematičko'). U svrhu ovog primjera koristit ćemo JavaScript.
Prvo, deklariramo funkciju . Nazvat ćemo ga tableOf (n) , gdje je n broj za koji želimo ispisati tablicu.
function tableOf(n) {
//rest of the code
}
Trenutno prilično lako. Sada ćemo implementirati nešto što se naziva for petlja. Ovo je slično funkciji, osim činjenice da se, kad stigne na kraj, vraća na početak sve dok neki uvjet nije istinit
Želimo ispisati n puta neku drugu vrijednost (nazovimo je i ) dok ta vrijednost ne dosegne 10. Moramo također uzeti u obzir da bih trebao početi od 0, jer želimo da nx 0 = 0 bude prvi ispisani redak. Kôd može biti sljedeći:
for(i = 0; i < 11; i++) {
console.log(n, 'x', i, '=', n*i);
}
Pogledajmo što smo upravo učinili. Petlju for započeli smo s i = 0 , što znači da i počinje od 0 (kako smo željeli). Tada kažemo i <11, što znači da ne želimo da se izlaz iz petlje unt ja l je jednako 11 ili, drugim riječima, želimo petlje i dalje ja f je i manje od 11. Zatim smo učinili i ++, što znači da povećavamo vrijednost o i za 1 svaki put kad se petlja ponovno pokrene (pa na kraju dosegne 11 i izađe iz petlje).
Tada samo iznesemo n (broj koji smo unijeli), 'x' (za simbol vremena ), i (broj za koji se n množi sa), '=' (za simbol jednako ) i na kraju n * i ( stvarna operacija, n puta i ).
Prethodni kôd, kombiniran:
function tableOf(n) {
for(i = 0; i < 11; i++) {
console.log(n, 'x', i, '=', n*i);
}
}
tableOf(2);
I djeluje. Je li ovo teška matematika? Jedina matematika mi je bila u porastu ja jedan (dodavanje) i provjere da li sam bio manji od 11. Na ovom konkretnom primjeru, mi također pomnožen n puta I . Vau .
Druga strana medalje
Ako naučite kodirati, postat ćete bolji u matematici.
Kao što sam već rekao, programiranje zahtijeva logično razmišljanje baš kao i matematika. Dok pišete svoje programe, naići ćete na puno problema koje treba riješiti. Većinu vremena s logikom (ali budimo iskreni, ponekad pokušaji i pogreške funkcioniraju sasvim u redu).
Razvijanje vještina za rješavanje ovih problema definitivno će vam pomoći u matematici - ne samo u konceptima, već i u rješavanju problema. To možete proširiti i na druge discipline, poput fizike.
Nadam se da ovaj članak služi za poticanje ljudi koji žele pokušati s kodiranjem. Vjerujte mi, malo sam znao o matematici, a manje o engleskom i još sam uvijek mogao puno naučiti. Znanje nema ograničenja.