Ось навіщо потрібна шкільна алгебра

Зазвичай питанням «навіщо потрібна математика?» відповідають щось на зразок «гімнастика для розуму». На мою думку, цього пояснення недостатньо. Коли людина виконує фізичні вправи, він знає точну назву груп м'язів, які у своїй розвиваються. Але розмови про математику залишаються надто абстрактними. Які саме «м'язи розуму» тренуються шкільною алгеброю? Адже вона зовсім не схожа на справжню математику, в якій робляться великі відкриття. Що дає вміння шукати похідну якихось заплутаних функцій?

Викладання програмування слабким студентам призвело мене до більш точної відповіді на запитання «навіщо?». У статті я намагатимусь донести його вам.

Ось навіщо потрібна шкільна алгебра
У школі досить багато часу присвячується перетворенню та спрощенню виразів. Наприклад: 81×2+126xy+49y2 потрібно перетворити як (9x+7y)2.

У цьому прикладі від учня очікують, що згадає формулу квадрата суми

Ось навіщо потрібна шкільна алгебра

У більш складних випадках отриманий вираз можна використовувати для інших перетворень. Наприклад:

Ось навіщо потрібна шкільна алгебра

перетворюється спочатку на

Ось навіщо потрібна шкільна алгебра

а потім, з уточненням (a + 2b)! = 0, виходить так

Ось навіщо потрібна шкільна алгебра

Щоб досягти такого результату, учневі потрібно розпізнати у вихідному виразі і потім застосувати три формули:

  • квадрат суми
  • різниця квадратів
  • Скорочення множників звичайного дробу

У звичайній школі на алгебрі майже весь час ми займалися таким перетворенням виразів. У ВНЗ на вищій математиці нічого значно не змінилося. Нам розповіли як брати похідні (інтеграли тощо) та видали тонну завдань. Чи це було корисно? На мій погляд, так. В результаті виконання таких вправ:

  1. Відточилася навичка перетворення виразів.
  2. Розвинулася уважність до дрібниць.
  3. Було сформовано ідеал — лаконічний вираз, якого можна прагнути.

На мій погляд, наявність такого ідеалу, якості та навички дуже корисна у щоденній роботі розробника. Адже спростити вираз, по суті, означає змінити його структуру з метою полегшити розуміння, не торкаючись сенсу. Вам це нічого не нагадує?

Це фактично визначення рефакторингу з однойменної книжки Мартіна Фаулера.

У своїй праці автор формулює їх таким чином:

Рефакторинг (Refactoring): зміна у внутрішній структурі програмного забезпечення, що має на меті полегшити розуміння його роботи і спростити модифікацію, не торкаючись спостерігається поведінки.

Проводити рефакторинг (Refactor) (дієслів): змінювати структуру програмного забезпечення, застосовуючи ряд рефакторингів, не торкаючись його поведінки.

У книзі даються «формули», які потрібно розпізнати у вихідному коді та правила їх перетворення.

Як найпростіший приклад, наведу «введення пояснюючої змінної» з книги:

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
}

Уявіть собі людину, яка не може спрощувати вирази алгебри з використанням формули квадрата суми і різниці квадратів.

Як ви вважаєте, чи зможе ця людина рефакторити код?

Чи зможе він взагалі написати зрозумілий іншим людям код, якщо у нього не сформовано ідеалу цієї самої лаконічності? На мій погляд, ні.

Однак у школі навчаються усі, а програмістами стає меншість. Чи корисна навичка перетворення виразів для пересічних людей? Я думаю так. Тільки навичка застосовується в абстрактнішому вигляді: потрібно оцінити ситуацію і вибрати подальшу дію так, щоб наблизитися до мети. У педагогіці цей феномен називається перенесення (навичка).

Найяскравіші приклади виникають при побутовому ремонті підручними засобами, колгоспним способом. У результаті з'являються ті самі «фішки» та лайфхаки, один із яких зображений на КПДВ. Автор автора мав шматок дерева, дріт і чотири шурупи. Згадавши шаблон патрона для лампи, він зібрав із них саморобний патрон.

Навіть при їзді на автомобільному транспорті водій постійно займається розпізнаванням шаблонів у навколишньому світі та виконанням відповідних маневрів, щоб дістатися до мети.

Коли ти помер, ти про це не знаєш, тільки іншим важко. Те саме, коли ти не освоїв математику…

Що ж відбувається, якщо людині не вдалося освоїти перетворення виразів? Іноді я веду індивідуальні заняття зі студентами, які у школі погано з математикою. Як правило, вони геть застрягають на темі про цикли. Настільки, що з ними доводиться займатися «алгеброю», але мовою програмування.
Це тому, що з написанні циклів основний прийом таки у тому, щоб перетворити групу однакових висловів.

Допустимо результат роботи програми має виглядати так:

Запровадження
Глава 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 класу та нарішіть приклади з нього.

Джерело: habr.com

Додати коментар або відгук