КомпьютеруудПрограмчлал

"Энэ юу вэ" гэдэг нь бодит байдлын хийсвэр суурийг эргүүлэн авчирсан "юу юм бэ"

Магадгүй ирээдүйд тооцоолох бизнес тэгээд тэгээд л тэгж мартаж, процессорууд байт, үгсээр ажиллахгүй, гэхдээ бүх зүйл нь хоёртын ертөнцөөр дүрсэлж, дүрмүүдээрээ амьдардаг. Энэ нь стек гэж юу вэ, хаана хэрэгждэг вэ гэхээр энэ нь тодорхой бус болно. Тэр ч байтугай гадаад төрх нь эхэлж байсан ч анхны процессор бүртгэлтэй байсан бөгөөд түүний ажлын логик нь санах ой хэрэгтэй байв. Энгийн санаануудыг хэрэгжүүлсний үр дүнд "чухам юу вэ" гэсэн де факто нь маш чухал шаардлагатай болсон.

Функц, процессор, хоёртын логик

Процессор нь санах ойг удирдах ба цикл кодын гүйцэтгэлийн логикийг хэрэгжүүлдэг. Програм нь үйл ажиллагааны дарааллыг илэрхийлсэн нэг буюу хэд хэдэн функц юм: ямар нэг зүйл сонгох, үүнийг хий Үйлдлийн систем нь бас илүү хариуцлагатай код юм: бусад програмуудыг ажиллуулах, хянах эрхтэй.

Үнэн хэрэгтээ, функц (алгоритмийн хараат бус элемент) нь зөвхөн хоёртын үйл ажиллагааны дараалал юм. Хөтөлбөр нь өөртөө хэрэгжүүлдэг функцээс ялгаатай бөгөөд кодын бусад хэсгүүдийг зохицуулна.

Аль алиных нь алгоритм нь тусдаа бие даасан элементүүдийн дараалал хэлбэрээр хөгжих зорилготой юм. Хүн бүр өөрийн гэсэн (ихэвчлэн зөвхөн нэг) функцийг хийдэг - энэ нь дибаг хийх, бараг бараг л тохиромжтой байдаг. Ийм хөтөлбөр нь хөгжлийн процессыг хялбаршуулах, алгоритмуудыг үүсгэх, бусад төслүүдэд ашиглах боломжтой болгодог.

Шилжүүлэлт ба буцаах менежмент

Хөтөлбөр функцийг дуудаж, өгөгдлийг дамжуулах замаар үр дүнг хүлээж авах болно. Тиймээс кодын өөр нэг хэсгийг ажиллуулахыг гаднаас нь эхлүүлсэн тул дуудлага хийгдсэний дараа хяналтын өгөгдлийг дараагийн үйл ажиллагаанд гүйцэтгэх ёстой. Энэхүү механизм нь кодын гүйцэтгэлийн дараалал, хөтөлбөрийн үр дүнг амжилтанд хүргэх боломжийг олгодог.

Код нь санах ойд дуудагдсан бөгөөд дараалан гүйцэтгэгдэнэ. Функцийг (өөр нэг кодыг) дуудахын тулд стек ашигладаг. Энэ юу вэ? Санах ой (мөн түүнд заагч), энэ нь ердийнхөөс ялгаатай бөгөөд дараагийн элемент бүр дээр өмнөх байрлалаас дээш байрлана. Тиймээс доорх бүх хүнийг авахын тулд та үүн дээр байгаа бүхнийг хийж, хийж гүйцэтгэх хэрэгтэй. Заагч нь стек дээр одоогийн байрлалд зааж өгдөг.

Эхлээд буцах хаяг нь дуудлага хийгдсэний дараа дараагийн үйл ажиллагааны хаяг - стек дээр байна. Дараа нь дуудагдсан функцэд шаардлагатай бүх өгөгдлүүдийг байрлуулсан байна. Дуудагдсан функц нь өгөгдлийг сонгож, түүнийг боловсруулж, үр дүнг үүсгэж, стекийн сүүлчийн элемент дээр хяналтыг буцаана. Тушаал: "stack" нь заагчийг өмнөх өгөгдлөөр шилжүүлж, сонгосон "үүнийг" боловсруулдаг.

AX, BX, CX, DX, EX бүртгэлүүд нь мэдээллийн эрин үеийн эрин үеийн бэлгэдэл болсон, харин SP ба SS нь түүний гол сахиус юм. Програмд стек хэрхэн ашиглагддаг вэ? Өнгөрсөн жишээнүүд нь эрин үед үүссэн архитектурын хөшөө болох боломжгүй юм. Энэ стек нь хоёртын ертөнцөд "функц" ба "рекурсион" гэсэн үгстэй хамт орж, програмчлалын дадал зуршлын хөгжлийн ерөнхий логик алга болсон.

Юу хийхийг шийдэхийн тулд өгөгдөлд үйлчилдэг

Тооцоолох механизм нь рекурсив гэх мэт кодын янз бүрийн хэсэгт олон дуудлага хийх боломжтой: функц дуудлага өөрөө. Байгалийн хязгаарлалтууд байдаг: стекийн санах ойн хэмжээ болон код хангалттай байх ёстой. Хэрвээ хөтөлбөр зөв бол, түүний гүйцэтгэл тогтвортой байх болно, шилжүүлэх / буцах хяналтын үнэн зөв байх болно.

Ширээнүүд нь ширээн дээр үйлчилдэг илгээсэн овоолго руу унах үед стек дүүрнэ. Хөлийн хувь заяа, өөрөөр хэлбэл, дүүргэлт нь шилжүүлэгдэж байгаа газарт шийдэгддэг. Харилцааны харилцааны логикоор бол "юу гэж байгаа вэ?" Багыг дуудсан хүн хоёрын хооронд урьдчилан тохиролцоонд өгдөг. Үйл явц дууссаны дараа стекийг хүснэгтэд илгээж дараагийн хаягийг хянахын тулд хянах хэрэгтэй.

Маш энгийн, үр дүнтэй логик. Шийдвэрийг хэрхэн хийдэг вэ - функцын функц, хүлээн авсан өгөгдөлтэй хэрхэн харьцах талаархи асуудал - түүний санаа зовоосон асуудал, ямар хүснэгтийг өгөгдлөөр нь дамжуулах вэ гэдгийг анхаарах нь хамгийн чухал асуудал бол удирдлага дараа дуудлагын дараа дараагийн үйл ажиллагаанд буцаж ирэх явдал юм. Функц нь зөвхөн рекурсээр зөвшөөрөгдсөн бол өөрөө дуудаж болно. Харин өгөгдлийг стек дээр тавьсан тохиолдолд рекурс хийх боломжтой.

Үндсэн хийсвэрлэлүүд

Өдөр тутмын болон практик нь виртуаль хэтийн төлөвийг үндэс болгодог бол тухайн хүн бодитой, урт удаан хугацааны амьдрал дээр тулгуурладаг. Цанын стек нь стекийг амьдралаар хангаж, процессор, үйлдлийн систем, програм, функц, өндөр технологийн хамрах хүрээг бий болгосон.

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

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

Даалгавар, нөхцөл байдал, давталт, блок ... операторууд нь семантик төлөвлөгөөнд маш бага өөрчлөлт хийсэн боловч синтакс нь хамааралгүй байсан. Удирдлагын програмчлалын хэлний тэмцэл нь тэдний нэгийг ялж чадаагүй юм. Энэ хэрэгсэл (эмхэтгэгч / хэлмэрч / бүрхүүл) зүгээр л ажиллах ёстой, тогтвортой, бүрэн ажиллагаатай байх ёстой бөгөөд яаж бичих, ашиглах нь програм зохиогч биш харин хэлний зохиогч юм.

Стак нь төлөөлөгчид, технологийг хөгжүүлэх дэлхий дахины үйл явцын шинэ утга агуулгыг олж авсан. Маягт дахь хувьсагчууд нь бие биедээ давхацдаг бөгөөд алгоритмууд болон операторууд хоорондоо нэгтгэгддэг. Ихэнх тохиолдолд та протокол стекийн талаар сонсож болно.

Stack, functionality, recursion нь ижил утгатай биш боловч тэд бие биенээ нөхөж, мэдээллийг танилцуулах, боловсруулах өвөрмөц сонголтуудыг үүсгэдэг.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mn.atomiyme.com. Theme powered by WordPress.