Սովորաբար հարցը «ինչու՞ է մեզ պետք մաթեմատիկան»: Նրանք պատասխանում են «մարմնամարզություն մտքի համար»: Իմ կարծիքով, այս բացատրությունը բավարար չէ։ Երբ մարդը ֆիզիկական վարժություններ է կատարում, նա գիտի զարգացող մկանային խմբերի ճշգրիտ անվանումը։ Բայց մաթեմատիկայի մասին խոսակցությունները մնում են չափազանց վերացական։ Ի՞նչ կոնկրետ «մտավոր մկաններ» են վարժեցնում դպրոցական հանրահաշիվը: Այն բոլորովին նման չէ իրական մաթեմատիկային, որտեղ մեծ բացահայտումներ են արվում։ Ի՞նչ է տալիս որոշ բարդ ֆունկցիաների ածանցյալ փնտրելու ունակությունը:
Թույլ ուսանողներին ծրագրավորում սովորեցնելը ինձ հանգեցրեց «ինչու» հարցին ավելի ճշգրիտ պատասխանի: Այս հոդվածում ես կփորձեմ դա ձեզ փոխանցել։
Դպրոցում բավականին շատ ժամանակ է հատկացվում արտահայտությունների վերափոխմանն ու պարզեցմանը։ Օրինակ՝ 81×2+126xy+49y2-ը պետք է փոխարկվի որպես (9x+7y)2:
Այս օրինակում ուսանողից ակնկալվում է, որ հիշի գումարի քառակուսու բանաձևը
Ավելի բարդ դեպքերում ստացված արտահայտությունը կարող է օգտագործվել այլ փոխակերպումների համար։ Օրինակ:
փոխակերպվում է նախ
իսկ հետո (a + 2b) != 0 պարզաբանմամբ ստացվում է այսպես
Այս արդյունքին հասնելու համար ուսանողը պետք է ճանաչի բնօրինակ արտահայտությունը և այնուհետև կիրառի երեք բանաձև.
- Գումարի քառակուսին
- Քառակուսիների տարբերություն
- Ընդհանուր կոտորակի գործակիցների կրճատում
Հանրահաշվի դպրոցում մենք գրեթե ամբողջ ժամանակ ծախսում էինք նման արտահայտությունների փոխակերպման վրա: Համալսարանում բարձրագույն մաթեմատիկայից էապես ոչինչ չի փոխվել. Մեզ ասացին, թե ինչպես վերցնել ածանցյալներ (ինտեգրալներ և այլն) և տրվեցին մի տոննա խնդիրներ: Օգտակա՞ր էր: Իմ կարծիքով՝ այո։ Այս վարժությունների կատարման արդյունքում.
- Հղկվել է արտահայտությունները փոխակերպելու հմտությունը։
- Զարգացել է ուշադրությունը մանրուքների նկատմամբ։
- Ձևավորվեց իդեալ՝ լակոնիկ արտահայտություն, որին կարելի է ձգտել։
Իմ կարծիքով, նման էթոս, որակ և հմտություն ունենալը շատ օգտակար է ծրագրավորողի ամենօրյա աշխատանքում։ Ի վերջո, պարզեցնել արտահայտությունը, ըստ էության, նշանակում է փոխել դրա կառուցվածքը՝ հեշտացնելու ըմբռնումը առանց իմաստի վրա ազդելու: Սա ձեզ ինչ-որ բան հիշեցնու՞մ է:
Սա գործնականում վերափոխման սահմանումն է Մարտին Ֆաուլերի համանուն գրքից։
Իր աշխատության մեջ հեղինակը դրանք ձևակերպում է հետևյալ կերպ.
Refactoring (n) ծրագրային ապահովման ներքին կառուցվածքի փոփոխություն, որը նախատեսված է այն դարձնել ավելի հեշտ հասկանալի և ավելի հեշտ ձևափոխել՝ առանց ազդելու տեսանելի վարքի վրա:
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
}
Պատկերացրեք մի մարդու, ով չի կարող պարզեցնել հանրահաշվական արտահայտությունները՝ օգտագործելով քառակուսիների գումարի և տարբերության բանաձևը:
Ի՞նչ եք կարծում, այս մարդը կարո՞ղ է վերափոխել կոդը:
Կկարողանա՞ արդյոք նա գրել այնպիսի ծածկագիր, որը կհասկանան այլ մարդիկ, եթե նա չի ձևավորել հենց այս հակիրճության իդեալը: Իմ կարծիքով՝ ոչ։
Այնուամենայնիվ, բոլորը գնում են դպրոց, իսկ փոքրամասնությունը դառնում է ծրագրավորող: Արդյո՞ք փոխակերպման հմտություն արտահայտությունը օգտակար է սովորական մարդկանց համար: Ես կարծում եմ, այո. Միայն հմտությունը կիրառվում է ավելի վերացական ձևով. անհրաժեշտ է գնահատել իրավիճակը և ընտրել հետագա գործողություն, որպեսզի մոտենաս նպատակին: Մանկավարժության մեջ այս երեւույթը կոչվում է
Ամենավառ օրինակներն առաջանում են տնային տնտեսությունների վերանորոգման ժամանակ՝ օգտագործելով իմպրովիզացված միջոցներ՝ «կոլեկտիվ տնտեսություն» մեթոդը։ Արդյունքում հայտնվում են այդ նույն «հնարքները» և կյանքի հաքերները, որոնցից մեկը պատկերված է 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("Заключение");
}
Եթե մարդը մի ժամանակ չի տիրապետել մաթեմատիկային, ապա նա չի կարողանա նման փոխակերպումներ կատարել։ Նա պարզապես համապատասխան հմտություն չի ունենա։ Ահա թե ինչու loops թեման առաջին խոչընդոտն է ծրագրավորողների վերապատրաստման մեջ:
Նմանատիպ խնդիրներ առաջանում են այլ ոլորտներում։ Եթե մարդը չգիտի, թե ինչպես օգտագործել ձեռքի տակ եղած գործիքները, ապա նա չի կարողանա դրսևորել առօրյա հնարամտություն։ Չար լեզուները կասեն, որ ձեռքերը սխալ տեղից են աճում: Ճանապարհին դա արտահայտվում է իրավիճակը ճիշտ գնահատելու և մանևր ընտրելու անկարողությամբ: Ինչը երբեմն կարող է հանգեցնել ողբերգական հետեւանքների։
Եզրակացություններ:
- Մեզ պետք է դպրոցական և համալսարանական մաթեմատիկա, որպեսզի կարողանանք աշխարհն ավելի լավը դարձնել մեր ունեցած միջոցներով:
- Եթե ուսանող եք և դժվարանում եք սովորելու ցիկլերը, փորձեք վերադառնալ հիմունքներին՝ դպրոցական հանրահաշիվին: Վերցրեք 9-րդ դասարանի խնդրագիրք և դրանից օրինակներ լուծեք:
Source: www.habr.com