Mga computerProgramming

"Ano ba ang" ito ay sa stack, "na ito" ay dumating pabalik: abstract na pundasyon ng katotohanan

Marahil sa ilang mga hinaharap na computing negosyo kalimutan ang tungkol sa mga bago at mga zero, at processors ay hindi gumana sa bytes at mga salita, ngunit sa ngayon ang lahat ng bagay ay kinakatawan binary mundo at mabuhay sa pamamagitan ng kanyang mga patakaran. Ano ang stack at kung saan ito ay sumasaklaw - ay malamang na maging ganap na malinaw. Kasing aga ng simula ng kanyang hitsura ay ang unang processor registers, at ang logic ng kanyang trabaho ay nangangailangan ng memory. Bilang isang resulta ng mga simpleng ideya stack "na ito" ay naging ang de facto "kung kinakailangan."

Function processor, binary na lohika

Ang processor kumokontrol sa memorya at nagpapatupad ng isang cyclic code pagpapatupad logic. Ang programa - isang one o isang hanay ng mga pag-andar na kumakatawan sa isang pagkakasunod-sunod ng mga operasyon: upang pumili ng isang bagay na gawin ito ay upang ilagay ang isang bagay. Operating system - ang parehong code, mas responsable: ito ay inutos upang maipatupad at kontrolin ang ibang mga programa.

Sa totoo lang gumana (algorithm independiyenteng elemento) - lamang ng isang pagkakasunod-sunod ng binary operasyon. Ang programa ay naiiba mula sa mga function na napagtanto mismo at coordinate ibang bahagi ng code.

Mga tinatanggap na disenyo algorithm bilang isang pagkakasunod-sunod ng mga hiwalay at natatanging mga elemento. Ang bawat nagdadala ng sarili nitong (karaniwan ay lamang ng isa) function na - ito ay maginhawa para sa debugging, visual, praktikal. programming na ito ay nagbibigay-daan upang gawing simple ang proseso ng pag-unlad, upang lumikha ng isang library ng mga algorithm at gamitin ang mga ito sa ibang mga proyekto.

Pagpapadala at Ibinabalik Management

Ang programa ay tawag ang function, pagpasa nito ang data, kinakalkula ang resulta. Dahil ang pagpapatupad ng iba pang mga bahagi ng code ay sinimulan mula sa labas, dahil ang pagbabalik ng kontrol ay dapat na ginanap sa susunod na tawag para sa mga operasyon. mekanismo na ito ay ibinigay sa pamamagitan ng pagkakasunud-sunod ng code pagpapatupad at ang tagumpay ng mga resulta ng programa bilang isang buo.

Code ay ikinarga sa memorya at pinaandar nang sunud-sunod. Upang tumawag sa isang function (isa pang piraso ng code), ang stack ay ginagamit. Ano ito? Memory (at isang puntero sa ito), na kung saan ay naiiba mula sa ordinaryong sa na ang bawat sunud-sunod na elemento ay nakalagay sa ibabaw ng isang nakaraan. Dahil upang makakuha ng sinuman na ay mas mababa, kailangan mong gawin upang gumana at ang lahat na tumatahan doon. Pointer laging tumuturo sa kasalukuyang posisyon sa stack.

Sa una, ang stack ay nakakakuha ng return address - ang address ng pagsunod sa mga operasyon tawag. Pagkatapos ay upang ilagay ang lahat ng mga kinakailangang data para sa tinatawag na function. Ang tinatawag na pag-andar pinipili ang data, na maproseso ang mga ito, at bumubuo ng mga resulta nagbabalik control sa huling elemento ng stack. Team: "isalansan ito" gumagalaw ang pointer sa naunang ibinigay, at pinili ang "ito" ay napupunta sa processing.

Registers palakol, BX, cx, DX, EX ay naging isang simbolo ng simula ng panahon ng edad ng impormasyon, ngunit ang SP at ang SS - ay ang pangunahing maskot. Paano gamitin ang isang stack ng programming? Mga halimbawa ng nakaraan ay hindi magiging monuments ng architecture ng sinaunang panahon. Stack ay dumating sa binary mundo, kasama ang mga salitang "function na" at "recursion" at nawala sa pangkalahatang logic ng programming kasanayan.

Ihatid ang data upang magpasya kung ano ang gagawin

Stacking mga mekanismo ay nagbibigay-daan sa maramihang mga tawag sa iba't ibang bahagi ng code, kabilang ang recursion: isang function tawagan mismo. May mga natural na mga limitasyon: ang laki ng memorya para sa mga stack at isang code ay dapat sapat. Kung ang program ay tama, pagkatapos ay ang pagganap nito ay magiging matatag, transfer / return pamamahala - eksakto.

Stack ay puno na, bilang ang plate hindi nagsasabi ng totoo sa isang tumpok, na kung saan ay ipinadala sa maglatag ng talahanayan. Ang kapalaran ng mga plates, samakatuwid nga, ang kanilang mga nilalaman, ay lutasin sa isang lugar kung saan ito ay ipinadala. Ayon sa lohika ng pakikipag-ugnayan, ang koponan "stack, ito" ay nagbibigay ng isang pre-isagawa ito sa pagitan ng mga taong tinatawag na, at ang mga tinawag ay inaring. Sa pagkumpleto ng mga proseso na ito ay mahalaga upang ibalik ang kontrol sa address na pagsunod sa isa na nagpadala ng stack sa talahanayan.

Very simple at epektibong logic. Ano ang nasa mesa, pati na ang desisyon ay ginawa - ito function bilang ito goes sa mga natuklasan - ang kanyang pag-aalala sa kung ano ang talahanayan ipapadala nito ang isang stack ng data - aalaga nito, ang pangunahing bagay ay upang palaging bumalik control sa susunod na hamon para sa operasyon. Ang function na ay maaaring tumawag mismo lamang kung ito admits recursion, ngunit recursion ay posible lamang kung ang data ay nabibilang sa mga stack.

Ang pangunahing abstraction

Kapag ang ordinaryong at nagiging batayan ng isang praktikal na pananaw, halos, kami ay maaaring makatwirang inaasahan na maging layunin, at mahabang buhay ng huli. Ang isang stack ng mga plates nagbigay ng kapanganakan sa stack, at ang stack ibinigay processors trabaho, mga operating system, mga programa, mga pag-andar, at high-tech na sektor bilang isang buo.

Klasikong kaso ay ang batayan ng isang simple, ngunit bihirang kaso kapag maaari itong tinatayang na walang laman di-pagkakasundo tungkol sa syntax, semantika, programming kaayusan at prayoridad sa paglaban para sa kaligtasan ng buhay ng wika.

Bahagyang pati na ang memory ng cell, at ito ay nanatili sa araw na ito, ngunit iyon ang ideya ng ito ay nagbago. Lakas-Loob na pagpasa sa pamamagitan ng makapal ng malakas na pag-type, sila ngayon-claim na ang isang bagay na maaaring maging anumang bagay at i-hold sa tunay na memorya ng anumang bagay, dahil ito ay medyo mahalaga.

Assignment operator, mga kondisyon, loops, mga bloke ... transformed mas maliit sa mga tuntunin ng kahulugan nito, pati na rin, ang syntax para sa isang mahabang oras ay hindi mahalaga. Fight para sa mga ideals ng programming wika ay hindi bibigyan ng isang pagkakataon upang manalo ng isa sa kanila. Tools (compiler / interpreter / shell) ay obligado na lang magtrabaho, maging matatag at ganap na tampok, at kung paano at kung ano na magsulat / paggamit - alaga ng mga programmer, hindi ang wika ng mga may-akda.

Stack ay nakuha ng isang bagong kahulugan sa global proseso ng pag-unlad ng mga ideya at teknolohiya. Ang mga variable sa anyo kung saan Maginhawang sila ay superimposed sa bawat isa, at algorithm at mga operator ay kasama sa isa't isa. Maaari mong madalas na marinig ang tungkol sa mga protocol stack, kapag isa ay nagbibigay ng isang iba't ibang mga trabaho.

Stack, pag-andar at recursion - hindi magkasingkahulugan, ngunit sila ay pambuo sa bawat iba pang mga ganap na, na nagpapahintulot sa iyo upang lumikha ng mga natatanging mga bersyon ng pagsumite at pagproseso ng impormasyon.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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