Dit is wêrom't middelbere skoalle algebra is nedich

Meastentiids de fraach "wêrom hawwe wy wiskunde nedich?" Se antwurdzje wat as "gymnastyk foar de geast." Neffens my is dizze útlis net genôch. As in persoan fysike oefening útfiert, wit hy de krekte namme fan 'e spiergroepen dy't ûntwikkelje. Mar petearen oer wiskunde bliuwe te abstrakt. Hokker spesifike "mentale spieren" wurde traind troch skoallealgebra? It is hielendal net te ferlykjen mei echte wiskunde, dêr't grutte ûntdekkingen binne makke. Wat jout de mooglikheid om te sykjen nei de derivative fan guon yngewikkelde funksjes?

It learen fan programmearring oan swakke studinten late my ta in krekter antwurd op de fraach "wêrom?" Yn dit artikel sil ik besykje it oan jo oer te bringen.

Dit is wêrom't middelbere skoalle algebra is nedich
Op skoalle wurdt in soad tiid bestege oan it transformearjen en ferienfâldigjen fan útdrukkingen. Bygelyks: 81×2+126xy+49y2 moat wurde konvertearre as (9x+7y)2.

Yn dit foarbyld wurdt ferwachte dat de studint de formule foar it kwadraat fan 'e som ûnthâldt

Dit is wêrom't middelbere skoalle algebra is nedich

Yn mear komplekse gefallen kin de resultearjende útdrukking brûkt wurde foar oare transformaasjes. Bygelyks:

Dit is wêrom't middelbere skoalle algebra is nedich

wurdt earst omboud ta

Dit is wêrom't middelbere skoalle algebra is nedich

en dan, mei de opheldering (a + 2b) != 0, komt it sa út

Dit is wêrom't middelbere skoalle algebra is nedich

Om dit resultaat te berikken, moat de studint yn 'e orizjinele útdrukking werkenne en dan trije formules tapasse:

  • Fjouwerkant fan de som
  • Ferskil fan fjouwerkanten
  • It ferminderjen fan de faktoaren fan in mienskiplike fraksje

Op algebraskoalle bestege wy hast de hiele tiid oan it transformearjen fan útdrukkingen lykas dizze. Neat is signifikant feroare yn hegere wiskunde oan 'e universiteit. Wy waarden ferteld hoe te nimmen derivaten (yntegralen, ensfh) En jûn in ton fan problemen. Wie it nuttich? Yn myn miening - ja. As gefolch fan it útfieren fan dizze oefeningen:

  1. De feardigens fan it transformearjen fan útdrukkingen is oanskerpe.
  2. Oandacht foar detail is ûntwikkele.
  3. In ideaal waard foarme - in lakonike útdrukking dêr't men nei stribje kin.

Neffens my is it hawwen fan sa'n ethos, kwaliteit en feardigens tige nuttich yn it deistich wurk fan in ûntwikkelder. Ommers, it ferienfâldigjen fan in útdrukking betsjut yn wêzen om syn struktuer te feroarjen om it begryp te fasilitearjen sûnder de betsjutting te beynfloedzjen. Tinkt dit jo oan wat?

Dit is praktysk de definysje fan refactoring út it boek mei deselde namme troch Martin Fowler.

Yn syn wurk formulearret de skriuwer se sa:

Refactoring (n): In feroaring yn 'e ynterne struktuer fan software dy't bedoeld is om it makliker te begripen en makliker te feroarjen sûnder te beynfloedzjen fan waarnimmber gedrach.

Refactor (tiidwurd): feroarje de struktuer fan software troch it tapassen fan in rige fan refactorings sûnder beynfloedzje syn gedrach.

It boek jout "formules" dy't moatte wurde werkend yn de boarne koade en de regels foar it konvertearjen fan harren.

As in ienfâldich foarbyld sil ik de "yntroduksje fan in ferklearjende fariabele" út it boek jaan:

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

Dielen fan 'e útdrukking moatte skreaun wurde yn in fariabele wêrfan de namme it doel ferklearret.

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 jo in persoan foar dy't algebrayske útdrukkingen net ferienfâldigje kin mei de formule fan kwadraatsom en ferskil fan kwadraten.

Tinksto dat dizze persoan de koade kin refaktorearje?

Sil er sels koade skriuwe kinne dy't oare minsken ferstean kinne as er net it ideaal foarme hat fan dizze koarteheid? Neffens my, nee.

Elk giet lykwols nei skoalle, en in minderheid wurdt programmeurs. Is de ekspresje-konverzjefeardigens nuttich foar gewoane minsken? Ik tink it wol. Allinich de feardigens wurdt tapast yn in mear abstrakte foarm: jo moatte de situaasje beoardielje en in fierdere aksje kieze om tichter by it doel te kommen. Yn de pedagogyk wurdt dit ferskynsel neamd oerdracht (feardigens).

De meast opfallende foarbylden ûntsteane by húshâldlike reparaasjes mei ymprovisearre middels, de metoade "kollektive pleats". As resultaat ferskine deselde "tricks" en life hacks, wêrfan ien is ôfbylde op 'e KPDV. De skriuwer fan it idee hie in stik hout, tried en fjouwer skroeven. Unthâld fan 'e lampe socket sjabloan, hy sammele in selsmakke lamp socket út harren.

Sels by it riden fan in auto is de bestjoerder konstant dwaande mei it herkennen fan patroanen yn 'e wrâld om him hinne en it útfieren fan passende manoeuvres om nei syn bestimming te kommen.

As jo ​​stjerre, jo witte it net, it is gewoan dreech foar oaren. It is itselde as jo de wiskunde net behearskje ...

Wat bart der as in persoan de transformaasje fan útdrukkingen net beheart? Fan tiid ta tiid jou ik yndividuele lessen oan learlingen dy't min wiene yn wiskunde op skoalle. As regel sitte se folslein fêst op it ûnderwerp fan syklusen. Safolle dat jo "algebra" mei har dwaan moatte, mar yn in programmeartaal.
Dit bart om't by it skriuwen fan loops de wichtichste technyk is om in groep identike útdrukkingen te transformearjen.

Litte wy sizze dat it resultaat fan it programma der sa útsjen moat:

Ynlieding
Haadstik 1
Haadstik 2
Haadstik 3
Haadstik 4
Haadstik 5
Haadstik 6
Haadstik 7
konklúzje

In triviaal programma om dit resultaat te berikken sjocht der sa út:

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("Заключение");
}

Mar dizze oplossing is fier fan in lakonich ideaal. Earst moatte jo in werheljende groep aksjes dêryn fine en it dan konvertearje. De resultearjende oplossing sil der sa útsjen:

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

As in persoan hat net behearskje de wiskunde op ien kear, hy sil net by steat wêze om te fieren sokke transformaasjes. Hy sil gewoan net de passende feardigens hawwe. Dit is de reden dat it ûnderwerp fan loops it earste obstakel is yn 'e training fan in ûntwikkelder.

Sokke problemen komme op oare gebieten foar. As in persoan net wit hoe te brûken de ark by de hân, hy sil net by steat wêze om te sjen litte deistich fernimstigens. De kweade tongen sille sizze dat hannen groeie fan it ferkearde plak. Op 'e dyk blykt dit út it ûnfermogen om de situaasje goed te beoardieljen en in manoeuvre te kiezen. Wat soms liede kin ta tragyske gefolgen.

Konklúzjes:

  1. Wy hawwe skoalle- en universitêre wiskunde nedich, sadat wy de wrâld in better plak meitsje kinne mei de middels dy't wy hawwe.
  2. As jo ​​​​in studint binne en problemen hawwe mei learsyklusen, besykje dan werom te gean nei de basis - skoalalgebra. Nim in probleemboek foar klasse 9 en los dêr foarbylden út.

Boarne: www.habr.com

Add a comment