Ето защо е необходима алгебра в гимназията

Обикновено въпросът "защо имаме нужда от математика?" Отговарят нещо като „гимнастика за ума“. Според мен това обяснение не е достатъчно. Когато човек извършва физически упражнения, той знае точното име на мускулните групи, които се развиват. Но разговорите за математика остават твърде абстрактни. Какви специфични „умствени мускули“ се тренират от училищната алгебра? Тя изобщо не прилича на истинската математика, в която се правят големи открития. Какво дава възможността да се търси производна на някои сложни функции?

Преподаването на програмиране на слаби ученици ме доведе до по-точен отговор на въпроса „защо?“ В тази статия ще се опитам да ви го предам.

Ето защо е необходима алгебра в гимназията
В училище доста време се отделя на трансформиране и опростяване на изрази. Например: 81×2+126xy+49y2 трябва да се преобразува като (9x+7y)2.

В този пример от ученика се очаква да запомни формулата за квадрат на сумата

Ето защо е необходима алгебра в гимназията

В по-сложни случаи полученият израз може да се използва за други трансформации. Например:

Ето защо е необходима алгебра в гимназията

се преобразува първо в

Ето защо е необходима алгебра в гимназията

и тогава с уточнението (a + 2b) != 0 се получава така

Ето защо е необходима алгебра в гимназията

За да постигне този резултат, ученикът трябва да разпознае в оригиналния израз и след това да приложи три формули:

  • Квадрат на сумата
  • Разлика на квадратите
  • Намаляване на множителите на обикновена дроб

В училището по алгебра почти цялото време прекарвахме в трансформиране на изрази като този. Във висшата математика в университета нищо не се е променило съществено. Казаха ни как да вземаме производни (интеграли и т.н.) и ни дадоха куп проблеми. Беше ли полезно? Според мен – да. В резултат на изпълнението на тези упражнения:

  1. Умението за трансформиране на изрази е усъвършенствано.
  2. Развито е внимание към детайла.
  3. Оформи се идеал - лаконичен израз, към който човек може да се стреми.

По мое мнение, притежаването на такъв дух, качество и умения е много полезно в ежедневната работа на разработчика. В края на краищата, да се опрости един израз по същество означава да се промени неговата структура, за да се улесни разбирането, без да се засяга значението. Това напомня ли ви за нещо?

Това на практика е определението за рефакторинг от едноименната книга на Мартин Фаулър.

В своя труд авторът ги формулира по следния начин:

Рефакторинг (n): Промяна във вътрешната структура на софтуера, предназначена да го направи по-лесен за разбиране и по-лесен за модифициране, без да се засяга наблюдаваното поведение.

Рефакторинг (глагол): промяна на структурата на софтуера чрез прилагане на серия от рефакторинги, без да се засяга поведението му.

Книгата дава „формули“, които трябва да бъдат разпознати в изходния код и правилата за преобразуването им.

Като прост пример ще дам „въвеждането на обяснителна променлива“ от книгата:

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

Части от израза трябва да бъдат записани в променлива, чието име обяснява предназначението му.

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
}

Представете си човек, който не може да опрости алгебрични изрази, като използва формулата за квадратна сума и разлика на квадратите.

Мислите ли, че този човек може да преработи кода?

Ще успее ли дори да напише код, който другите хора да могат да разберат, ако не е формирал идеала за точно тази краткост? Според мен не.

Все пак всички ходят на училище, а малцинство стават програмисти. Полезно ли е умението за преобразуване на изрази за обикновените хора? Мисля, че да. Само умението се прилага в по-абстрактна форма: трябва да оцените ситуацията и да изберете по-нататъшно действие, за да се приближите до целта. В педагогиката това явление се нарича трансфер (умение).

Най-ярките примери възникват по време на домакински ремонти с помощта на импровизирани средства, методът на „колективната ферма“. В резултат на това се появяват същите тези „трикове“ и лайфхакове, един от които е изобразен на KPDV. Авторът на идеята имаше парче дърво, тел и четири винта. Спомняйки си шаблона за гнездо за лампа, той сглоби домашен гнездо за лампа от тях.

Дори когато шофира превозно средство, водачът е постоянно ангажиран с разпознаването на модели в света около него и извършването на подходящите маневри, за да стигне до местоназначението си.

Когато умреш, не знаеш за това, просто е трудно за другите. Същото е и когато не си овладял математиката...

Какво се случва, ако човек не успее да овладее трансформацията на изразите? От време на време преподавам индивидуални уроци на ученици, които са били лоши по математика в училище. Като правило те напълно се забиват на тема цикли. Толкова много, че трябва да правите „алгебра“ с тях, но на език за програмиране.
Това се случва, защото при писане на цикли основната техника е да се трансформира група от идентични изрази.

Да приемем, че резултатът от програмата трябва да изглежда така:

въведение
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
Заключение

Тривиална програма за постигане на този резултат изглежда така:

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

Но това решение далеч не е лаконичен идеал. Първо трябва да намерите повтаряща се група от действия в него и след това да го конвертирате. Полученото решение ще изглежда така:

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

Ако човек не е овладял математиката наведнъж, тогава той няма да може да извършва такива трансформации. Той просто няма да има подходящите умения. Ето защо темата за циклите е първото препятствие в обучението на програмиста.

Подобни проблеми възникват и в други области. Ако човек не знае как да използва подръчните средства, тогава той няма да може да прояви ежедневна изобретателност. Злите езици ще кажат, че ръцете растат от грешното място. На пътя това се проявява в невъзможността за правилна оценка на ситуацията и избор на маневра. Което понякога може да доведе до трагични последици.

Изводи:

  1. Имаме нужда от училищна и университетска математика, за да можем да направим света по-добро място със средствата, с които разполагаме.
  2. Ако сте ученик и имате проблеми с изучаването на цикли, опитайте да се върнете към основите – училищната алгебра. Вземете задачник за 9 клас и решете примери от него.

Източник: www.habr.com

Добавяне на нов коментар