Oto, po co potrzebna jest szkolna algebra

Zwykle na pytanie „po co potrzebna jest matematyka?” odpowiada się coś w stylu „gimnastyka dla umysłu”. Moim zdaniem, to wyjaśnienie jest niewystarczające. Kiedy człowiek wykonuje ćwiczenia fizyczne, wie dokładnie, jakie grupy mięśni rozwija. Jednak rozmowy o matematyce pozostają zbyt abstrakcyjne. Jakie konkretnie „mięśnie umysłu” trenuje szkolna algebra? Przecież nie przypomina ona prawdziwej matematyki, w której dokonuje się wielkich odkryć. Co daje umiejętność znajdowania pochodnej z jakichś skomplikowanych funkcji?

Nauczanie programowania słabych studentów doprowadziło mnie do dokładniejszej odpowiedzi na pytanie „po co?”. W artykule postaram się przekazać Wam tę odpowiedź.

Oto, po co potrzebna jest szkolna algebra
W szkole poświęca się sporo czasu na przekształcanie i upraszczanie wyrażeń. Na przykład: 81×2+126xy+49y2 należy przekształcić jako (9x+7y)2.

W tym przykładzie od ucznia oczekuje się, że przypomni sobie wzór kwadratu sumy.

Oto, po co potrzebna jest szkolna algebra

W bardziej skomplikowanych przypadkach uzyskane wyrażenie można wykorzystać do innych przekształceń. Na przykład:

Oto, po co potrzebna jest szkolna algebra

przekształca się najpierw w

Oto, po co potrzebna jest szkolna algebra

a potem, przy założeniu (a + 2b) != 0, wygląda to tak

Oto, po co potrzebna jest szkolna algebra

Aby osiągnąć taki wynik, uczeń musi rozpoznać w początkowym wyrażeniu i następnie zastosować trzy formuły:

  • Kwadrat sumy
  • Różnica kwadratów
  • Skracanie czynników w zwykłych ułamkach.

W zwykłej szkole na algebrze prawie cały czas zajmowaliśmy się takim przekształcaniem wyrażeń. Na uczelniach na wyższej matematyce niewiele się zmieniło. Opowiedziano nam, jak obliczać pochodne (całki itd.) i wydano tonę zadań. Czy to było przydatne? Moim zdaniem – tak. W wyniku wykonywania takich ćwiczeń:

  1. Wyszlifowano umiejętność przekształcania wyrażeń.
  2. Rozwinęła się uwaga na szczegóły.
  3. Uformowano ideał – zwięzłe wyrażenie, do którego można dążyć.

Moim zdaniem, posiadanie takiego ideału, jakości i umiejętności jest bardzo przydatne w codziennej pracy programisty. W końcu uprościć wyrażenie, w istocie, oznacza zmienić jego strukturę, aby ułatwić zrozumienie, nie naruszając sensu. Czy to coś Wam nie przypomina?

To praktycznie definicja refaktoryzacji z książki Martina Fowlera o tej samej nazwie.

W swoim dziele autor formułuje je w następujący sposób:

Refaktoryzacja (Refactoring) (rzecz.): zmiana w wewnętrznej strukturze oprogramowania, mająca na celu ułatwienie zrozumienia jego działania oraz uproszczenie modyfikacji, nie wpływając na obserwowane zachowanie.

Przeprowadzać refaktoryzację (Refactor) (czasownik.): zmieniać strukturę oprogramowania, stosując szereg refaktoryzacji, nie wpływając na jego zachowanie.

Książka przedstawia "formuły", które należy rozpoznać w kodzie źródłowym oraz zasady ich przekształcania.

Jako najprostszy przykład podam "wprowadzenie zmiennej pomocniczej" z książki:

if ( (platform.toUpperCase().indexOf("MAC") > -1 ) &&
    (browser.toUpperCase().indexOf("IE") > -1 )&&
    wasInitialized() && resize > 0 ) {
    // zrób coś
}

Części wyrażenia należy zapisać w zmiennej, której nazwa wyjaśnia jej przeznaczenie.

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) {
   // zrób coś
}

Wyobraź sobie osobę, która nie potrafi upraszczać wyrażeń algebraicznych za pomocą wzoru na sumę i różnicę kwadratów.

Czy sądzisz, że ta osoba będzie w stanie refaktoryzować kod?

Czy w ogóle będzie w stanie napisać czytelny kod dla innych ludzi, jeśli nie ma wykształconego ideału tejże zwięzłości? Moim zdaniem - nie.

Jednak w szkole uczą się wszyscy, a programistami zostaje mniejszość. Czy umiejętność przekształcania wyrażeń jest przydatna dla zwykłych ludzi? Myślę, że tak. Tylko umiejętność ta jest wykorzystywana w bardziej abstrakcyjnej formie: należy ocenić sytuację i wybrać dalsze działanie, aby zbliżyć się do celu. W pedagogice zjawisko to nazywa się transfer (umiejętności).

Najjaśniejsze przykłady pojawiają się podczas domowego remontu za pomocą dostępnych środków, w "chłopski" sposób. W rezultacie powstają te "sztuczki" i lifehacki, jedna z nich została zobrazywana na KPDA. Autor pomysłu miał kawałek drewna, przewód i cztery wkręty. Przypominając sobie wzorzec dla żarówki, zmontował z nich samodzielny gwint.

Nawet podczas jazdy samochodem kierowca nieustannie zajmuje się rozpoznawaniem wzorców w otaczającym świecie oraz wykonywaniem odpowiednich manewrów, aby dotrzeć do celu.

Kiedy umarłeś, nie wiesz o tym, tylko innym jest ciężko. To samo dzieje się, gdy nie opanowałeś matematyki...

Co się dzieje, jeśli człowiek nie opanuje przekształcania wyrażeń? Czasami prowadzę indywidualne zajęcia ze studentami, którzy mieli problemy z matematyką w szkole. Zazwyczaj utknęli na temacie pętli. Na tyle, że muszę zajmować się "algebrą", ale w języku programowania.
Dzieje się tak, ponieważ przy pisaniu pętli podstawowa technika polega na przekształceniu grupy tych samych wyrażeń.

Niech wynik działania programu wygląda następująco:

Wprowadzenie
Rozdział 1
Rozdział 2
Rozdział 3
Rozdział 4
Rozdział 5
Rozdział 6
Rozdział 7
Podsumowanie

Trywialny program osiągający ten wynik wygląda tak:

static void Main(string[] args)
{
    Console.WriteLine("Wprowadzenie");
    Console.WriteLine("Rozdział 1");
    Console.WriteLine("Rozdział 2");
    Console.WriteLine("Rozdział 3");
    Console.WriteLine("Rozdział 4");
    Console.WriteLine("Rozdział 5");
    Console.WriteLine("Rozdział 6");
    Console.WriteLine("Rozdział 7");
    Console.WriteLine("Zakończenie");
}

Jednak to rozwiązanie jest dalekie od zwięzłego ideału. Najpierw trzeba znaleźć powtarzającą się grupę działań i następnie ją przekształcić. Ostatecznie otrzymujemy takie rozwiązanie:

static void Main(string[] args)
{
    Console.WriteLine("Wprowadzenie");
    for (int i = 1; i <= 7; i++)
    {
        Console.WriteLine("Rozdział " + i);
    }
    Console.WriteLine("Zakończenie");
}

Jeśli jednak osoba w swoim czasie nie opanowała matematyki, to nie będzie w stanie wykonać takich przekształceń. Prosto mówiąc, nie będzie miała odpowiednich umiejętności. Dlatego temat pętli jest pierwszą przeszkodą w nauce programowania.

Podobne problemy występują i w innych dziedzinach. Jeśli ktoś nie umie korzystać z dostępnego narzędzia, to nie będzie potrafił wykazać się kreatywnością w codziennym życiu. Złośliwi powiedzą, że ręce nie stamtąd, co trzeba. Na drodze objawia się to nieumiejętnością właściwej oceny sytuacji i wyboru manewru. Co czasami może prowadzić do tragicznych konsekwencji.

Wnioski:

  1. Matematyka szkolna i akademicka jest nam potrzebna, abyśmy potrafili czynić świat lepszym dzięki tym środkom, które mamy.
  2. Jeśli uczysz się i masz problemy z nauką pętli, spróbuj wrócić do podstaw — do szkolnej algebry. Weź podręcznik do klasy 9 i rozwiąż przykłady z niego.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster