Ийм учраас ахлах сургуулийн алгебр хэрэгтэй

Ихэнхдээ "Бидэнд математик яагаад хэрэгтэй вэ?" Гэсэн асуулт гарч ирдэг. Тэд "сэтгэлд зориулсан гимнастик" гэх мэтээр хариулдаг. Миний бодлоор энэ тайлбар хангалттай биш байна. Хүн биеийн тамирын дасгал хийхдээ хөгжиж буй булчингийн бүлгүүдийн яг нэрийг мэддэг. Гэхдээ математикийн тухай яриа хэтэрхий хийсвэр хэвээр байна. Сургуулийн алгебрээр ямар “сэтгэцийн булчингуудыг” сургадаг вэ? Энэ нь агуу нээлтүүдийг хийдэг жинхэнэ математиктай огт адилгүй. Зарим нарийн төвөгтэй функцүүдийн деривативыг хайх чадвар нь юу өгдөг вэ?

Сул оюутнуудад програмчлалын хичээл заах нь намайг “Яагаад?” гэсэн асуултад илүү нарийн хариулахад хүргэсэн. Энэ нийтлэлд би үүнийг танд хүргэхийг хичээх болно.

Ийм учраас ахлах сургуулийн алгебр хэрэгтэй
Сургуульд хэллэгийг өөрчлөх, хялбарчлахад ихээхэн цаг зарцуулдаг. Жишээ нь: 81×2+126xy+49y2-ийг (9x+7y)2 болгон хувиргах шаардлагатай.

Энэ жишээнд сурагч нийлбэрийн квадратын томъёог санаж байх ёстой

Ийм учраас ахлах сургуулийн алгебр хэрэгтэй

Илүү төвөгтэй тохиолдолд үүссэн илэрхийллийг бусад хувиргалтанд ашиглаж болно. Жишээлбэл:

Ийм учраас ахлах сургуулийн алгебр хэрэгтэй

эхлээд хувиргадаг

Ийм учраас ахлах сургуулийн алгебр хэрэгтэй

дараа нь (a + 2b) != 0 гэсэн тодотголоор ийм болж байна

Ийм учраас ахлах сургуулийн алгебр хэрэгтэй

Энэ үр дүнд хүрэхийн тулд оюутан анхны илэрхийлэлийг таньж, дараа нь гурван томьёог ашиглах хэрэгтэй.

  • Нийлбэрийн квадрат
  • Квадратуудын ялгаа
  • Энгийн бутархайн хүчин зүйлсийг багасгах

Алгебрийн сургуульд бид бараг бүх цагаа иймэрхүү илэрхийлэлүүдийг хувиргахад зарцуулдаг. Их сургуулийн дээд математикт юу ч дорвитой өөрчлөгдөөгүй. Бидэнд дериватив (интеграл гэх мэт) хэрхэн авахыг хэлж, олон тонн бодлого өгсөн. Энэ нь тустай байсан уу? Миний бодлоор - тийм ээ. Эдгээр дасгалуудыг хийсний үр дүнд:

  1. Илэрхийлэлийг хувиргах ур чадвар сайжирсан.
  2. Нарийн ширийн зүйлийг анхаарч үзэх нь бий болсон.
  3. Идеал бий болсон - хүн хичээх боломжтой товч илэрхийлэл.

Миний бодлоор ийм ёс суртахуун, чанар, ур чадвартай байх нь хөгжүүлэгчийн өдөр тутмын ажилд их хэрэгтэй байдаг. Эцсийн эцэст, илэрхийлэлийг хялбарчлах гэдэг нь утгыг хөндөхгүйгээр ойлгоход хялбар болгохын тулд бүтцийг өөрчлөх гэсэн үг юм. Энэ нь танд ямар нэг зүйлийг сануулж байна уу?

Энэ бол Мартин Фаулерын ижил нэртэй номноос рефакторингын тодорхойлолт юм.

Зохиолч бүтээлдээ тэдгээрийг дараах байдлаар томъёолжээ.

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

Хэрэв хүн нэг удаа математикийг эзэмшээгүй бол ийм хувиргалт хийх боломжгүй болно. Тэр зүгээр л зохих ур чадваргүй болно. Ийм учраас гогцооны сэдэв нь хөгжүүлэгчийн сургалтанд хамгийн түрүүнд саад болдог.

Үүнтэй төстэй асуудал бусад бүс нутагт ч гарч ирдэг. Хэрэв хүн гартаа байгаа багаж хэрэгслийг хэрхэн ашиглахаа мэдэхгүй бол өдөр тутмын ур чадвараа харуулах боломжгүй болно. Муу хэлнүүд гар буруу газраас ургаж байна гэж хэлэх болно. Зам дээр энэ нь нөхцөл байдлыг зөв үнэлж, маневр сонгох чадваргүйд илэрдэг. Энэ нь заримдаа эмгэнэлт үр дагаварт хүргэж болзошгүй юм.

Дүгнэлт:

  1. Бидэнд байгаа хэрэгслээр дэлхийг илүү сайхан болгохын тулд бидэнд сургууль, их сургуулийн математик хэрэгтэй байна.
  2. Хэрэв та оюутан бөгөөд мөчлөг сурахад бэрхшээлтэй байгаа бол үндсэн ойлголтууд болох сургуулийн алгебр руу буцаад үзээрэй. 9-р ангид зориулсан бодлогын ном авч, түүнээс жишээ гарга.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх