De aceea este nevoie de algebra de liceu

De obicei, întrebarea „de ce avem nevoie de matematică?” Ei răspund la ceva de genul „gimnastică pentru minte”. În opinia mea, această explicație nu este suficientă. Când o persoană efectuează exerciții fizice, știe denumirea exactă a grupelor musculare care se dezvoltă. Dar conversațiile despre matematică rămân prea abstracte. Ce „mușchi mentali” specifici sunt antrenați de algebra școlară? Nu seamănă deloc cu matematica reală, în care se fac mari descoperiri. Ce oferă capacitatea de a căuta derivata unor funcții complicate?

Predarea programării elevilor slabi m-a condus la un răspuns mai precis la întrebarea „de ce?” În acest articol voi încerca să vi-l transmit.

De aceea este nevoie de algebra de liceu
În școală, destul de mult timp este dedicat transformării și simplificării expresiilor. De exemplu: 81×2+126xy+49y2 trebuie convertit ca (9x+7y)2.

În acest exemplu, elevul trebuie să-și amintească formula pentru pătratul sumei

De aceea este nevoie de algebra de liceu

În cazuri mai complexe, expresia rezultată poate fi folosită pentru alte transformări. De exemplu:

De aceea este nevoie de algebra de liceu

este convertit mai întâi în

De aceea este nevoie de algebra de liceu

si apoi, cu precizarea (a + 2b) != 0, iese asa

De aceea este nevoie de algebra de liceu

Pentru a obține acest rezultat, elevul trebuie să recunoască în expresia originală și apoi să aplice trei formule:

  • Patratul sumei
  • Diferența de pătrate
  • Reducerea factorilor unei fracții comune

În școala de algebră, aproape tot timpul am petrecut transformând astfel de expresii. Nimic nu s-a schimbat semnificativ la matematica superioară la universitate. Ni s-a spus cum să luăm derivate (integrale etc.) și ni s-au dat o mulțime de probleme. A fost de ajutor? După părerea mea - da. Ca urmare a efectuării acestor exerciții:

  1. Abilitatea de a transforma expresiile a fost perfecționată.
  2. Atenția la detalii s-a dezvoltat.
  3. S-a format un ideal - o expresie laconică la care se poate strădui.

În opinia mea, a avea un astfel de etos, calitate și abilitate este foarte util în munca de zi cu zi a unui dezvoltator. La urma urmei, a simplifica o expresie înseamnă în esență a-i schimba structura pentru a facilita înțelegerea fără a afecta sensul. Îți amintește asta de ceva?

Aceasta este practic definiția refactorizării din cartea cu același nume a lui Martin Fowler.

În lucrarea sa, autorul le formulează după cum urmează:

Refactorizarea (n): O modificare a structurii interne a software-ului menită să-l facă mai ușor de înțeles și mai ușor de modificat, fără a afecta comportamentul observabil.

Refactorizare (verb): modificați structura software-ului prin aplicarea unei serii de refactorizări fără a-i afecta comportamentul.

Cartea oferă „formule” care trebuie recunoscute în codul sursă și regulile de conversie a acestora.

Ca exemplu simplu, voi da „introducerea unei variabile explicative” din carte:

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

Părți ale expresiei trebuie scrise într-o variabilă al cărei nume îi explică scopul.

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
}

Imaginați-vă o persoană care nu poate simplifica expresiile algebrice folosind formula sumei pătrate și diferenței de pătrate.

Crezi că această persoană poate refactoriza codul?

Va putea chiar să scrie un cod pe care alți oameni îl pot înțelege dacă nu și-a format idealul tocmai acestei concizii? După părerea mea, nu.

Cu toate acestea, toată lumea merge la școală, iar o minoritate devin programatori. Este abilitatea de conversie a expresiei utilă pentru oamenii obișnuiți? Cred ca da. Doar abilitatea este aplicată într-o formă mai abstractă: trebuie să evaluați situația și să alegeți o acțiune ulterioară pentru a vă apropia de obiectiv. În pedagogie acest fenomen se numește transfer (deprindere).

Cele mai izbitoare exemple apar în timpul reparațiilor gospodărești prin mijloace improvizate, metoda „fermei colective”. Ca urmare, apar aceleași „trucuri” și hack-uri de viață, dintre care unul este descris pe KPDV. Autorul ideii avea o bucată de lemn, sârmă și patru șuruburi. Amintindu-și șablonul de soclu a lămpii, a asamblat din ei un soclu de lampă de casă.

Chiar și atunci când conduce un vehicul, șoferul este angajat în mod constant în recunoașterea tiparelor din lumea din jurul său și în executarea manevrelor adecvate pentru a ajunge la destinație.

Când mori, nu știi despre asta, este greu pentru alții. La fel este și când nu ai stăpânit matematica...

Ce se întâmplă dacă o persoană nu reușește să stăpânească transformarea expresiilor? Din când în când, predau lecții individuale elevilor care au fost prost la matematică la școală. De regulă, ei rămân complet blocați pe tema ciclurilor. Atât de mult încât trebuie să faci „algebră” cu ele, dar într-un limbaj de programare.
Acest lucru se întâmplă deoarece atunci când scrieți bucle, tehnica principală este transformarea unui grup de expresii identice.

Să presupunem că rezultatul programului ar trebui să arate astfel:

Introducere
Capitolul 1
Capitolul 2
Capitolul 3
Capitolul 4
Capitolul 5
Capitolul 6
Capitolul 7
Concluzie

Un program banal pentru a obține acest rezultat arată astfel:

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

Dar această soluție este departe de un ideal laconic. Mai întâi trebuie să găsiți un grup repetat de acțiuni în el și apoi să îl convertiți. Soluția rezultată va arăta astfel:

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

Dacă o persoană nu a stăpânit matematica la un moment dat, atunci nu va putea efectua astfel de transformări. Pur și simplu nu va avea abilitățile potrivite. Acesta este motivul pentru care subiectul buclelor este primul obstacol în pregătirea unui dezvoltator.

Probleme similare apar și în alte domenii. Dacă o persoană nu știe să folosească instrumentele la îndemână, atunci nu va putea arăta ingeniozitatea de zi cu zi. Limbile rele vor spune că mâinile cresc din locul greșit. Pe drum, acest lucru se manifestă prin incapacitatea de a evalua corect situația și de a alege o manevră. Ceea ce uneori poate duce la consecințe tragice.

Concluzii:

  1. Avem nevoie de matematică la școală și la universitate pentru a putea face lumea un loc mai bun cu mijloacele pe care le avem.
  2. Dacă sunteți student și aveți probleme cu ciclurile de învățare, încercați să reveniți la elementele de bază - algebra școlară. Luați o carte cu probleme pentru clasa a 9-a și rezolvați exemple din ea.

Sursa: www.habr.com

Adauga un comentariu