Зашто не морате да се усавршавате у математици да бисте научили како да програмирате

Ово је вероватно једна од највећих заблуда коју сам икада чуо.

Ако желите да програмирате, морате бити добри у математици. Потпуно је лажно. Дозволи да објасним.

Не морате да се усавршавате у математици да бисте научили да кодирате

Кодирање сам започео са 12 година. Математика коју сам знао била је сабирање, одузимање, множење и дељење. И било је више него довољно да ме уведе у свет програмирања. Ни данас не користим ништа сложеније од моћи или квадратних корена.

Ако сте икада програмирали било коју линију кода, надамо се да сте схватили да то нема готово никакве везе са математиком. Ако знате да рачунате, прилично сте добри.

Порекло мита

Верујем да сам схватио одакле потиче овај „мит“. Знате оне старе (или не толико старе) филмове о хакерима и програмерима. Често приказују рачунаре са пуно 0 и 1 у зеленкастом фонту, који вертикално теку дуж екрана? То је бинарни код (и обично се не креће по екрану, то је само статични текст).

Рачунари разумеју бинарни код, али програмски језици нису у томе. Можда звучи сасвим очигледно, јер ако ово читате, вероватно имате некакву везу са овим светом. Али зачудили бисте се кад видите колико људи мисли да је све у бинарном облику.

Али поред ове заблуде, мислим да је други фактор однос успостављен између речи математика и логика . Програмирање захтева логично размишљање, а математика такође. Али и за голф и за кошарку је потребна игра лоптом, а то не значи да морате знати како играти кошарку да бисте се бавили голфом.

Да верујем у оно што сам управо рекао

Узмимо прави пример. Замислите да желите да изградите функцију за испис табеле множења броја. Дакле, за улаз 2, наша функција ће вратити:

2 к 0 = 02 к 1 = 22 к 2 = 42 к 3 = 6… И до 2 к 10 = 20

Видећете колико је мало математике потребно за ово (иако рачунамо нешто 'математичко'). У сврху овог примера користићемо ЈаваСцрипт.

Прво, декларишемо функцију . Назваћемо га таблеОф (н) , где је н број за који желимо да одштампамо табелу.

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

Тренутно прилично лако. Сада ћемо применити нешто што се зове петља фор. Ово је слично функцији, изузев чињенице да се, када дође до краја, враћа на почетак док неки услов није тачан

Желимо да исписујемо н пута неку другу вредност (назовимо је и ) док та вредност не достигне 10. Морамо такође узети у обзир да и треба да почнем од 0, јер желимо да нк 0 = 0 буде прва исписана линија. Код може бити следећи:

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

Размотримо шта смо управо урадили. Петљу фор започели смо са и = 0 , што значи да и почиње од 0 (како смо и желели). Онда смо и <11 рећи, што значи да не желимо да излаз из петље УНТ и ја сам једнак 11 или, другим речима, желимо да петља да настави И Ф је мање од 11. Затим смо до и ++, што значи да повећавамо вредност о и за 1 сваки пут када се петља поново покрене (тако да на крају достигне 11 и изађе из петље).

Тада само изнесемо н (број који смо унели), 'к' (за симбол времена ), и (број за који се н помножава са), '=' (за симбол једнако ) и на крају н * и ( стварна операција, н пута и ).

Претходни код, комбинован:

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

И успева. Да ли је ово тешка математика? Једина математика коју смо урадили је повећање и за један (додавање) и провера да ли сам мањи од 11. За овај конкретан пример такође смо помножили н пута и . Вау .

Друга страна медаље

Ако научите да програмирате, постаћете бољи у математици.

Као што сам већ рекао, програмирање захтева логично размишљање баш као и математика. Док пишете своје програме, наићи ћете на пуно проблема које треба решити. Већину времена са логиком (али будимо искрени, понекад покушаји и грешке добро функционишу).

Развијање вештина за решавање ових проблема дефинитивно ће вам помоћи у математици - не само у концептима, већ и у решавању проблема. Ово можете проширити и на друге дисциплине, попут физике.

Надам се да овај чланак служи за подстицање људи који желе да покушају са кодирањем. Верујте ми, мало сам знао о математици, а мање о енглеском и још увек сам могао пуно да научим. Знање нема ограничења.