Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Հետաքրքրաշարժ Հանրահաշիվ
(section)
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===ԱՐԱԳԱԳՈՐԾ ՀԱՇՎԻՉ ՄԵՔԵՆԱՆԵՐ=== Հետաքրքրաշարժ հանրահաշվի» պլանում հավասարումների մասին եղած զրույցը չի կարող հաշվիչ մեքենաներով հավասարումների լուծման կողքով անցնել։ Մենք արդեն խոսել ենք այն մասին, որ հաշվիչ մեքենաները կարող են շախմատ (կամ շաշկի) «խաղալ»։ Մաթեմատիկական մեքենաները կարող են կատարել և այլ առաջադրանքներ, օրինակ, մի լեզվից մյուսին թարգմանելը, երաժշտական մելոդիաները նվագախմբի համար պատրաստելը և այլն։ Հարկավոր է միայն մշակել համապատասխան «ծրագիր», որով մեքենան գործելու է։ Իհարկե, մենք այստեղ չենք դիտարկի «ծրագրեր» մշակելու հարցը շախմատ խաղալու կամ մի լեզվից մյուսին թարգմանելու համար։ Այդ «ծրագրերը» ծայրահեղ բարդ են։ Մենք կվերլուծենք միայն երկու շատ հասարակ «ծրագրեր»։ Սակայն, սկզբում հարկավոր է մի քանի խոսք ասել հաշվիչ մեքենայի կառուցվածքի մասին։ Վերևում (գլ. I) մենք խոսել ենք այն հարմարանքների մասին, որոնք թույլատրում են վայրկյանում հազարավոր և տասը հազարավոր հաշվումներ կատարել։ Մեքենալի այն մասը, որը ծառայում է գործողությունները անմիջականորեն կատարելու համար (մեծ մասամբ թվարկության երկուական սիստեմով), կոչվում է արիֆմոմետր։ Բացի այդ, մեքենան կազմված է ''կառավարող հարմարանքից'' (որ կարգավորում է ամբողջ մեքենայի աշխատանքը) և այսպես կոչված ''հիշողությունից''։ Հիշողությունը կամ, այլ կերպ, հիշող հարմարանքն իրենից ներկայացնում է թվերի և պայմանական ազդանշանների համար պահեստարան։ Վերջապես, մեքենան ունի հատուկ հարմարանքներ նիշավոր նոր տվյալներ մտցնելու և պատրաստի արդյունքներ ստանալու համար։ Այդ պատրաստի արդյունքները մեքենան տպում է (արդեն տասնորդական սիստեմով) հատուկ քարտերի վրա։ Բոլորին լավ հայտնի է, որ ձայնը կարելի է գրի առնել սկավառակի կամ ժապավենի վրա և այնուհետև վերարտադրել։ Բայց ձայնի գրառումը սկավառակի վրա հնարավոր է կատարել միայն մեկ անգամ. նոր գրանցման համար արդեն հարկավոր է նոր սկավառակ։ Փոքր ինչ այլ կերպ է իրականացվում մագնիտաֆոնով ձայնագրումը, որը տեղի է ունենում հատուկ ժապավենի մագնիսացման միջոցով։ Գրված ձայնը կարելի է վերարտադրել ուզածին չափ, իսկ եթե գրառումը հարկավոր չէ, ապա կարելի է ժապավենը «ապամագնիսացնել» և նրա վրա կատարել նոր գրանցում։ Միևնույն ժապավենի վրա կարելի է կատարել հաջորդաբար մի քանի գրանցումներ, ընդ որում յուրաքանչյուր նոր գրանցման դեպքում նախորդը «ջնջվում է»։ Նման սկզբունքի վրա էլ հիմնված է հիշող հարմարանքների գործողությունը։ Թվերը և պայմանական ազդանշանները գրանցվում են (էլեկտրական, մագնիսական կամ մեխանիկական ազդանշանների միջոցով) հատուկ թմբկագլանի, ժապավենի կամ այլ հարմարանքի վրա։ Անհրաժեշտ պահին գրված թիվը հնարավոր է «կարդալ», իսկ եթե այն այլևս հարկավոր չէ, ապա կարելի է ջնջել և նրա տեղը գրել նոր թիվ։ Թվերի կամ պայմանական ազդանշանների «հիշելը» և «կարդալը» ընդամենը տևում է վայրկյանի միլիոներորդ մասը։ «Հիշողությունը» կարող է պարունակել մի քանի հազար բջիջներ, յուրաքանչյուր բջիջ մի քանի տասնյակ էլեմենտներ, օրինակ՝ մագնիսական։ Թվերը երկուական սիստեմով գրելու համար պայմանավորվում ենք հաշվել, որ յուրաքանչյուր մագնիսացված էլեմենտ պատկերում է <math>1</math> թվանշանը, իսկ չմագնիսացվածը՝ <math>0</math> թվանշանը։ Դիցուք, հիշողության յուրաքանչյուր բջիջը պարունակում է <math>25</math> էլեմենտ (կամ, ինչպես ասում են, <math>25</math> «երկուական կարգեր»), ընդ որում բջիջի առանձին էլեմենտը ծառայում է թվի նշանը (+ կամ -) նշանակելու համար, հաջորդ <math>14</math> կարգերը ծառայում են թվի ամբողջ մասը գրելու համար, իսկ վերջին <math>10</math> կարգերը՝ կոտորակային մասը գրելու համար։ 11-րդ նկարում սխեմատիկորեն պատկերված են հիշողության երկու բջիջներ՝ յուրաքանչյուրը <math>25</math> կարգով։ Մագնիսացված էլեմենտները նշանակված են + նշանով, չմագնիսացվածները՝ - նշանով։ Պատկերված բջիջներից դիտարկենք վերևինը (ստորակետը ցույց է տալիս, թե որտեղ է սկսվում թվի կոտորակային մասը, իսկ կետագիծը մնացածներից անջատում է առաջին կարգը, որը ծառայում է նշանը գրելու համար)։ Նրա մեջ գրված է (թվարկության երկուական սիստեմով) <math>+1011,01</math> թիվը կամ մեզ համար սովորական թվարկության տասնորդական սիստեմով՝ <math>11,25</math> թիվը։ Բացի թվերից, հիշողության բշիջներում գրվում են ''հրամաններ'', որոնցից կազմված է ծրագիրը։ Դիտարկենք, թե ինչպիսի տեսք կունենան հրամանները այսպես կոչված ''երեքհասցեանի'' մեքենայի համար։ Այդ դեպքում հրամանը գրելիս հիշողության բջիջը բաժանվում է 4 մասի (կետագծերը ներքևի բջիջի վրա, նկ. 11)։ Առաջին մասը ծառայում է օպերացիան նշանակելու համար, ընդ որում օպերացիաները գրվում են թվերով (համարներով)։ Օրինակ, <TABLE border = 0> <TR> <TD>գումարում</TD> <TD>—</TD> <TD>օպերացիա</TD> <TD></TD> <TD align=right>I</TD> <TD>,</TD> </TR> <TR> <TD>հանում</TD> <TD>—</TD> <TD>օպերացիա</TD> <TD></TD> <TD align=right>II</TD> <TD>,</TD> </TR> <TR> <TD>բազմապատկում</TD> <TD>—</TD> <TD>օպերացիա</TD> <TD></TD> <TD align=right>III</TD> <TD>և այլն։</TD> </TR> </TABLE> [[Պատկեր:Interesting_Algebra_Pic_11.png|250px|frameless|thumb|center]] Հրամանները վերծանում են այսպես՝ բջիջի առաջին մասը օպերացիայի համարն է, երկրորդ և երրորդ մասերի բջիջների համարները (հասցեները), որոնցից պետք է վերցնել այդ օպերացիան կատարելու համար թվեր, չորրորդ մասը բջիջի համարն է (հասցեն), որտեղ պետք է ուղարկել ստացված արդյունքը։ Օրինակ, 11-րդ նկարի վրա ներքևի տողում) գրված են երկուական սիստեմով <math>11, \; 11, \; 111, \; 1011</math> կամ տասնորդական սիստեմով՝ <math>3, \; 3, \; 7, \; 11</math> թվերը, որ նշանակում է հետևյալ հրամանը՝ կատարել III օպերացիան (այսինքն բազմապատկում) այն թվերի հետ, որոնք գտնվում են հիշողության ''երրորդ և յոթերորդ'' բջիջներում, իսկ ստացված արդյունքը «հիշել» (այսինքն՝ գրել) ''տասնմեկերորդ'' բջիջում։ Հետագայում մենք թվերը և հրւսմանները կգրենք ոչ թե պայմանական նշաններով, ինչպես 11-րդ նկարում է, այլ ուղղակի թվարկության տասնորդական սիստեմով։ Օրինակ, 11-րդ նկարի ներքևի տողում պատկերված հրամանը գրվում է այսպես՝ <TABLE border = 0> <TR> <TD>բազմապատկում</TD> <TD><math>3</math></TD> <TD><math>7</math></TD> <TD><math>11</math>։</TD> </TR> </TABLE> Այժմ դիտարկենք ծրագրերի երկու հասարակ օրինակներ։ <TABLE border = 0> <TR> <TD colspan=7 align=center>''Ծրագիր 1''</TD> </TR> <TR> <TD align=right>1)</TD> <TD>գումարում</TD> <TD><math>4</math></TD> <TD></TD> <TD><math>5</math></TD> <TD></TD> <TD><math>4</math></TD> </TR> <TR> <TD align=right>2)</TD> <TD>բազմապատկում</TD> <TD><math>4</math></TD> <TD></TD> <TD><math>4</math></TD> <TD></TD> <TD><math>\to</math></TD> </TR> <TR> <TD align=right>3)</TD> <TD>կ. փ.</TD> <TD></TD> <TD></TD> <TD></TD> <TD></TD> <TD><math>1</math></TD> </TR> <TR> <TD align=right>4)</TD> <TD><math>0</math></TD> <TD></TD> <TD></TD> <TD></TD> </TR> <TR> <TD align=right>5)</TD> <TD><math>1</math></TD> <TD></TD> <TD></TD> <TD></TD> </TR> </TABLE> Տեսնենք թե ինչպես կաշխատի մեքենան, որի առաջին հինգ բջիջներում գրված են այդ տվյալները։ ''1-ին հրաման''՝ գումարել 4-րդ և 5-րդ բջիջներում գրված թվերը և արդյունքը նորից ուղարկել 4-րդ բջիջը (վաղօրոք այնտեղ գրվածի փոխարեն)։ Այսպիսով, մեքենան 4-րդ բջիջում գրում է <math>0+1=1</math> թիվը։ Առաջին հրամանը կատարելուց հետո 4-րդ և 5-րդ բջիջներում կլինեն հետևյալ թվերը՝ <TABLE border = 0> <TR> <TD align=right>4)</TD> <TD><math>1</math></TD> <TD></TD> <TD></TD> <TD></TD> </TR> <TR> <TD align=right>5)</TD> <TD><math>1</math>։</TD> <TD></TD> <TD></TD> <TD></TD> </TR> </TABLE> ''2-րդ հրամանը''. չորրորդ բջիջում եղած թիվը բազմապատկել իրենով (այսինքն՝ այն բարձրացնել քառակուսի) և արդյունքը, այսինքն՝ <math>1^2</math>, գրել քարտի վրա (սլաքը ցույց է տալիս պատրաստի արդյունքը)։ ''3-րդ հրաման՝ կառավարման փոխանցումը'' 1-ին բջիջին։ Այլ կերպ ասած, կ. փ. հրամանը նշանակում է, որ պետք է նորից կատարել բոլոր հրամանները ըստ կարգի, սկսած <math>1</math>-ից։ Այսպիսով, նորից 1-ին հրաման։ ''1-ին հրաման''. 4-րդ և 5-րդ բջիջներում եղած թվերը գումարել և արդյունքը նորից գրել 4-րդ բջիջում։ 4-րդ բջիջում արդյունքը կլինի <math>1+1=2</math> թիվը <TABLE border = 0> <TR> <TD align=right>4)</TD> <TD><math>2</math></TD> <TD></TD> <TD></TD> <TD></TD> </TR> <TR> <TD align=right>5)</TD> <TD><math>1</math>։</TD> <TD></TD> <TD></TD> <TD></TD> </TR> </TABLE> ''2-րդ հրաման''. 4-րդ բջիջում եղած թիվը բարձրացնել քառակուսի և ստացված արդյունքը, այսինքն <math>2^2</math>, գրել քարտի վրա (սլաքը ցույց է տալիս արդյունքը)։ ''3-րդ հրաման''. կատավարման փոխանցումը 1-ին բջիջին (այսինքն՝ դարձյալ անցում առաջին հրամանին)։ ''1-ին հրաման''. <math>2+1=3</math> թիվը ուղարկել 4-րդ բջիջին. <TABLE border = 0> <TR> <TD align=right>4)</TD> <TD><math>3</math></TD> <TD></TD> <TD></TD> <TD></TD> </TR> <TR> <TD align=right>5)</TD> <TD><math>1</math>։</TD> <TD></TD> <TD></TD> <TD></TD> </TR> </TABLE> ''2-րդ հրաման''. քարտի վրա գրել <math>3^2</math> թիվը։ ''3-րդ հրաման''. կառավարման փոխանցումը 1-ին բջիջին և այլն։ Մենք տեսնում ենք, որ մեքենան մեկը մյուսի հետևից հաշվում է ''ամբողջ թվերի քառակուսիները'' և դրանք գրում է քարտի վրա։ Նկատեցեք, որ յուրաքանչյուր անգամ ձեռքով նոր թիվ հավաքելը պետք չէ, մեքենան ինքը իրար հետևից ընտրում է ամբողջ թվեր և դրանց բարձրացնում քառակուսի։ Գործելով այդ ծրագրով՝ մեքենան հաշվում է <math>1</math>-ից մինչև <math>10\;000</math>-ը եղած բոլոր ամբողջ թվերի քառակուսիները մի քանի տասնյակ վայրկյանի ընթացքում։ Պետք է նշել, որ իրականում ամբողջ թվերի քառակուսիները հաշվելու համար ծրագիրը մասամբ ավելի բարդ կլինի, քան այն, որ բերված է վերևում։ Դա ամենից առաջ վերաբերում է 2-րդ հրամանին։ Բանն այն է, որ քարտի վրա պատրաստի արդյունքի գրելը պահանջում է ավելի շատ ժամանակ, քան մեքենայով մեկ օպերացիայի կատարելը։ Ուստի, սկզբից պատրաստի արդյունքները «հիշվում են» «հիշողության» ազատ բջիջներում, իսկ դրանից հետո «առանց շտապելու» արտադրվում են քարտի վրա։ Այսպիսով, առաջին վերջնական արդյունքը պետք է «հիշվի» «հիշողության» 1-ին ազատ բջիջում, երկրորդ արդյունքը՝ 2-րդ ազատ բջիջում, երրորդը՝ 3-րդում և այլն։ Վերը բերված պարզեցված ծրագրում դա ոչ մի կերպ հաշվի չէր առնված։ Բացի այդ, մեքենան չի կարող երկար ժամանակ զբաղվել քառակուսիների հաշվումներով, քանի որ «հիշողության» րջիջները չեն բավարարում, իսկ մենք չենք կարող «գուշակել», թե մեքենան արդեն հաշվե՞լ է մեզ անհրաժեշտ քառակուսիների թիվը, որպեսզի այդ պահին անջատենք այն. (չէ՞ որ մեքենան վայրկյանում կատարում է հազարավոր օպերացիաներ)։ Դրա համար էլ նախատեսված են հատուկ հրամաններ՝ պահանջված պահին մեքենաները կանգնեցնելու համար։ Օրինակ, ծրագիրը կարելի է կազմել այնպես, որ մեքենան հաշվի <math>1</math>-ից մինչև <math>10 \; 000</math> բոլոր ամբողջ թվերի քառակուսիները և դրանից հետո ավտոմատորեն անջատվի։ Կան և հրամանների ուրիշ, ավելի բարդ տեսակները, որոնց մենք այստեղ չենք անդրադառնա պարզության համար։ Ահա թե ինչ տեսք կունենա <math>1</math>-ից մինչն <math>10\;000</math>-ը բոլոր ամբողջ թվերի քառակուսիները հաշվելու ծրագիրը (ավելի լրիվ տեսքով)։ <TABLE border = 0> <TR> <TD colspan=5 align=center>''Ծրագիր 1ա''</TD> </TR> <TR> <TD align=right>1)</TD> <TD>գումարում</TD> <TD><math>8</math></TD> <TD></TD> <TD><math>9</math></TD> <TD></TD> <TD align=right><math>8</math></TD> </TR> <TR> <TD align=right>2)</TD> <TD>բազմապատկում</TD> <TD><math>8</math></TD> <TD></TD> <TD><math>8</math></TD> <TD></TD> <TD align=right><math>10</math></TD> </TR> <TR> <TD align=right>3)</TD> <TD>գումարում</TD> <TD><math>2</math></TD> <TD></TD> <TD><math>6</math></TD> <TD></TD> <TD align=right><math>2</math></TD> </TR> <TR> <TD valign=top align=right>4)</TD> <TD>կ. պ. փ.<br>(կառավարման<br>պայմանական<br>փոխանցում)</TD> <TD valign=top><math>8</math></TD> <TD></TD> <TD valign=top><math>7</math></TD> <TD></TD> <TD valign=top align=right><math>1</math></TD> </TR> <TR> <TD align=right>5)</TD> <TD>կանգնիր</TD> <TD></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right></TD> </TR> <TR> <TD align=right>6)</TD> <TD></TD> <TD><math>0</math></TD> <TD></TD> <TD><math>0</math></TD> <TD></TD> <TD align=right><math>1</math></TD> </TR> <TR> <TD align=right>7)</TD> <TD colspan=6><math>10 \; 000</math></TD> </TR> <TR> <TD align=right>8)</TD> <TD colspan=6><math>0</math></TD> </TR> <TR> <TD align=right>9)</TD> <TD colspan=6><math>1</math></TD> </TR> <TR> <TD align=right>10)</TD> <TD colspan=6><math>0</math></TD> </TR> <TR> <TD align=right>11)</TD> <TD colspan=6><math>0</math></TD> </TR> <TR> <TD align=right>12)</TD> <TD colspan=6><math>0</math></TD> </TR> <TR> <TD colspan=7>..................................</TD> </TR> </TABLE> Առաջին երկու հրամանները քիչ են տարբերվում այն հրամաններից, որոնք կային նախորդ պարզեցված ծրագրում։ Այդ երկու հրամանների կատարումից հետո 8-րդ, 9-րդ և 10-րդ բջիջներում կլինեն հետևյալ թվերը՝ <TABLE border = 0> <TR> <TD align=right>8)</TD> <TD colspan=6><math>1</math></TD> </TR> <TR> <TD align=right>9)</TD> <TD colspan=6><math>1</math></TD> </TR> <TR> <TD align=right>10)</TD> <TD colspan=6><math>1^2</math></TD> </TR> </TABLE> Երրորդ հրամանը շատ հետաքրքիր է. պետք է գումարել այն, ինչ կա 2-րդ և 6-րդ բջիջներում, և արդյունքները նորից գրել 2-րդ բջիջում, որից հետո 2-րդ բջիջը կունենա հետևյալ տեսքը՝ <TABLE border = 0> <TR> <TD align=right>2)</TD> <TD>բազմապատկում</TD> <TD><math>8</math></TD> <TD></TD> <TD><math>8</math></TD> <TD></TD> <TD align=right><math>11</math></TD> </TR> </TABLE> Ինչպես տեսնում եք, երրորդ հրամանը կատարելուց հետո ''փոխվում է երկրորդ'' հրամանը, ավելի ճիշտ՝ փոխվում է 2-րդ հրամանի հասցեներից մեկը։ Ստորև մենք կպարզաբանենք, թե ինչի համար է դա արվում։ ''Չորրորդ հրաման''. կառավարման ''պայմանական'' փոխանցումը (ծրագրում վաղօրոք դիտարկված 3-րդ հրամանի փոխարեն)։ Այդ հրամանը կատարվում է այսպես. եթե 8-րդ բջիջում եղած թիվը ''փոքր է'' 7-րդ բջիջում եղած թվից, ապա կառավարումն հաղորդվում է 1-ին բջիջին. հակառակ դեպքում կատարվում է հաջորդ (այսինքն՝ 5-րդ) հրամանը։ Մեր դեպքում իրոք <math>1<10000</math>, այնպես որ տեղի կունենա կառավարման փոխանցում 1-ին բջիջին։ Այսպիսով, նորից 1-ին հրամանը։ 1-ին հրամանը կատարելուց հետո, 8-րդ բջիջում կլինի <math>2</math> թիվը. Երկրորդ հրամանը, որն այժմ ունի հետևյալ տեսքը՝ <TABLE border = 0> <TR> <TD align=right>2)</TD> <TD>բազմապատկում</TD> <TD><math>8</math></TD> <TD></TD> <TD><math>8</math></TD> <TD></TD> <TD align=right><math>11</math></TD> </TR> </TABLE> կայանում է նրանում, որ <math>2^2</math> թիվը ուղարկվում է 11-րդ բջիջին։ Այժմ պարզ է, թե ինչու ավելի շուտ կատարվեց 3-րդ հրամանը նոր թիվը, այսինքն <math>2^2</math>, պետք է ընկնի ոչ թե 10-րդ բջիջում, որն արդեն զբաղված է, այլ հաջորդում։ 1-ին և 2-րդ հրամանները կատարվելուց հետո մենք կունենանք հետևյալ թվերը <TABLE border = 0> <TR> <TD align=right>8)</TD> <TD><math>2</math></TD> </TR> <TR> <TD align=right>9)</TD> <TD><math>1</math></TD> </TR> <TR> <TD align=right>10)</TD> <TD><math>1^2</math></TD> </TR> <TR> <TD align=right>11)</TD> <TD><math>2^2</math></TD> </TR> </TABLE> 3-րդ հրամանը կատարվելուց հետո 2-րդ բջիջը կընդունի հետևյալ տեսքը՝ <TABLE border = 0> <TR> <TD align=right>2)</TD> <TD>բազմապատկում</TD> <TD><math>8</math></TD> <TD></TD> <TD><math>8</math></TD> <TD></TD> <TD align=right><math>12</math>։</TD> </TR> </TABLE> Քանի որ 8-րդ բջիջում դեռևս փոքր թիվ է գտնվում, քան 9-րդ բջիջում, ապա 4-րդ հրամանը նշանակում է կրկին կառավարման փոխանցում 1-ին բջիջին։ Այժմ 1-ին և 2-րդ հրամանները կատարվելուց հետո կստանանք՝ <TABLE border = 0> <TR> <TD align=right>8)</TD> <TD><math>3</math></TD> </TR> <TR> <TD align=right>9)</TD> <TD><math>1</math></TD> </TR> <TR> <TD align=right>10)</TD> <TD><math>1^2</math></TD> </TR> <TR> <TD align=right>11)</TD> <TD><math>2^2</math></TD> </TR> <TR> <TD align=right>12)</TD> <TD><math>3^2</math></TD> </TR> </TABLE> Մինչև ե՞րբ մեքենան այդ ծրագրով կհաշվի քառակուսիները։ Այնքան ժամանակ, մինչև որ 6-րդ բջիջում չի հայտնվել <math>10\;000</math> թիվը, այսինքն՝ քանի դեռ <math>1</math>-ից մինչև <math>10\;000</math> թվերի քառակուսիները չեն հաշվարկվել։ Դրանից հետո 4-րդ հրամանը կառավարումն արդեն չի փոխանցի 1-ին բջիջին (քանի որ 8-րդ բջիջում եղած թիվը ոչ թե ''փոքր է'', այլ հավասար է այն թվին, որը գտնում է 7-րդ բջիջում), այսինքն՝ 4-րդ հրամանից հետո մեքենան կատարում է 5-րդ հրամանը՝ կանգնում է (անջատվում է)։ Այժմ դիտարկենք ավելի բարդ ծրագրի օրինակ՝ հավասարումների սիստեմների լուծումը։ Այդ դեպքում մենք կդիտարկենք պարզեցված ծրագիրը։ Ցանկության դեպքում ընթերցողն ինքը կմտածի այն մասին, թե ինչպես կարտահայտվի այդպիսի ծրագիրը ավելի լրիվ տեսքով։ Դիցուք տրված է հավասարումների հետևյալ սիստեմը՝ <math> \begin{cases} ax+by=c, \\ dx+ey=f։ \end{cases} </math> Այս սիստեմը դժվար չէ լուծել. <math>x \;=\; \frac{ce-bf}{ae-bd},\; y \;=\; \frac{af-cd}{ae-bd}</math>։ [[Պատկեր:Interesting_Algebra_Pic_11a.png|100px|frameless|thumb|right]] Այդպիսի սիստեմներ լուծելու համար (<math>a, \; b, \; c, \; d, \; e, \; f</math> գործակիցների տրված թվային արժեքներով) հավանաբար, ձեզ անհրաժեշտ է մի քանի տասնյակ վայրկյան։ Իսկ մեքենան կարող է լուծել վայրկյանում ''հարյուրավոր'' այդպիսի սիստեմներ։ Դիտարկենք համապատասխան ծրագիրը։ Ասենք թե միանգամից տրված են մի քանի սիստեմներ՝ <math>a, \; b, \; c, \; d, \; e, \; f, \; a՛, \; b՛, \dots</math> գործակիցների թվային արժեքներով։ Ահա համապատասխան ծրագիրը՝ <TABLE border = 0> <TR> <TD colspan=22 align=center>''Ծրագիր 2''</TD> </TR> <TR> <TD align=right>1)</TD> <TD><math>\times</math></TD> <TD align=right><math>28</math></TD> <TD></TD> <TD><math>30</math></TD> <TD></TD> <TD align=right><math>20</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>14)</TD> <TD><math>+</math></TD> <TD align=right><math>3</math></TD> <TD></TD> <TD><math>19</math></TD> <TD></TD> <TD align=right><math>3</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>27)</TD> <TD><math>b</math></TD> </TR> <TR> <TD align=right>2)</TD> <TD><math>\times</math></TD> <TD align=right><math>27</math></TD> <TD></TD> <TD><math>31</math></TD> <TD></TD> <TD align=right><math>21</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>15)</TD> <TD><math>+</math></TD> <TD align=right><math>4</math></TD> <TD></TD> <TD><math>19</math></TD> <TD></TD> <TD align=right><math>4</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>28)</TD> <TD><math>c</math></TD> </TR> <TR> <TD align=right>3)</TD> <TD><math>\times</math></TD> <TD align=right><math>26</math></TD> <TD></TD> <TD><math>30</math></TD> <TD></TD> <TD align=right><math>22</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>16)</TD> <TD><math>+</math></TD> <TD align=right><math>5</math></TD> <TD></TD> <TD><math>19</math></TD> <TD></TD> <TD align=right><math>5</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>29)</TD> <TD><math>d</math></TD> </TR> <TR> <TD align=right>4)</TD> <TD><math>\times</math></TD> <TD align=right><math>27</math></TD> <TD></TD> <TD><math>29</math></TD> <TD></TD> <TD align=right><math>23</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>17)</TD> <TD><math>+</math></TD> <TD align=right><math>6</math></TD> <TD></TD> <TD><math>19</math></TD> <TD></TD> <TD align=right><math>6</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>30)</TD> <TD><math>e</math></TD> </TR> <TR> <TD align=right>5)</TD> <TD><math>\times</math></TD> <TD align=right><math>26</math></TD> <TD></TD> <TD><math>31</math></TD> <TD></TD> <TD align=right><math>24</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>18)</TD> <TD colspan=5>կ. փ.</TD> <TD align=right><math>1</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>31)</TD> <TD><math>f</math></TD> </TR> <TR> <TD align=right>6)</TD> <TD><math>\times</math></TD> <TD align=right><math>28</math></TD> <TD></TD> <TD><math>29</math></TD> <TD></TD> <TD align=right><math>25</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>19)</TD> <TD></TD> <TD align=right><math>6</math></TD> <TD></TD> <TD align=right><math>6</math></TD> <TD></TD> <TD align=right><math>0</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>32)</TD> <TD><math>a՛</math></TD> </TR> <TR> <TD align=right>7)</TD> <TD><math>-</math></TD> <TD align=right><math>20</math></TD> <TD></TD> <TD><math>21</math></TD> <TD></TD> <TD align=right><math>20</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>20)</TD> <TD colspan=2 align=right><math>0</math></TD> <TD colspan=7></TD> <TD align=right>33)</TD> <TD><math>b՛</math></TD> </TR> <TR> <TD align=right>8)</TD> <TD><math>-</math></TD> <TD align=right><math>22</math></TD> <TD></TD> <TD><math>23</math></TD> <TD></TD> <TD align=right><math>21</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>21)</TD> <TD colspan=2 align=right><math>0</math></TD> <TD colspan=7></TD> <TD align=right>34)</TD> <TD><math>c՛</math></TD> </TR> <TR> <TD align=right>9)</TD> <TD><math>-</math></TD> <TD align=right><math>24</math></TD> <TD></TD> <TD><math>25</math></TD> <TD></TD> <TD align=right><math>22</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>22)</TD> <TD colspan=2 align=right><math>0</math></TD> <TD colspan=7></TD> <TD align=right>35)</TD> <TD><math>d՛</math></TD> </TR> <TR> <TD align=right>10)</TD> <TD><math>:</math></TD> <TD align=right><math>20</math></TD> <TD></TD> <TD><math>21</math></TD> <TD></TD> <TD align=right><math>\to</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>23)</TD> <TD colspan=2 align=right><math>0</math></TD> <TD colspan=7></TD> <TD align=right>36)</TD> <TD><math>e՛</math></TD> </TR> <TR> <TD align=right>11)</TD> <TD><math>:</math></TD> <TD align=right><math>22</math></TD> <TD></TD> <TD><math>21</math></TD> <TD></TD> <TD align=right><math>\to</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>24)</TD> <TD colspan=2 align=right><math>0</math></TD> <TD colspan=7></TD> <TD align=right>37)</TD> <TD><math>f՛</math></TD> </TR> <TR> <TD align=right>12)</TD> <TD><math>+</math></TD> <TD align=right><math>1</math></TD> <TD></TD> <TD><math>19</math></TD> <TD></TD> <TD align=right><math>1</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>25)</TD> <TD colspan=2 align=right><math>0</math></TD> <TD colspan=7></TD> <TD align=right>38)</TD> <TD><math>a՛՛</math></TD> </TR> <TR> <TD align=right>13)</TD> <TD><math>+</math></TD> <TD align=right><math>2</math></TD> <TD></TD> <TD><math>19</math></TD> <TD></TD> <TD align=right><math>2</math></TD> <TD></TD> <TD></TD> <TD></TD> <TD align=right>26)</TD> <TD colspan=2 align=right><math>a</math></TD> <TD colspan=7></TD> <TD align=center colspan=2>.....</TD> </TR> </TABLE> ''1-ին հրաման''. կազմել 28-րդ և 30-րդ բջիջներում գտնվող թվերի արտադրյալը և արդյունքն ուղարկել 20-րդ բջիջին։ Այլ կերպ ասած, 20-րդ բջիջում կգրվի <math>ce</math> թիվը։ Համանման ձևով կատարվում են 2-րդից 6-րդ հրամանները։ Դրանց անջատումից հետո 20-րդից մինչև 25-րդ բջիջներում կգտնվեն հետևյալ թվերը՝ <TABLE border = 0> <TR> <TD align=right>20)</TD> <TD><math>ce</math></TD> </TR> <TR> <TD align=right>21)</TD> <TD><math>bf</math></TD> </TR> <TR> <TD align=right>22)</TD> <TD><math>ae</math></TD> </TR> <TR> <TD align=right>23)</TD> <TD><math>bd</math></TD> </TR> <TR> <TD align=right>24)</TD> <TD><math>af</math></TD> </TR> <TR> <TD align=right>25)</TD> <TD><math>cd</math></TD> </TR> </TABLE> ''7-րդ հրաման''. 20-րդ բջիջում գտնվող թվերից հանել 21-րդ բջիջում գտնվող թիվը և արդյունքը (այսինքն՝ <math>(ce-bf)</math> նորից գրել 20-րդ բջիջում։ Համանման ձևով կատարվում են 8-րդ և 9-րդ հրամանները։ 20-րդ, 21-րդ, 22-րդ բջիջներում կառաջանան հետևյալ թվերը <TABLE border = 0> <TR> <TD align=right>20)</TD> <TD><math>ce-bf</math></TD> </TR> <TR> <TD align=right>21)</TD> <TD><math>ae-bd</math></TD> </TR> <TR> <TD align=right>22)</TD> <TD><math>af-cd</math></TD> </TR> </TABLE> ''10-րդ և 11-րդ հրամաններ''. կազմվում են <math>\frac{cp-bf}{ae-bd}</math> և <math>\frac{af-cd}{ae-bd}</math> քանորդները և գրվում քարտի վրա (այսինքն՝ տրվում են՝ ինչպես պատրաստի արդյունքներ)։ Դա հենց հավասարումների առաջին սիստեմից ստացված անհայտների արժեքներն են։ Այսպիսով, առաջին սիստեմը լուծված է։ Ինչի՞ համար են հետագա հրամանները։ Ծրագրի հետագա մասը (12-րդից մինչև 19-րդ բջիջները) նշանակված է նրա համար, որպեսզի մեքենային ստիպեն «անցնելու» հավասարումների երկրորդ սիստեմին։ Տեսնենք, թե ինչպես է կատարվում այդ։ 10-րդից մինչև 11-րդ հրամանները կայանում են նրանում, որ 1-ից 6-րդ բջիջների պարունակությանն ավելանում է այն գրանցումը, որն ունի 19-րդ բջիջը, իսկ արդյունքում նորից մնում են 1-ից 6-րդ բջիջները։ Այս ձևով 17-րդ հրամանը կատարելուց հետո առաջին վեց բջիջները կունենան հետևյալ տեսքը՝ <TABLE border = 0> <TR> <TD align=right>1)</TD> <TD><math>\times</math></TD> <TD align=right><math>34</math></TD> <TD></TD> <TD><math>36</math></TD> <TD></TD> <TD align=right><math>20</math></TD> </TR> <TR> <TD align=right>2)</TD> <TD><math>\times</math></TD> <TD align=right><math>33</math></TD> <TD></TD> <TD><math>37</math></TD> <TD></TD> <TD align=right><math>21</math></TD> </TR> <TR> <TD align=right>3)</TD> <TD><math>\times</math></TD> <TD align=right><math>32</math></TD> <TD></TD> <TD><math>36</math></TD> <TD></TD> <TD align=right><math>22</math></TD> </TR> <TR> <TD align=right>4)</TD> <TD><math>\times</math></TD> <TD align=right><math>33</math></TD> <TD></TD> <TD><math>35</math></TD> <TD></TD> <TD align=right><math>23</math></TD> </TR> <TR> <TD align=right>5)</TD> <TD><math>\times</math></TD> <TD align=right><math>32</math></TD> <TD></TD> <TD><math>37</math></TD> <TD></TD> <TD align=right><math>24</math></TD> </TR> <TR> <TD align=right>6)</TD> <TD><math>\times</math></TD> <TD align=right><math>34</math></TD> <TD></TD> <TD><math>35</math></TD> <TD></TD> <TD align=right><math>25</math></TD> </TR> </TABLE> ''18-րդ հրաման''. կառավարման փոխանցումը առաջին բջիջին։ Առաջին վեց բջիջներում ինչո՞վ են տարբերվում նոր գրանցումները նախկին գրանցումներից։ Նրանով, որ այդ բջիջներում առաջին երկու հասցեներն ունեն ոչ թե 26-ից մինչև 31<ref>Գրքում վրիպակ է՝ 11։— ''Մ.''։</ref> համարները, ինչպես առաջ, այլ 32-ից մինչև 37 համարները։ Այլ կերպ ասած, մեքենան կրկին կկատարի նույն գործողությունները, բայց թվերը կվերցնի ոչ թե 20-րդ, 31-րդ բջիջներից, այլ 32-րդ, 37-րդ բջիջներից, որտեղ գտնվում են հավասարումների երկրորդ սիստեմի գործակիցները։ Այսպիսով, մեքենան լուծում է հավասարումների երկրորդ սիստեմը։ Երկրորդ սիստեմը լուծելուց հետո մեքենան անցնում է երրորդին և այլն։ Ասածից պարզ է դառնում, թե ինչքան կարևոր է ճիշտ «ծրագիր» կազմել կարողանալը։ Չէ՞ որ մեքենան «ինքը» ոչինչ անել չի «կարող»։ Նա կարող է կատարել միայն իրեն առաջադրված ծրագիրը։ Կան ծրագրեր, արմատներ, լոգարիթմներ, սինուսներ հաշվելու, բարձր աստիճանի հավասարումներ լուծելու համար և այլն։ Մենք արդեն վերևում խոսել ենք այն մասին, որ գոյություն ունեն ծրագրեր շախմատի խաղի, օտար լեզուներից թարգմանություն կատարելու համար,...։ Իհարկե, որքան բարդ է առաջադրանքը, այնքան էլ բարդ է նրան համապատասխանող ծրագիրը։ Վերջում նշենք, որ գոյություն ունեն այսպես կոչված ''ծրագրող ծրագրեր'', այսինքն այնպիսիներ, որոնց օգնությամբ մեքենան ինքը կարող է կազմել խնդրի լուծման համար պահանջվող ծրագիրը։ Այդ զգալիորեն թեթևացնում է ծրագրի կազմելը, որը հաճախ շատ աշխատատար է լինում։ [[Պատկեր:Interesting_Algebra_Ch3.png|800px|frameless|thumb|center]]
Summary:
Please note that all contributions to Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
My wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Հետաքրքրաշարժ Հանրահաշիվ
(section)
Add topic