Normalt bliver spørgsmålet "hvorfor er matematik vigtigt?" besvaret med noget i retning af "hjernetræning". Efter min mening er denne forklaring utilstrækkelig. Når en person udfører fysiske øvelser, kender de det præcise navn på de muskelgrupper, der bliver udviklet. Men samtaler om matematik forbliver alt for abstrakte. Hvilke specifikke "hjernemuskler" trænes med skolealgebra? Det ligner slet ikke den rigtige matematik, hvor store opdagelser gøres. Hvad giver evnen til at finde den afledte af nogle indviklede funktioner?
At undervise programmering til svage studerende har ført mig til et mere præcist svar på spørgsmålet "hvorfor?". I denne artikel vil jeg forsøge at formidle det til dig.

I skolen bruges der en del tid på at omforme og forenkle udtryk. For eksempel: 81×2+126xy+49y2 skal forvandles til (9x+7y)2.
I dette eksempel forventes det, at eleven husker formlen for kvadratet af en sum.

I mere komplekse tilfælde kan det opnåede udtryk bruges til andre transformationer. For eksempel:

transformeres først til

og så, med præciseringen (a + 2b) != 0, bliver det sådan

For at opnå dette resultat skal eleven genkende i det oprindelige udtryk og derefter anvende tre formler:
- Kvadratet af en sum
- Forskellen mellem kvadrater
- Forkortelse af faktorer i en almindelig brøk
I en almindelig skole var vi næsten hele tiden i algebra besat af denne slags omformulering af udtryk. I universitetet på højniveau matematik ændrede det sig ikke væsentligt. Vi blev lært at tage afledte (integraler osv.) og fik en bunke opgaver. Var det nyttigt? Efter min mening — ja. Som et resultat af at udføre disse øvelser:
- Evnen til at omforme udtryk blev forfinet.
- Der blev udviklet opmærksomhed på detaljer.
- En ideal blev dannet — et kortfattet udtryk, man kan stræbe efter.
Efter min mening er tilstedeværelsen af et sådant ideal, kvalitet og færdighed meget nyttig i den daglige arbejdes udvikler. For at forenkle et udtryk betyder i realiteten at ændre dets struktur med det formål at lette forståelsen uden at påvirke meningen. Minder det dig om noget?
Det er praktisk talt definitionen af refaktorisering fra den navngivne bog af Martin Fowler.
I sit værk formulerer forfatteren dem på følgende måde:
Refactoring (sust.): ændring i den interne struktur af software, der har til formål at lette forståelsen af dens funktion og forenkle modificering, uden at ændre den observerbare adfærd.
At foretage refactoring (v.): ændre strukturen af software ved at anvende en række refactoringer uden at påvirke dens adfærd.
Bogen giver "formler", der skal genkendes i kildekoden samt regler for deres transformation.
Som et simpelt eksempel vil jeg nævne "introduktion af en forklarende variabel" fra bogen:
if ( (platform.toUpperCase().indexOf("MAC") > -1 ) &&
(browser.toUpperCase().indexOf("IE") > -1 )&&
wasInitialized() && resize > 0 ) {
// do something
}Delene af udtrykket skal skrives i en variabel, hvis navn forklarer dens formål.
final boolean isMacOS = platform.toUpperCase().indexOf("MAC") > -1;
final boolean isIEBrowser = browser.toUpperCase().indexOf("IE") > -1;
final boolean isResized = resize > 0;
if(isMacOS && isIEBrowser && wasInitialized() && isResized) {
// do something
}
Forestil dig en person, der ikke kan forenkle algebraiske udtryk ved hjælp af kvadratsummen og forskellen.
Hvordan tror du, vil denne person kunne refactorere koden?
Vil han overhovedet være i stand til at skrive kode, der er forståelig for andre, hvis han ikke har dannet et ideal for netop denne kortfattethed? Efter min mening — nej.
Men i skolen lærer alle, og kun et mindretal bliver programmører. Er færdigheden til at transformere udtryk nyttig for almindelige mennesker? Jeg mener ja. Bare færdigheden anvendes i mere abstrakt form: man skal vurdere situationen og vælge den videre handling for at nærme sig målet. I pædagogik kaldes dette fænomen .
De mest markante eksempler opstår ved hjemme-reparation med midler til rådighed, "kollektiv" metode. Som resultat opstår de såkaldte "tricks" og life hacks, en af dem er vist på KPDV. Idé-forfatteren havde et stykke træ, en ledning og fire skruer. Ved at huske skabelonen for en lampesokkel samlede han dem til en hjemmebygget sokkel.
Selv når man kører med motorkøretøjer, engagerer chaufføren sig konstant i genkendelse af mønstre i den omkringliggende verden og udfører de tilsvarende manøvrer for at nå målet.
Når du dør, ved du det ikke, kun andre har det svært. Det samme gælder, når du ikke har mestret matematik...
Hvad sker der, hvis en person ikke har kunne mestre omdannelsen af udtryk? Af og til holder jeg individuelle lektioner med studerende, der har haft problemer med matematik i skolen. Som regel sidder de helt fast på emnet om løkker. Så meget, at jeg må arbejde med dem på "algebra", men på programmeringssprog.
Dette sker, fordi den vigtigste teknik ved skrivning af løkker netop er at omdanne en gruppe af ensartede udtryk.
Lad os antage, at programmets resultat skal se sådan ud:
Introduktion
Kapitel 1
Kapitel 2
Kapitel 3
Kapitel 4
Kapitel 5
Kapitel 6
Kapitel 7
Konklusion
Et trivielt program til at opnå dette resultat ser således ud:
static void Main(string[] args)
{
Console.WriteLine("Introduktion");
Console.WriteLine("Kapitel 1");
Console.WriteLine("Kapitel 2");
Console.WriteLine("Kapitel 3");
Console.WriteLine("Kapitel 4");
Console.WriteLine("Kapitel 5");
Console.WriteLine("Kapitel 6");
Console.WriteLine("Kapitel 7");
Console.WriteLine("Konklusion");
}Men denne løsning er langt fra den elegante ide. Først skal man finde den gentagne gruppe af handlinger og derefter omdanne dem. Resultatet bliver en sådan løsning:
static void Main(string[] args)
{
Console.WriteLine("Introduktion");
for (int i = 1; i <= 7; i++)
{
Console.WriteLine("Kapitel " + i);
}
Console.WriteLine("Konklusion");
}Hvis en person ikke har mestret matematik på et tidspunkt, vil han eller hun heller ikke kunne udføre sådanne omdannelser. De vil simpelthen ikke have den nødvendige færdighed. Derfor er emnet løkker det første forhindring i at lære udvikleren.
Lignende problemer opstår også i andre områder. Hvis en person ikke kan bruge de tilgængelige værktøjer, kan vedkommende ikke vise hverdagskreativitet. Kritiske stemmer vil sige, at hænderne ikke vokser fra det rigtige sted. Dette viser sig på vejen ved manglende evne til at vurdere situationen korrekt og vælge det rigtige manøvrer. Hvilket nogle gange kan føre til tragiske konsekvenser.
Konklusioner:
- Skole- og universitetsmatematik er nødvendig for, at vi kan gøre verden bedre med de værktøjer, vi har.
- Hvis du studerer og har problemer med at lære om løkker, så prøv at vende tilbage til rødderne – skolealgebraen. Tag en opgavesamling for 9. klasse og løs opgaverne derfra.
Kilde: habr.com
