Nolla ohje

Vuonna ohjelmointi , eli nolla ohje (tai tyhjä ohje ) on erityinen ohje , joka kertoo tietokoneen ryhdy mihinkään toimiin.

Konekieli

Monien prosessorien käskyjoukossa toteutetulla null-käskyllä on ainoa vaikutus, joka lisää järjestyslaskuria . Siksi prosessori jättää sen huomiotta ja siirtyy seuraavaan käskyyn.

Se symboloi kokoonpanimessa muistinopea NOP .

Pascal

Pascalissa nolla-käsky on käsky, joka ei sisällä mitään symbolia. Se on tyhjä ohje.

Esimerkiksi koska käskyt erotetaan puolipisteillä, kaksi peräkkäistä puolipistettä itse asiassa rajaavat nollakäskyn.

Begin-EndOhjelmoijat, joilla on tapana noudattaa kaikkia ohjeita puolipisteellä, jopa viimeinen, lisää (usein tiedostamattomasti) tyhjän käskyn lohkossa olevan komentosarjan loppuun.

Väärä puolipiste voi aiheuttaa sekaannusta:

while n > 0 do ; begin n := n - 1 ; f := f * n ; end

Tässä esimerkissä virheellisesti lisätty puolipiste doosoittaa, että silmukassa toistettava whilekäsky on nolla-käsky. Lohko Begin-Endsuoritetaan vasta silmukan päättymisen jälkeen (joten ei koskaan, jos n on ehdottomasti positiivinen, koska se on itse asiassa ääretön silmukka ). Toisaalta hyödytön puolipiste lohkon toisen rivin jälkeen on vaaraton ja lisää siihen vain tyhjän käskyn ilman vaikutusta.

Toisin kuin edellisessä esimerkissä, voi olla hyödyllistä laittaa tyhjä käsky silmukkaan odottamaan ehdon olevan totta ennen kuin jatkat suorittamista:

repeat until KeyPressed

tai

while not KeyPressed do

Mutta jos haluamme seurata yllä olevaa silmukkaa käskyllä, emme saa unohtaa lisätä puolipistettä. Kääntäjä havaitsee unohduksen ensimmäisessä tapauksessa, mutta toisessa se pitää seuraavaa käskyä osana silmukkaa.

VS

Seuraava koodi on esimerkki yksinkertaisesta C-käskystä, joka käyttäytyy kuin nolla-käsky.

i+1;

Tämä ohje suorittaa lisäyksen ja ohittaa tuloksen. Itse asiassa, ohjeita, jolla ei ole sivu- vaikutusta (ja joka ei vaikuta ohjaus virtaus, kuten breaktai return) voidaan poistaa, koska tulos laskenta ohitetaan.

Todellinen nollakäsky C: ssä on yksinkertaisin mahdollinen käsky. Se koostuu yhdestä puolipisteestä ja se voidaan sijoittaa mihin tahansa, missä opetusta tarvitaan.

;

Toinen, ehkä helpommin luettavissa oleva ratkaisu on käyttää tyhjää lohkoa:

{}

Joissakin tapauksissa, kuten funktion rungossa, tarvitaan lohko, mutta se voi olla tyhjä.

Nolla-lause on yksinään tarpeeton, mutta se voi olla syntaktisesti hyödyllinen laajemmassa kontekstissa, esimerkiksi silmukassa:

while (getchar() != '\n') ;

tai lyhyesti:

while (getchar() != '\n');

tämä kirjoitustapa voi kuitenkin olla hämmentävää, koska puolipiste voi usein jäädä huomaamatta.

Toinen mahdollinen, ehkä luettavampi ratkaisu:

while (getchar() != '\n') {}

Yllä oleva koodi toistaa getchar () -funktion kutsua, kunnes se palauttaa merkin \n( rivin loppu ), mikä saa standardisyötön lukemisen etenemään seuraavan rivin alkuun.

Huomaa: Käytännössä useimmat C-kääntäjät eivät luo konekoodia nollakäskyille, ei edes yhdelle NOP. Usein he kuitenkin varoittavat ensimmäisen esimerkin kaltaisen tehottoman lausunnon olemassaolosta.

Muut kielet

  • Fortran  : KäskylläCONTINUE , joka liittyy tunnisteeseen ja toimii haarakäskyn päätepisteenä, ei ole vaikutusta, ja sitä voidaan pitää Fortranin nolla-käskynä.
  • BASIC  : BASIC-ohjelmassa ei ole tyhjää käskyä, mutta komento REM, jota käytetään kommentin kirjoittamiseen, voi olla rooli.
  • Ada  : Adan nollaohje on NULL.
  • Perl  : Vuonna Perl , The ' ...' kolme pistettä selvitys on lisätty syntaksin visuaalisesti edustamaan puuttuu koodi, joka täytyy lisätä myöhemmin.
  • Python  : Pythonin käsky passon tyhjä käsky.

Huomautuksia ja viitteitä

  1. Laskettua arvoa ei käytetä [1]

Katso myös

Aiheeseen liittyvät artikkelit