Sin é an fáth go bhfuil gá le hailgéabar ardscoile

Go hiondúil an cheist “cén fáth a bhfuil matamaitic de dhíth orainn?” Freagraíonn siad rud éigin cosúil le "gleacaíocht don intinn." Is é mo thuairim nach leor an míniú seo. Nuair a dhéanann duine cleachtadh coirp, is eol dó ainm cruinn na ngrúpaí matán a fhorbraíonn. Ach tá comhráite faoin matamaitic fós rótheibí. Cad iad na “matáin mheabhracha” ar leith atá oilte ag ailgéabar na scoile? Níl sé cosúil ar chor ar bith le matamaitic fíor, ina ndéantar fionnachtana iontacha. Cad a thugann an cumas chun díorthach roinnt feidhmeanna casta a chuardach?

Преподавание программирования слабым студентам привело меня к более точному ответу на вопрос «зачем?». В статье я постараюсь донести его вам.

Sin é an fáth go bhfuil gá le hailgéabar ardscoile
В школе довольно много времени посвящается преобразованию и упрощению выражений. Например: 81×2+126xy+49y2 нужно преобразовать как (9x+7y)2.

В данном примере от ученика ожидают, что он вспомнит формулу квадрата суммы

Sin é an fáth go bhfuil gá le hailgéabar ardscoile

В более сложных случаях, полученное выражение можно использовать для других преобразований. Например:

Sin é an fáth go bhfuil gá le hailgéabar ardscoile

a thiontú ar dtús go

Sin é an fáth go bhfuil gá le hailgéabar ardscoile

agus ansin, leis an soiléiriú (a + 2b) != 0, casadh sé amach mar seo

Sin é an fáth go bhfuil gá le hailgéabar ardscoile

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

  • Cearnóg na suime
  • Difríocht cearnóga
  • Na fachtóirí a bhaineann le codán coiteann a laghdú

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

  1. Tá an scil a bhaineann le nathanna cainte a athrú níos fearr.
  2. Tá aird ar mhionsonraí forbartha.
  3. Был сформирован идеал — лаконичное выражение, к которому можно стремиться.

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

Это практически определение рефакторинга из одноименной книги Мартина Фаулера.

Ina shaothar, cuireann an t-údar le chéile iad mar seo a leanas:

Рефакторинг (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
}

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

An gceapann tú gur féidir leis an duine seo an cód a athfhachtóiriú?

Сможет ли он вообще написать понятный другим людям код, если у него не сформирован идеал этой самой лаконичности? На мой взгляд — нет.

Однако в школе учатся все, а программистами становится меньшинство. Полезен ли навык преобразования выражений для обычных людей? Я думаю да. Только навык применяется в более абстрактном виде: нужно оценить ситуацию и выбрать дальнейшее действие так, чтобы приблизиться к цели. В педагогике этот феномен называется aistriú (scil).

Tagann na samplaí is suntasaí chun cinn le linn deisiúcháin tí ag baint úsáide as modhanna seiftithe, an modh “feirm chomhchoiteann”. Mar thoradh air sin, tá na “cleasanna” céanna agus na hacks saoil sin le feiceáil, agus tá ceann acu léirithe ar an KPDV. Bhí píosa adhmaid, sreang agus ceithre scriúnna ag údar an smaoineamh. Ag cuimhneamh ar an teimpléad soicéad lampa, chuir sé soicéad lampa baile le chéile uathu.

Даже при езде на автомобильном транспорте, водитель постоянно занимается распознаванием шаблонов в окружающем мире и выполнением соответствующих маневров, чтобы добраться до цели.

Когда ты умер, ты об этом не знаешь, только другим тяжело. То же самое, когда ты не освоил математику…

Что же происходит, если человеку не удалось освоить преобразование выражений? Время от времени я веду индивидуальные занятия со студентами, у которых в школе было плохо с математикой. Как правило, они напрочь застревают на теме про циклы. Настолько, что с ними приходится заниматься «алгеброй», но на языке программирования.
Это происходит потому, что при написании циклов основной прием как раз и заключается в том, чтобы преобразовать группу одинаковых выражений.

Ligean le rá gur chóir go mbeadh cuma mar seo ar thoradh an chláir:

Réamhrá
Caibidil 1
Caibidil 2
Caibidil 3
Caibidil 4
Caibidil 5
Caibidil 6
Caibidil 7
Conclúid

Breathnaíonn clár fánach chun an toradh seo a bhaint amach mar seo:

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

Если же человек в свое время не освоил математику, то и выполнять подобные преобразования он не сможет. У него просто не будет соответствующего навыка. Именно поэтому тема циклов — первое препятствие в обучении разработчика.

Tagann fadhbanna cosúla chun cinn i réimsí eile. Mura bhfuil a fhios ag duine conas na huirlisí atá ar láimh a úsáid, ansin ní bheidh sé in ann intleacht laethúil a thaispeáint. Déarfaidh teangacha olc go bhfuil lámha ag fás ón áit mícheart. Ar an mbóthar, léiríonn sé seo é féin sa éagumas an cás a mheas i gceart agus ainliú a roghnú. Is féidir le hiarmhairtí tragóideacha a bheith mar thoradh uaireanta.

Conclúidí:

  1. Школьная и вузовская математика нам нужна для того, чтобы мы умели делать мир лучше теми средствами, которые у нас есть.
  2. Если вы учитесь и у вас возникают проблемы в изучении циклов, попробуйте вернуться к истокам — школьной алгебре. Возьмите задачник для 9 класса и порешайте примеры из него.

Foinse: will.com

Add a comment