C, PHP, VB, .NET

Дневникът на Филип Петров


* За ново означение на функциите…

Публикувано на 24 ноември 2010 в раздел Методика.

Когато учениците се научат да чертаят "графика на функция", те обикновено описват координатните оси като "x" и "y". Първоначално им се дават задачи от типа "y = x+2" или подобни. В един момент обаче това равенство се променя и се представя като "f(x) = x+2". Това предизвиква леко объркване и първоначално неразбиране в учениците. Те правят аналогия между двете, но обикновено не разбират защо е нужна тази промяна.

На първо време искам да вметна, че при "чертаене на графика на функция", при положение, че вече сме въвели означението "f(x)", е редно вече да не използваме осите на координатната система означени като "x" и "y", а по-добре да ги записваме правилно като "x" и "f(x)". Това би допринесло до по-добро разбиране и по-правилно означение. Това помага и в бъдеще, когато учениците трябва да изчертават графики на статистически функции - там обикновено осите имат означения на предмети от реалния свят, а не са тривиалните "x" и "y".

Как да мотивираме използването на новото означение "f(x)=...", вместо "y=..."? Отговорът трябва да дойде не по догматичен, а по логичен път. Ще дам един практически пример. Взех един лист хартия формат A4 и на него нарисувах една окръжност. Сега искам вие да вземете лист хартия и да нарисувате същата окръжност. Да, но вие не виждате моя лист. Тогава каква допълнителна информация ще изискате от мен?

Знаете, че всяка окръжност се задава чрез "център и радиус". Следователно вие ще поискате три числа - двете координати и дължината на радиуса, като предварително ще трябва да се съгласим да използваме една и съща мерна система - например сантиметри. Е, нека аз ви кажа тогава "нарисувайте окръжност с център (12,10) и радиус 5". Това вече еднозначно ще определи моята окръжност и вие лесно ще я нарисувате на вашия лист. За по-стегнато изложение можем да направим следното означение "k(x, y, R)", където обикновено "k" приемаме за понятието "окръжност" (практически можем да го въведем и като "окръжност(x, y, R)"). При параметри x=12, y=10 и R=5 за по-кратко записваме "k(12,10,5)".

Виждате, че по този начин имаме ясна представа за това "какъв е обекта". Горната функция се превежда като "дадена е функция k, която изчертава окръжност с радиус R и с координати на центъра x и y". По същия начин можем да дефинираме функция "сума(x,y)", която да представя "сбора на числата x и y". В този случай можем да запишем и математическата формула за функцията, а именно: "сума(x,y) = x+y". При функции, които изискват изчисление на алгебрична стойност това е възможно.

Сега вече е лесно да обясним какво е "f(x) = x+2". Това се превежда като "функцията с име f приема един параметър x и има алгебрична стойност x+2". От тук насетне решаваме един важен проблем - дублирането на имената на функциите. Представете си например, че трябва да изчертаете едновременно графиките на функциите "y = x+2" и "y = 2x -1". Това означение води до абсурд - "y" може да приема едновременно две различни стойности за едно и също x. Логически (за да няма абсурд) това би трябвало да ни доведе до решаване на система, в която еднозначно да определим "x = 3", а от там "y = 5". Да, но нали "x" беше променлива? Изобщо тук задачата се изопачи напълно! Ако ние обаче запишем функциите като "f(x) = x+2" и "g(x) = 2x-1", то този проблем го няма. Продължава да е наличен обаче проблемът с чертаенето на графиките на функциите в една координатна система. Ако едната ос се означи с "x", то какво ще бъде означението на другата? Редно ли е да я запишем като "f(x), g(x)"? Според мен - да!

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

5(2+3) = 5.2 + 5.3 = 10 + 15 = 25

или по-обобщено

a(b+c) = ab + ac

Учениците са научени да "разкриват скобите" от предишните си знания. Следователно те биха могли спокойно да направят следното с една функция:

sin(a+b) = sin(a) + sin(b)

Да, но това знаем, че е напълно неправилно, защото "sin" е име на функция, а не параметър. Какво обаче ни пречи всъщност да имаме параметър с име "sin"? Или три параметъра - s, i и n? Ако това е така, то горния запис става напълно валиден. Не се ли получава неестествено объркване?

Може от гледната точка на времето това да е банален и елементарен за осмисляне проблем, но истината е, че в учебна среда тази грешка е срещана изключително често и този и други подобни проблеми са решени само и единствено с множество упражнения и понякога дори с догматични забрани. Това естествено губи време.

Какво различава "a(b+c)" от "f(b+c)"? Трябва предварително да знаем, че едното е функция, а другото е израз. Да, но това не винаги е толкова очевидно.

Първото решение е изключително непрактично - да изписваме винаги всичко с функции. Да, но тогава например изразът "2(3x+4)" ще трябва да се запише като "умножи(2,събери(умножи(3,x),4))". Очевидно това няма да намери практическо приложение (извън някои ограничени езици за програмиране).

Друго решение е винаги да пишем знакът за умножение, т.е. вместо "a(b+c)" да пишем "a.(b+c)". Това според мен е възможно и практично, но може би не чак толкова нагледно. Според мен по-правилното е просто да заменим скобите с друг вид. Например вместо "f(x)" да записваме функцията като "f[x]". Това ще разреши напълно проблема с двойното тълкуване! По този начин когато изпишем "f[x] = 3(x+3)" няма да имаме никакво двусмислие коя операция каква е - скобите от дясно можем да ги "разкрием" спокойно, докато тези от ляво не!.

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

Задача: Изчертайте графиките на функциите f[x]=cos[x-1] и g[x]=2(sin[x+2]+1/3)

Решение:

 



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

Адресът на електронната поща няма да се публикува


*