Hvorfor du ikke behøver at udmærke dig i matematik for at lære at programmere

Dette er sandsynligvis en af ​​de største misforståelser, jeg nogensinde har hørt.

Hvis du vil programmere, skal du være god til matematik. Det er helt falsk. Lad mig forklare.

Du behøver ikke at udmærke sig i matematik for at lære at kode

Jeg begyndte at kode, da jeg var 12 år gammel. Den matematik, jeg kendte, var addition, subtraktion, multiplikation og division. Og det var mere end nok til at få mig ind i programmeringsverdenen. Selv i dag bruger jeg ikke noget mere komplekst end kræfter eller kvadratrødder.

Hvis du nogensinde har programmeret en kodelinje, har du forhåbentlig indset, at det næsten ikke har noget med matematik at gøre. Hvis du ved, hvordan du tæller, er du ret god til at gå.

Oprindelsen til myten

Jeg tror, ​​jeg har fundet ud af, hvor denne 'myte' kommer fra. Du kender de gamle (eller ikke så gamle) film om hackere og programmører. De viser ofte computere med masser af 0'er og 1'er med en grønlig skrifttype, der flyder lodret langs skærmen? Det er binær kode (og den bevæger sig normalt ikke rundt på skærmen, det er bare statisk tekst).

Computere forstår binær kode, men det er ikke det, programmeringssprog handler om. Det lyder måske ret indlysende, for hvis du læser dette, har du sandsynligvis et eller andet forhold til denne verden. Men du vil blive overrasket over at se, hvor mange mennesker synes, det handler om binær.

Men udover denne misforståelse tror jeg, at den anden faktor er forholdet mellem ordene matematik og logik . Programmering kræver logisk tænkning, og matematik gør det også. Men både golf og basketball kræver, at en bold skal spilles med, og det betyder ikke, at du har brug for at vide, hvordan man spiller basketball for at tage golf.

Få dig til at tro, hvad jeg lige sagde

Lad os tage et ordentligt eksempel. Forestil dig, at du vil opbygge en funktion til at udskrive multiplikationstabellen for et tal. Så for input 2 vender vores funktion tilbage:

2 x 0 = 02 x 1 = 22 x 2 = 42 x 3 = 6… Og op til 2 x 10 = 20

Du vil se, hvor lidt matematik der kræves for at gøre dette (selvom vi beregner noget 'matematisk'). Med henblik på dette eksempel bruger vi JavaScript.

Først erklærer vi funktionen . Vi kalder det tableOf (n) , hvor n er det nummer, vi vil udskrive tabellen over.

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

Ret let for øjeblikket. Nu implementerer vi noget kaldet en for loop. Dette svarer til en funktion bortset fra det faktum, at når den når slutningen, går den tilbage til starten, indtil en eller anden tilstand er sand

Vi ønsker at udskrive n gange en anden værdi (lad os kalde det i ), indtil den værdi når 10. Vi skal også tage højde for, at jeg skal starte fra 0, da vi vil have, at nx 0 = 0 skal være den første linje, der udskrives. Koden kan være som følger:

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

Lad os gennemgå, hvad vi lige har gjort. Vi startede for-loop med i = 0 , hvilket betyder at jeg starter fra 0 (som vi ønskede). Så siger vi i <11, hvilket betyder, at vi ikke ønsker at afslutte løkken UNT i Li er lig 11 eller med andre ord, vi ønsker løkken til at fortsætte i f i er mindre end 11. Så vi gør jeg ++, hvilket betyder, at vi øger værdien af f med 1 hver gang sløjfen starter igen (så den når til sidst 11 og går ud af sløjfen).

Så vi bare output n (antallet vi indtastet), 'x' (for tidspunkter symbol), jeg (det antal, som n ganges med), '=' (for lig symbol), og til sidst n * i ( den faktiske operation, n gange i ).

Den forrige kode kombineret:

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

Og det fungerer. Er dette svært matematik? Den eneste matematik, vi gjorde, var at øge i med en (tilføje) og kontrollere, om jeg var mindre end 11. For dette konkrete eksempel multiplicerede vi også n gange i . Wow .

Den anden side af mønten

At lære at kode vil gøre dig bedre i matematik.

Som jeg sagde før, kræver programmering logisk tænkning ligesom matematik gør. Mens du skriver dine programmer, vil du støde på mange problemer, der skal løses. Det meste af tiden med logik (men lad os være ærlige, nogle gange fungerer prøving og fejl bare fint).

At udvikle færdighederne til at løse disse problemer vil bestemt hjælpe dig med matematik - ikke kun med begreberne, men med problemløsning. Du kan også udvide dette til andre discipliner, såsom fysik.

Jeg håber, at denne artikel tjener til at opmuntre folk, der ønsker at prøve kodning, for at gøre det. Tro mig, jeg vidste lidt om matematik og mindre om engelsk, og jeg kunne stadig lære meget. Viden har ingen grænser.