Компьютердик технологиянын тез өнүгүшү көптөгөн маселелердин чечилишин жеңилдетүүгө мүмкүндүк берди. Эгерде мурун татаал теңдемелерди кагаз жүзүндө чечүү керек болсо, эми оңой эле программа жазып, аны бир нече секунданын ичинде жасай аласыз. Бул үчүн эң ылайыктуу тил Python болуп саналат.
Программа жазууга даярдануу
Интерактивдүү программаңызды иштеп чыгуудан мурун сызыктуу теңдемелерди чечүүнүн теориялык негиздерин үйрөнүңүз. Бул келечектеги колдонмо кодду натыйжалуу ишке ашырууга жардам берет.
Программанын негизин түзүңүз. Биринчи кадам - класстарды аныктоо. Компьютериңиздин ресурстары чектелүү болсо, класстар катары чоң сандар тобу менен иштөө оңой. Бул сиздин кодуңуздун ыңгайлуулугун жогорулатууга жардам берет.
Колдонмо үчүн эрежелерди түзүү. Кадимки мисал - киргизилген маалыматтардын мааниси. Компьютерде оперативдик эстутум канчалык аз болсо, ошончолук сандарды киргизүү керек.
Колдонмонун коду түзүлүүдө
Терминалдык сессияны ачып, төмөнкү буйрук менен Python котормочуну чакырыңыз:
My-iMac: ~ me $ python –v
Бул программанын берилген версиясында болгон бардык Python модулдарынын узун тизмесин көрсөтөт. Аягында, компилятор компьютерде Pythonдун кайсы версиясы колдонулуп жаткандыгын айтып берет.
Компилятор терезесине төмөнкү кодду киргизүү менен Pythonдо жаңы функция аныктамасын түзүңүз. Көптөгөн булактар бул функцияны "изоляция" деп аташат:
>> def isolve (a, b, c):
Кош чекит enter баскычын басканда түзүүчүдүн кодду токтоосуз чечмелөөсүнө жол бербейт жана ишти бүтүрүүгө мүмкүнчүлүк берет.
A жана b өзгөрмөлөрү бар теңдеменин квотентин жана калган бөлүгүн алган q жана r эки өзгөрмөсүн түзүп, андан соң divmod функциясын чакырып, ушул эки санды бөлүп алыңыз. Андан кийин, экранда бөлүүчү жана калган операция, эгерде ал пайда болот. Код мындай болушу керек:
… Q, r = divmod divmod (a, b)
Калдык жок болгондо, чечимди теңдемеге тез чыгарган if шартын түзүңүз. Төмөнкүнү киргизиңиз:
… Эгерде r == 0:
… return ([0, c / b])
Калган жагдай болгондо, иш үчүн дагы бир шарт түзүңүз:
… else:
… Sol = изоляция (b, r, c)
… U = sol [0]
… V = sol [1]
… return ([v, u - q * v])
Бул divmod операторунун ичине b жана r жайгаштырат, аларды u жана v деп кайтарат, андан кийин аларды чечимдердин жыйындысы катары кайтарат. Бул программанын толук коду төмөнкүдөй:
>> def isolve (a, b, c):
… Q, r = divmod (a, b)
… Эгерде r == 0:
… return ([0, c / b])
… else:
… Sol = изоляция (b, r, c)
… U = sol [0]
… V = sol [1]
… return ([v, u - q * v])
Башка нерселерден кийин жана андан кийинки пункттарды тактоого өзгөчө көңүл буруңуз. Python бул кодду тийиштүү аныктамасыз аткарбайт.
Мурунку сапка кайтуу үчүн кайтуу баскычын дагы бир жолу басыңыз. "Isolve" функциясын жана z, y жана c үч маанисин киргизип, Return баскычын басыңыз. Сиз төмөнкүлөрдү көрүшүңүз керек:
>> изоляция (5, 17, 103)
[721, -206]
Бул программа туура иштеп жатат жана коддо эч кандай ката жок дегенди билдирет. Эсептөөлөрдүн туура же туура эместигин текшерүү үчүн ар кандай баштапкы баалуулуктарды киргизип көрүңүз.