RačunalnikiProgramska oprema

Turbo Pascal. Medtem ko ... do - zanka z predpogoj

Turbo Pascal, čeprav je ni na svetu priljubljena aplikacija za programiranje, vendar ustvarjalci, ki svoje prve korake v pisni obliki programske opreme, začnejo svoje poznanstvo s tem mediju. To daje idejo o posledicah, operaterji, funkcij in postopkov, kot tudi mnoge druge stvari. Na primer, v obraz ciklov študija programer v Turbo Pascal: Medtem, Za in ponavljanje.

Koncept ciklusa in njenih variant

Cikel je dobesedno dejanje. V tem okolju, uporabi:

  • s parametrom (Za ... do ... opravil);
  • s predpostavko (medtem ko ... Ne);
  • postcondition (ponovite ... do).

Prvi tip se uporablja, ko je bilo znano, kako veliko korakov pri reševanju problema. Vendar pa obstajajo številne naloge, kjer ni informacij o tem, kolikokrat se ponovi ali je bilo dejanje. V tem primeru, Pascal Medtem cikel nepogrešljiva, kot je, načeloma, in ponovite.

Struktura cikla

Kaj je bistvo dela v Pascal, medtem ko iz in ponovite ciklov? V takih konstrukcij dodeli glavo in telo. Prvi del navedenih spremenljivk, da bo "delo" so določene s pogoji za obdobje veljavnosti, na katerega se bodo izvajale telo. V drugem delu predpisanih izrazov, ki se uporabljajo v primeru pogoja, tj. E. True The namesto False The.

Ko je ponovitev izvaja v zadnji vrstici kode, nato pa se vrne v glavo, če se stanje testiran. Če se operacije resnice ponovi in v primeru kakršne koli kršitve programa "Izhod" iz cikla in izvaja nadaljnje operacije.

Sledi pogled, medtem ko zanke. Pascal ABC in takšni programi zahtevajo pisno takšno kodo:

  • Medtem stanju storiti;
  • Začnite;
  • Telo zanke;
  • End.

V primeru, da se bo zanka izvedli 1 operaterja (1 ukrep), nato pa "oklepaju» začetek ... konec se lahko izpusti.

diagram poteka cikel

Turbo Pascal Med naslednjimi značilnostmi:

  • notranjosti strukture, je težko uporabljati pogoje;
  • besedo, ne bi morala biti vejica (to se šteje za napako v Turbo Pascalu in Pascal ABC);
  • spremenljivka, konstanta ali izraz, ki služi, ko mora odgovoriti False jim izhodne procedure nujno logični tip, tj. e. logična.

To je naslednji blok diagram cikla sorte. To kaže zaporedje ukrepov za izvajanje.

Algoritem cikla

.. V najpreprostejši programskih okolij, m in h v Pascal ABC, Medtem ko je zanka deluje na naslednjem načelu:

  • .. Glede ponovitev, kar pomeni, ponavljanje, bo potekalo, kot tolikokrat, dokler je pogoj izpolnjen (true);
  • takoj, ko je pogoj ni izpolnjen, in daje False odgovor (ali drugače "False"), operaterja iz zanke;
  • takoj, ko se je to zgodilo, program "šel" v motiv po ciklusu.

To je pomembna razlika od Čeprav Ponovi, t. E. predhodnega cikla od postconditions.

Pomembno je, da se v zanke končnih sprememb v določenem spremenljivo glave Medtem ko vključujejo. V vsakem primeru je treba kdaj prišel v položaj, ki omogoča, da ne drži. V nasprotnem primeru bo prišlo do zanke, nato pa so, da sprejmejo dodatne ukrepe za izhod iz prevajalnik. Takšne napake se štejejo nesramen in neopravičljivo.

Kako zapreti program med kolesarjenjem?

Pogosto je situacija nastane, ko operater daje medtem ko Pascal zanko v pisni programske kode. Kaj to pomeni? Ponovitev se ponavlja neskončno število krat, saj je stanje vedno drži. Na primer, ta koda fragment:

  • Medtem 2> 1 narediti;
  • Write (1).

V tem primeru, da se prekine izvršitev naloge, samo pritisnite CTRL + F2.

Obstajata 2 načina za nadzor obnašanje takšnega programa. Na primer, če je pisanje Naprej kodo, ki poteka nadzor na začetku ciklični strukturi (tu izstopa stanje zanka se spremlja, tj. Izvedba E trenutne iteracije je prekinjen). Potem se nadzor prenese v while v prejšnjem testu.

Break operater lahko prekine izvajanje celotnega cikla in prenos nadzora na naslednjo ponovitev. Tukaj ne bo nadzorovan izhod gradnje. Slika prikazuje primere uporabe teh subjektov.

Soočanje z izzivi

Razmislite med delovanjem cikla. Pascal predlaga za rešitev problema spreminjati. Oglejmo si preprost za razumevanje delovanja. Rešene naloge v programu Pascal ABC. Ampak bodo predstavljeni in podoba klasične Turbo Pascal okolje za primerjavo.

Naloga 1: glede na funkcijo Y = 5-X ^ 2/2. Ustvari tabelo vrednosti v korakih sh = 0,5 v intervalu [-5, 5].

Algoritem je:

  • nastaviti spremenljivko X na začetno vrednost je enaka 5 (tj začetku reže ..);
  • izračun vrednosti y, medtem ko je spremenljivka x ne pridejo do konca omenjenega intervala;
  • prikaz vrednosti funkcije in absciso (X);
  • X povečan za vnaprej določeno stopnjo.

Tukaj je koda v programu Pascal ABC.

Kako kodo v programu Turbo Pascal. Spodnja slika prikazuje to.

Naloga 2: glede na vrsto, ki ga sestavljajo celotno pozitivnimi in negativnimi števili. Vsebuje 10 postavk. Potreba, da se tvori matrico, v kateri so prikazane pozitivne elemente matrike A ima tudi indeks. Prikaz vsoto kvadratov števila novih matrice.

Algoritem je:

  • Morate napisati rutino, ki bo "delo" samo z elementi matrike A, ki ima tudi indeks. V zanki bo spremenljivo vrednost, ki ustreza pariteti indeks poveča za dva.
  • Če je število sodo indeks iz matrike A ustreza pogoju x> 0, se števec matrika spreminjajo za 1. Sedanja vrednost števca bo indeks številu kopij v matriki B.
  • Sprva je spremenljivka summa, je odgovoren za iskanje vsoto kvadratov naravnih števil, ki je nastavljen na 0. Nato bo operacija izvaja: na prejšnji vsoti se doda novo vrednost kvadrata.
  • Ne boj se, če ni vse pozitivne številke preselil iz enega polja v drugo. Moraš biti previden. Mnogi začetniki programerji na novo napisati kodo v paniki. Zato je treba skrbno preučiti stanje: pozitivne številke, ki so na celo "lokalno", tj z indeksi, ki so večkratniki števila 2 ...

Navodilo za sledenje, ki so potrebni za zagotovitev, da izračun zvestobe. Včasih se lahko na ta način ugotoviti napake, ki ne lovijo oko pri običajni pregled pisnega kode.

Če imamo opraviti ročno izračune, je mogoče, da se zagotovi, da program pravilno deluje. To pa je povedal, da je generiranje kode algoritem pravilno, zaporedje ukrepov vodi do logičnega konca.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sl.delachieve.com. Theme powered by WordPress.