Miért nem kell a matematikában remekelnie a programozás megtanulásának

Ez valószínűleg az egyik legnagyobb tévhit, amit valaha hallottam.

Ha programozni akarsz, akkor jónak kell lenned a matematikában. Teljesen hamis. Hadd magyarázzam.

Nem kell kiemelkednie a matematikában, hogy megtanuljon kódolni

12 évesen kezdtem el kódolni. A matematika, amit tudtam, összeadás, kivonás, szorzás és osztás volt. És több mint elég volt , hogy bekerüljek a programozás világába. Még ma sem használok semmi bonyolultabbat, mint a hatalmakat vagy a szögletes gyökereket.

Ha valaha programozott bármilyen kódsort, remélhetőleg rájött, hogy ennek szinte semmi köze a matematikához. Ha tudod, hogyan kell számolni, akkor nagyjából jó vagy.

A mítosz eredete

Azt hiszem, rájöttem, honnan származik ez a „mítosz”. Ismered azokat a régi (vagy nem is olyan régi) filmeket a hackerekről és a programozókról. Gyakran zöldes betűvel jelzik a sok 0 és 1 értékű számítógépeket, amelyek függőlegesen áramlanak a képernyőn? Ez bináris kód (és általában nem mozog a képernyőn, csak statikus szöveg).

A számítógépek értik a bináris kódot, de a programozási nyelvek nem erről szólnak. Ez egészen nyilvánvalóan hangozhat, mert ha ezt olvassa, valószínűleg valamilyen kapcsolata van ezzel a világgal. De csodálkozna, ha azt látná, hogy sokan gondolják, hogy mindez bináris.

De e tévhit mellett azt gondolom, hogy a másik tényező a matematika és a logika szavak közötti kapcsolat . A programozás logikai gondolkodást igényel, és a matematika is. De a golf és a kosárlabda is megköveteli, hogy labdával játsszanak, és ez nem jelenti azt, hogy tudnod kell, hogyan kell kosárlabdázni a golf elfoglalásához.

Elhitetni veled, amit most mondtam

Vegyünk egy megfelelő példát. Képzelje el, hogy egy olyan függvényt szeretne létrehozni, amely kinyomtatja a szám szorzótábláját. Tehát a 2. bemenetnél a függvényünk visszatér:

2 x 0 = 02 x 1 = 22 x 2 = 42 x 3 = 6… És legfeljebb 2 x 10 = 20

Meglátja, hogy ehhez milyen kevés matematika szükséges (annak ellenére, hogy valami „matematikai” számítást végezünk). Ebben a példában JavaScriptet fogunk használni.

Először deklaráljuk a függvényt . Nevezzük tableOf (n) -nek , ahol n az a szám, amelyre a táblázatot ki akarjuk nyomtatni.

function tableOf(n) {
//rest of the code
}

Pillanatnyilag nagyon könnyű. Most megvalósítunk egy úgynevezett for ciklust. Ez hasonló egy függvényhez, kivéve azt a tényt, hogy amikor eléri a végét, addig megy vissza az elejére, amíg valamilyen feltétel nem teljesül

N- szer szeretnénk kinyomtatni valamilyen más értéket (nevezzük i-nek ), amíg ez az érték el nem éri a 10-et. Figyelembe kell vennünk azt is, hogy én 0- ról kell indulnom , mivel azt akarjuk, hogy nx 0 = 0 legyen az első nyomtatott sor. A kód a következő lehet:

for(i = 0; i < 11; i++) {
console.log(n, 'x', i, '=', n*i);
}

Nézzük át, mit csináltunk. A for ciklust i = 0- val kezdtük , ami azt jelenti, hogy i 0-ról indul (ahogy akartuk). Aztán azt mondjuk, hogy i <11, ami azt jelenti, hogy nem akarunk kilépni a hurokból, amíg i l i nem egyenlő 11-vel, vagy más szavakkal azt akarjuk, hogy a hurok folytatódjon, i f i kisebb, mint 11. Ezután i ++ -t csinálunk , ami azt jelenti, hogy minden alkalommal, amikor a hurok újrakezdõdik, 1-vel növeljük az o f i értéket (tehát végül eléri a 11-et és kilép a ciklusból).

Ezután csak kiírjuk az n-t (a beírt számot), az 'x' -ot (az idők szimbólumához), i-t (a számot, amelyre n szorozzuk), '=' (az egyenlő szimbólumhoz) és végül n * i ( a tényleges működés, n-szer i ).

Az előző kód kombinálva:

function tableOf(n) {
for(i = 0; i < 11; i++) {
console.log(n, 'x', i, '=', n*i);
}
}
tableOf(2);

És működik. Ez nehéz matematika? Az egyetlen matematikai tettük nőtt i egy (hozzáadás), és ellenőrizzük, ha én volt kevesebb, mint 11 Erre konkrét példa, mi is szorozva n -szer i . Wow .

Az érem másik oldala

A kódolás elsajátításával jobb lesz a matematika.

Mint korábban mondtam, a programozás logikai gondolkodást igényel, csakúgy, mint a matematika. A programok írása közben sok problémával találkozhat, amelyeket meg kell oldani. Legtöbbször logikával (de legyünk őszinték, néha a próba és hiba jól működik).

A problémák megoldásához szükséges készségek fejlesztése mindenképpen segítséget nyújt a matematikában - nemcsak a fogalmak, hanem a problémamegoldás terén is. Ezt kiterjesztheti más tudományterületekre is, például a fizikára.

Remélem, hogy ez a cikk arra ösztönzi az embereket, akik megpróbálják a kódolást megpróbálni. Hidd el, hogy keveset tudtam a matematikáról és kevésbé az angolról, és még mindig sokat tudtam tanulni. A tudásnak nincsenek korlátai.