TietokoneetOhjelmointi

"Mikä tämä" tuli pinoon, "mikä se" tuli takaisin: todellisuuden abstrakti perusta

Ehkä jossakin tulevaisuudessa tietotekniikkaliiketoiminta unohtaa nollat ja ne, ja jalostajat eivät käytä tavuja ja sanoja, mutta toistaiseksi kaikki on edustettuna binäärisessä maailmassa ja elää sen sääntöjen mukaan. Mikä on pino ja missä sitä käytetään - todennäköisimmin se ei ole aivan selvä. Jopa ulkoasuaan ensimmäisellä prosessorilla oli rekisteriä, ja sen toiminnan logiikka tarvitsi muistia. Yksinkertaisten ideoiden toteuttamisen seurauksena pino "mitä se on" on tullut de facto "niin tarpeelliseksi".

Toiminnot, prosessori, binäärinen logiikka

Prosessori hallitsee muistia ja toteuttaa syklisen koodin suorituksen logiikan. Ohjelma on yksi tai joukko toimintoja, jotka edustavat toimintosarjaa: valitse jotain, tee niin, laita jotain siihen. Käyttöjärjestelmä on myös vastuullisempi koodi: sitä kehotetaan suorittamaan ja seuraamaan muita ohjelmia.

Itse asiassa funktio (algoritmin itsenäinen elementti) on vain binääritoimintojen sekvenssi. Ohjelma poikkeaa toiminnasta siinä, että se toteuttaa itsensä ja koordinoi koodin muita osia.

Algoritmi on suunniteltu kehittymään erillisten itsenäisten elementtien sarjana. Jokainen suorittaa oman (yleensä vain yhden) toiminnon - se on kätevä virheenkorjaus, graafisesti, käytännössä. Tällainen ohjelmointi mahdollistaa kehitysprosessin yksinkertaistamisen, algoritmien kirjastojen luomisen ja niiden käyttämisen muissa projekteissa.

Siirto ja palautus

Ohjelma kutsuu toiminnon ja läpäisee sen datan odottaa saavansa tuloksen. Tällöin koodin toisen osan suorittaminen aloitetaan ulkopuolelta, joten ohjauksen palautus on suoritettava seuraavalle operaatiolle puhelun jälkeen. Tämä mekanismi takaa koodin suorittamisen järjestyksen ja ohjelman kokonaistuloksen saavuttamisen kokonaisuudessaan.

Koodi ladataan muistiin ja suoritetaan peräkkäin. Toiminnon kutsuminen (toinen koodikappale) käytetään pinoa. Mikä tämä on? Muisti (ja osoitin siihen), joka poikkeaa tavallisesta, koska jokainen seuraava elementti on sijoitettu edellisen osan yläpuolelle. Siksi, että saat kaikki sen alapuolella, sinun on otettava ja selvitettävä kaiken sen yläpuolella. Osoitin osoittaa aina pinon nykyisen sijainnin.

Alun perin palautusosoite on pinoon - seuraavan operaation osoite puhelun jälkeen. Sitten kaikki kutsutulle toiminnolle tarvittavat tiedot sijoitetaan siihen. Kutsu-toiminto valitsee tiedot, käsittelee sen, tuottaa tuloksen ja palauttaa valvonnan pinon viimeiselle elementille. Komento: "pino, että se" siirtää osoitinta edelliseen annettuun, ja valittu "se" menee käsittelyyn.

AX-, BX-, CX-, DX- ja EX-rekistereistä on tullut tietojakauman alkuaikana eräänlainen symboli, mutta SP ja SS ovat sen tärkein talisman. Miten pinoa käytetään ohjelmoinnissa? Esimerkkejä menneisyydestä ei tule aikakauden alun arkkitehtuurin muistomerkkejä. Pino tuli binääriseen maailmaan sanojen "funktion" ja "rekursiivisen" kanssa ja katosi ohjelmointikäytännön kehityksen yleiseen logiikkaan.

Tietojen antaminen päättää, mitä tehdä

Pinoamismekanismi sallii useita puheluja koodin eri osiin, mukaan lukien rekursiot: toiminnallinen puhelun itse. Luonnollisia rajoituksia on olemassa: muistin koko ja pinon on oltava riittävät. Jos ohjelma on oikein, sen toteutus on vakaa, siirto / palautusohjaus - tarkka.

Pino on täynnä, kun levyt putoavat paaluun, joka lähetetään palvelemaan pöytää. Levyjen kohtalo, eli niiden täyttö, päätetään paikasta, jossa se siirretään. Vuorovaikutuksen logiikan mukaan tiimi "pinoa sen, mikä se on" antaa ennalta sovitun nimen välille sen, joka soitti ja jota hän kutsui. Kun prosessi on valmis, on tärkeää palauttaa hallinta osoitteen viereen lähetyksen jälkeen pöydälle.

Erittäin yksinkertainen ja tehokas logiikka. Mitä pöydällä tehdään, miten päätös tehdään - funktio, miten se käsittelee vastaanotettuja tietoja - huolenaihe, mihin pöytään se lähettää tietonsa - huoli, tärkeintä on se, että hallinnointi palaa aina seuraavaan operaatioon puhelun jälkeen. Toiminto voi kutsua itseään vain, jos se sallii rekurssin, ja rekursiota on mahdollista vain, jos tieto asetetaan pinoon.

Perusteelliset abstraktiot

Kun päivittäinen ja käytännöllinen tulee virtuaalisen näkökulman perusta, voidaan kohtuudella luottaa jälkimmäisen objektiivisuuteen ja pitkäikäisyydestä. Pino embaista antoi elon pinoon, ja pino tarjosi prosessien, käyttöjärjestelmien, ohjelmien, toimintojen ja korkean teknologian laajuuden yleensä.

Klassinen tapaus, jossa yksinkertaisuus tuli pohjaksi, mutta harvinainen tapaus, kun se voidaan arvioida ilman tyhjiä argumentteja syntaksista, semantiikasta, ohjelmointimekanismeista ja painopisteistä selviytymisen kielten taistelussa.

Muuttujat, kuten muistisolu, pysyivät tähän päivään asti, mutta nyt ajatukset siitä ovat muuttuneet. Luotettavasti läpi tiukan typistämisen kuumuuden, he sanovat nyt: jotain voi olla mitä tahansa ja ottaa mitään todellisessa muistissa, koska se ei ole lainkaan tärkeä.

Tehtävä, ehto, silmukka, lohko ... operaattorit muunnetaan paljon vähemmän semanttiseen suunnitelmaan, mutta syntaksi on pitkään ollut merkityksetön. Ohjelmointikielten taistelu ihanteista ei antanut mahdollisuutta voittaa yhtä niistä. Työkalu (kääntäjä / tulkki / kuori) on yksinkertaisesti työskenneltävä, oltava vakaata ja täysin toimivaa, ja miten ja mitä kirjoittaa / käytä on ohjelmoijan huoli, ei kielen kirjoittaja.

Stack on saanut uuden merkityksen tässä maailmanlaajuisessa prosessissa esitysten ja teknologioiden kehittämisessä. Muuttujat muodossa, jossa ne ovat käteviä, kerrotaan toisiinsa, ja algoritmit ja operaattorit sisällytetään toisiinsa. Usein voit kuulla protokollapinoista, kun toinen antaa toisen työn.

Pinoaminen, toiminnallisuus ja rekursio eivät ole lainkaan synonyymisiä, mutta ne täydentävät täydellisesti toisiaan, joten voit luoda ainutlaatuisia vaihtoehtoja tietojen esittämiseen ja käsittelyyn.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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