Ezért van szükség az iskolai algebrára

Általában a „miért szükséges a matematika?” kérdésre valami olyasmit válaszolnak, hogy „az elme gimnasztikája”. Véleményem szerint ez a magyarázat nem elegendő. Amikor az ember fizikai gyakorlatokat végez, pontosan tudja, mi a neve azoknak az izomcsoportoknak, amelyek fejlődnek. De a matematikával kapcsolatos beszélgetések túl elvontak maradnak. Milyen konkrét „elmeizmokat” edzünk az iskolai algebrával? Ez egyáltalán nem hasonlít a valódi matematikára, ahol nagyszerű felfedezések születnek. Mit ad a bonyolult függvények deriváltjának keresésének képessége?

A programozás gyengébb diákoknak való tanítása pontosabb választ adott a „miért?” kérdésére. A cikkben megpróbálom átadni ezt a választ.

Ezért van szükség az iskolai algebrára
Az iskolában meglehetősen sok időt fordítanak kifejezések átalakítására és egyszerűsítésére. Például: 81×2+126xy+49y2 átalakítása (9x+7y)2 formájába.

Ebben a példában a diákból elvárják, hogy felidézze a képlet négyzetének összegét.

Ezért van szükség az iskolai algebrára

Bonyolultabb esetekben a kapott kifejezés más átalakításokra is használható. Például:

Ezért van szükség az iskolai algebrára

először átalakul

Ezért van szükség az iskolai algebrára

majd, ha pontosítunk (a + 2b) != 0, így kapjuk

Ezért van szükség az iskolai algebrára

Ahhoz, hogy ezt az eredményt elérje, a diáknak fel kell ismernie az alap kifejezésben és három képletet kell alkalmaznia:

  • Összeg négyzete
  • Négyzetek különbsége
  • Többszörös egyszerűsítése a törteknek

A hagyományos iskolában az algebrán szinte az összes időt ilyen kifejezések átalakításával töltöttük. A főiskolán a magasabb matematikában semmi lényegesen nem változott. Megtanították nekünk, hogyan kell deriválni (integrálni stb.), és tonna feladatot kaptunk. Hasznos volt? Véleményem szerint – igen. Az ilyen gyakorlatok elvégzése eredményeként:

  1. Finomult a kifejezések átalakításának képessége.
  2. Fejlődött a figyelem a részletekre.
  3. Kialakult egy ideál – a tömör kifejezés, amelyre törekedhetünk.

Véleményem szerint egy ilyen ideál, minőség és készség nagyon hasznos a fejlesztő napi munkájában. Mivel a kifejezés egyszerűsítése lényegében a struktúrájának megváltoztatását jelenti a megértés megkönnyítése érdekében, anélkül, hogy megváltoztatná a jelentését. Nem emlékeztet ez semmire?

Ez gyakorlatilag a refaktorálás definíciója Martin Fowler azonos című könyvéből.

Munkájában, a szerző így fogalmazza meg őket:

Refaktorálás (Refactoring) (főnév): a szoftver belső struktúrájának megváltoztatása, amelynek célja a működésének megértésének megkönnyítése és a módosítás egyszerűsítése anélkül, hogy az észlelhető viselkedést érintené.

Refaktorálni (Refactor) (ige): a szoftver struktúrájának megváltoztatása egy sor refaktorálási eljárás alkalmazásával anélkül, hogy annak viselkedését érintené.

A könyv olyan „képleteket” ad, amelyeket fel kell ismerni a forráskódban, valamint a transzformálásuk szabályait.

Egyszerű példaként említem a könyvből származó „magyarázó változó bevezetését”:

if ( (platform.toUpperCase().indexOf("MAC") > -1 ) &&
    (browser.toUpperCase().indexOf("IE") > -1 )&&
    wasInitialized() && resize > 0 ) {
    // csinálj valamit
}

A kifejezés részeit egy olyan változóba kell rögzíteni, amelynek neve magyarázza a feladatát.

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) {
   // csinálj valamit
}

Képzeljünk el egy olyan embert, aki nem tudja egyszerűsíteni az algebrai kifejezéseket a négyzetek összegének és különbségének képletével.

Szerinted ez az ember képes lenne refaktorálni a kódot?

Képes lenne egyáltalán érthető kódot írni mások számára, ha nincs meg benne az a bizonyos tömörség ideálja? Szerintem nem.

Az iskolában mindenki tanul, de programozókká csak a kevesek válnak. Hasznos-e az kifejezések transzformálásának készsége a hétköznapi emberek számára? Azt hiszem, hogy igen. Csak ez a készség egy absztraktabb formában alkalmazható: értékelni kell a helyzetet, és választani a további lépések között, hogy közelebb kerülj a célhoz. A pedagógiában ezt a jelenséget úgy nevezik, a készség átvitele.

A legszembetűnőbb példák a háztartási javítások esetében a házi eszközökkel, „kolhoz” módszerrel történnek. Ennek eredményeként megjelennek azok a „trükkök” és életkönnyítők, amelyek egyike a KPDV-n van ábrázolva. Az ötletgazdának volt egy darab fája, egy drótja és négy csavarja. Emlékezve a lámpa patronjára, saját készítésű patront készített belőlük.

Még autóval közlekedve is a sofőr folyamatosan a környező világ mintáinak felismerésével és a megfelelő manőverek végrehajtásával foglalkozik, hogy eljusson a célhoz.

Amikor meghalsz, arról nem tudsz, csak másoknak nehéz. Ugyanez történik, amikor nem sajátítottad el a matematikát…

Mi történik, ha valakinek nem sikerül elsajátítania a kifejezések átalakítását? Időnként egyéni órákat tartok diákokkal, akiknek az iskolában nem ment jól a matematika. Általában teljesen megakadnak a ciklusok témájánál. Olyannyira, hogy velük "algebrával" kell foglalkozni, de programozási nyelven.
Ez azért van, mert a ciklusok írásakor az alapvető trükk éppen az, hogy egy csoport azonos kifejezését kell átalakítani.

Tegyük fel, hogy a program eredménye így kell kinézzen:

Bevezetés
1. fejezet
2. fejezet
3. fejezet
4. fejezet
5. fejezet
6. fejezet
7. fejezet
Zárás

Az ennek elérésére szolgáló triviális program így néz ki:

static void Main(string[] args)
{
    Console.WriteLine("Bevezetés");
    Console.WriteLine("1. fejezet");
    Console.WriteLine("2. fejezet");
    Console.WriteLine("3. fejezet");
    Console.WriteLine("4. fejezet");
    Console.WriteLine("5. fejezet");
    Console.WriteLine("6. fejezet");
    Console.WriteLine("7. fejezet");
    Console.WriteLine("Zárszó");
}

De ez a megoldás távol áll a tökéletes egyszerűségtől. Először meg kell találni az ismétlődő cselekvések csoportját, majd átalakítani. Végül egy ilyen megoldás lesz:

static void Main(string[] args)
{
    Console.WriteLine("Bevezetés");
    for (int i = 1; i <= 7; i++)
    {
        Console.WriteLine("Fejezet " + i);
    }
    Console.WriteLine("Zárszó");
}

Ha valaki nem sajátította el a matematikát, akkor nem tudja elvégezni az ilyen átalakításokat sem. Egyszerűen nem lesz megfelelő képessége. Éppen ezért a ciklusok témája az első akadály a fejlesztők képzésében.

Hasonló problémák merülnek fel más területeken is. Ha valaki nem tudja használni az otthoni eszközöket, akkor nem tudja kifejezni a mindennapi leleményességét. A rossz nyelvek azt mondják, hogy a kezek nem a megfelelő helyről nőnek. Az úton ez abban nyilvánul meg, hogy nem képes helyesen felmérni a helyzetet és választani a manőverezést. Ami néha tragikus következményekhez vezethet.

Következtetések:

  1. Az iskolai és egyetemi matematika arra van szükség, hogy megtanuljuk jobbá tenni a világot azokkal az eszközökkel, amelyek a rendelkezésünkre állnak.
  2. Ha tanulsz, és problémáid adódnak a ciklusokkal, próbálj meg visszatérni a gyökerekhez - a középiskolai algebrához. Vegyél egy 9. osztályos feladatgyűjteményt, és oldj meg belőle példákat.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster