Daarom is skoolalgebra nodig

Gewoonlik die vraag "hoekom het ons wiskunde nodig?" Hulle antwoord iets soos "gimnastiek vir die gees." Na my mening is hierdie verduideliking nie genoeg nie. Wanneer 'n persoon fisiese oefening doen, ken hy die presiese naam van die spiergroepe wat ontwikkel. Maar gesprekke oor wiskunde bly te abstrak. Watter spesifieke “geestesspiere” word deur skoolalgebra geoefen? Dit is glad nie soortgelyk aan werklike wiskunde, waarin groot ontdekkings gemaak word nie. Wat gee die vermoë om na die afgeleide van sommige ingewikkelde funksies te soek?

Die onderrig van programmering aan swak studente het my gelei tot 'n meer presiese antwoord op die vraag "hoekom?" In hierdie artikel sal ek probeer om dit aan jou oor te dra.

Daarom is skoolalgebra nodig
Op skool word nogal baie tyd daaraan gewy om uitdrukkings te transformeer en te vereenvoudig. Byvoorbeeld: 81×2+126xy+49y2 moet omgeskakel word as (9x+7y)2.

In hierdie voorbeeld word van die student verwag om die formule vir die kwadraat van die som te onthou

Daarom is skoolalgebra nodig

In meer komplekse gevalle kan die resulterende uitdrukking vir ander transformasies gebruik word. Byvoorbeeld:

Daarom is skoolalgebra nodig

word eerstens omgeskakel na

Daarom is skoolalgebra nodig

en dan, met die verduideliking (a + 2b) != 0, word dit so

Daarom is skoolalgebra nodig

Om hierdie resultaat te bereik, moet die student in die oorspronklike uitdrukking herken en dan drie formules toepas:

  • Vierkant van die som
  • Verskil van vierkante
  • Vermindering van die faktore van 'n gewone breuk

In algebra skool het ons byna al die tyd spandeer om uitdrukkings soos hierdie te transformeer. Niks het beduidend verander in hoër wiskunde aan die universiteit nie. Ons is vertel hoe om afgeleides (integrale, ens.) te neem en 'n klomp probleme gegee. Was dit nuttig? Na my mening - ja. As gevolg van die uitvoering van hierdie oefeninge:

  1. Die vaardigheid om uitdrukkings te transformeer is opgeskerp.
  2. Aandag aan detail het ontwikkel.
  3. 'n Ideaal is gevorm - 'n lakoniese uitdrukking waarna 'n mens kan streef.

Na my mening is dit baie nuttig om so 'n etos, kwaliteit en vaardigheid te hê in die daaglikse werk van 'n ontwikkelaar. Om 'n uitdrukking te vereenvoudig, beteken immers in wese om die struktuur daarvan te verander om verstaan ​​te vergemaklik sonder om die betekenis te beïnvloed. Herinner dit jou aan enigiets?

Dit is feitlik die definisie van refactoring uit die boek met dieselfde naam deur Martin Fowler.

In sy werk formuleer die skrywer hulle soos volg:

Herfaktorering (n): 'n Verandering aan die interne struktuur van sagteware wat bedoel is om dit makliker te maak om te verstaan ​​en makliker om te wysig sonder om waarneembare gedrag te beïnvloed.

Refaktor (werkwoord): verander die struktuur van sagteware deur 'n reeks herfaktorerings toe te pas sonder om die gedrag daarvan te beïnvloed.

Die boek gee "formules" wat in die bronkode herken moet word en die reëls vir die omskakeling daarvan.

As 'n eenvoudige voorbeeld sal ek die "bekendstelling van 'n verklarende veranderlike" uit die boek gee:

if ( (platform.toUpperCase().indexOf(“MAC”) > -1 ) &&
    (browser.toUpperCase().indexOf(“IE”) > -1 )&&
    wasInitialized() && resize > 0 ) {
    // do something
}

Dele van die uitdrukking moet in 'n veranderlike geskryf word waarvan die naam die doel daarvan verduidelik.

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
}

Stel jou 'n persoon voor wat nie algebraïese uitdrukkings kan vereenvoudig deur die kwadraatsom en verskil van vierkante formule te gebruik nie.

Dink jy hierdie persoon kan die kode herfaktoreer?

Sal hy selfs kode kan skryf wat ander mense kan verstaan ​​as hy nie juis die ideaal van hierdie bondigheid gevorm het nie? Na my mening, nee.

Almal gaan egter skool toe, en 'n minderheid word programmeerders. Is die uitdrukking omskakelingsvaardigheid nuttig vir gewone mense? Ek dink ja. Slegs die vaardigheid word in 'n meer abstrakte vorm toegepas: jy moet die situasie assesseer en 'n verdere aksie kies om nader aan die doel te kom. In die pedagogie word hierdie verskynsel genoem oordrag (vaardigheid).

Die treffendste voorbeelde kom voor tydens huishoudelike herstelwerk met behulp van geïmproviseerde middele, die "kollektiewe plaas"-metode. As gevolg hiervan verskyn daardie selfde "tricks" en life hacks, waarvan een op die KPDV uitgebeeld word. Die skrywer van die idee het 'n stuk hout, draad en vier skroewe gehad. Hy het die lampsok-sjabloon onthou en 'n tuisgemaakte lampsok daaruit saamgestel.

Selfs wanneer hy 'n voertuig bestuur, is die bestuurder voortdurend besig om patrone in die wêreld om hom te herken en die gepaste maneuvers uit te voer om by sy bestemming uit te kom.

As jy sterf, weet jy nie daarvan nie, dis net moeilik vir ander. Dit is dieselfde as jy nie wiskunde bemeester het nie...

Wat gebeur as 'n persoon nie daarin slaag om die transformasie van uitdrukkings te bemeester nie? Ek gee van tyd tot tyd individuele lesse aan studente wat swak was in wiskunde op skool. As 'n reël sit hulle heeltemal vas oor die onderwerp van siklusse. Soveel so dat jy "algebra" met hulle moet doen, maar in 'n programmeertaal.
Dit gebeur omdat wanneer lusse geskryf word, die hooftegniek is om 'n groep identiese uitdrukkings te transformeer.

Kom ons sê die resultaat van die program moet soos volg lyk:

Inleiding
Hoofstuk 1
Hoofstuk 2
Hoofstuk 3
Hoofstuk 4
Hoofstuk 5
Hoofstuk 6
Hoofstuk 7
Gevolgtrekking

'n Triviale program om hierdie resultaat te bereik, lyk soos volg:

static void Main(string[] args)
{
    Console.WriteLine("Введение");
    Console.WriteLine("Глава 1");
    Console.WriteLine("Глава 2");
    Console.WriteLine("Глава 3");
    Console.WriteLine("Глава 4");
    Console.WriteLine("Глава 5");
    Console.WriteLine("Глава 6");
    Console.WriteLine("Глава 7");
    Console.WriteLine("Заключение");
}

Maar hierdie oplossing is ver van 'n lakoniese ideaal. Eerstens moet jy 'n herhalende groep aksies daarin vind en dit dan omskakel. Die gevolglike oplossing sal soos volg lyk:

static void Main(string[] args)
{
    Console.WriteLine("Введение");
    for (int i = 1; i <= 7; i++)
    {
        Console.WriteLine("Глава " + i);
    }
    Console.WriteLine("Заключение");
}

As 'n persoon nie wiskunde op een slag bemeester het nie, dan sal hy nie sulke transformasies kan uitvoer nie. Hy sal eenvoudig nie die toepaslike vaardigheid hê nie. Dit is hoekom die onderwerp van lusse die eerste struikelblok in 'n ontwikkelaar se opleiding is.

Soortgelyke probleme kom op ander gebiede voor. As 'n persoon nie weet hoe om die gereedskap byderhand te gebruik nie, sal hy nie alledaagse vindingrykheid kan toon nie. Bose tonge sal sê dat hande van die verkeerde plek af groei. Op die pad manifesteer dit in die onvermoë om die situasie korrek te assesseer en 'n maneuver te kies. Wat soms tot tragiese gevolge kan lei.

Gevolgtrekkings:

  1. Ons het skool- en universiteitswiskunde nodig sodat ons die wêreld 'n beter plek kan maak met die middele wat ons het.
  2. As jy 'n student is en sukkel om siklusse te leer, probeer teruggaan na die basiese beginsels - skoolalgebra. Neem 'n probleemboek vir graad 9 en los voorbeelde daaruit op.

Bron: will.com

Voeg 'n opmerking