PočítačeSoftvér

Turbo Pascal. Aj keď ... do - slučka s podmienkou

Turbo Pascal, ale nie je na svete najobľúbenejší aplikácie pre programovanie, ale tvorcovia, aby ich prvé kroky v písaní softvéru, začať ich zoznámenie s týmto médiom. To dáva predstavu o dôsledkoch, operátorov, funkcií a postupov, rovnako ako mnoho ďalších vecí. Napríklad v štúdii programátor tvár cyklov v Turbo Pascal: Kým pre a Repeat.

Pojem cyklu a jeho varianty

Cyklus je opakujúce sa akcie. V tomto prostredí, použite:

  • s parametrom (For ... do ...);
  • s podmienkou (I keď ... do);
  • postcondition (Repeat ... do).

Prvý typ sa používa, keď je známe, koľko krokov pri riešení tohto problému. Avšak, existuje celý rad úloh, kde nie sú k dispozícii informácie o tom, koľkokrát sa bude opakovať, alebo tento úkon. V tomto prípade, Pascal Kým cyklus sa stáva nenahraditeľným, ako je v podstate a opakujte.

štruktúra cyklu

Čo je podstatou práca v Pascal Zatiaľ čo u a opakované cykly? V takýchto konštrukciách vyčleniť hlavu a telo. Prvá zložka zadaných premenných, ktoré bude "pracovať" sa stanovených podmienok, na ktorých doba platnosti, na ktorú bude telo vykonáva. V druhej časti predpísaných výrazov, ktoré majú byť použité v prípade, že stav, napr. E. splnené, namiesto FALSE.

Ak je iterácie vykonáva na posledný riadok kódu, a potom sa vráti do hlavičky, kde je testovaná podmienka. Ak sú pravda operácie opakujú, a v prípade akéhokoľvek porušenia programu "Exit" z cyklu a vykonáva ďalšie operácie.

Takto vyzerá while. Pascal ABC a tieto programy vyžadujú písania tohto kódu:

  • Kým stavu robiť;
  • začať;
  • Telo cyklu;
  • Koniec.

V prípade, že slučka sa bude vykonávať 1 operátora (1 akciu), potom "konzol» začína ... koniec môže byť vynechaný.

Vývojový diagram cyklu

Turbo Pascal Kým nasledujúcimi rysy:

  • vnútri štruktúry môže byť ťažké používať podmienok;
  • Za slovom robiť nesmie byť čiarku (to je považované za chybu v Turbo Pascal a Pascal ABC);
  • premenná, konštanta alebo výraz, ktorý slúži pri odpoveď falošný výstupnej podprogramy musí byť nutne logický typu, tj. napr. Logická.

To je nasledujúci bloková schéma odrody cyklu. To ukazuje sekvenciu implementačných aktivít.

algoritmus cyklu

.. V najjednoduchšom programovacích prostredí, m a h v Pascal ABC, zatiaľ čo slučka pracuje na nasledujúcom princípe:

  • .. Vzhľadom k tomu, iterácie, teda opakovanie prebehne toľkokrát, kým je podmienka splnená (true);
  • Akonáhle podmienka nie je splnená a dáva False odpoveď (alebo inak "False"), prevádzkovateľovi zo slučky;
  • Akonáhle sa to stalo, program "pokračoval" v návrhu objavuje po cykle.

To je významný rozdiel od Kým Opakujte, t. E. Vopred cyklu z postconditions.

Je dôležité zahrnúť do slučky konečných zmien v danej premennej While hlavičky. V každom prípade by nikdy prísť situácia, ktorá dáva na FALSE. V opačnom prípade bude slučka, a potom budú musieť prijať dodatočné opatrenia k výjazdu z kompilátor. Takéto chyby sú považované za hrubý a neospravedlniteľné.

Ako ukončiť program, zatiaľ čo na bicykli?

Často sa situácia nastane, keď prevádzkovateľ dáva zatiaľ čo Pascal slučku v písomnej časti programového kódu. Čo to znamená? Iterácia sa opakuje nekonečný počet opakovaní, pretože je vždy splnená. Napríklad tento fragment kódu:

  • Kým 2> 1 robiť;
  • Zápis (1).

V takomto prípade prerušiť vykonanie úlohy, stačí iba stlačiť Ctrl + F2.

K dispozícii sú 2 spôsoby ovládania správanie takéhoto programu. Napríklad, v prípade, že zapisovacie pokračovať kód, ktorý odovzdá riadenie začiatku cyklickej štruktúry (v tomto texte je výstupný stav slučky sa sleduje, tj. Prevedenie E aktuálnej iterácii je prerušený). Potom ovládací prvok je prevedená na chvíľu slučke v predchádzajúcom teste.

Operátor prestávka môže prerušiť výkon celého cyklu a preniesť konania na ďalšiu iteráciu. Tu nie je možné ovládať výstup stavby. Obrázok ukazuje príklady použitia týchto operátorov.

čelíme

Zoberme si počas prevádzky cyklu. Pascal navrhuje vyriešiť problém meniť. Pozrime sa na jednoduchý rozumieť operáciu. Riešené úlohy v programe Pascal ABC. Ale budú prezentované a obraz klasické Turbo Pascal prostredie pre porovnanie.

Úloha 1: vzhľadom k funkcii Y = 5-X ^ 2/2. Vytvorenie tabuľky hodnôt v krokoch sh = 0,5 v intervale [-5, 5].

Algoritmus je:

  • nastaviť premennú X na počiatočnú hodnotu rovnú 5 (tj začiatku medzery ..);
  • výpočet hodnoty Y, zatiaľ čo premenná x nedosiahne konca uvedeného intervalu;
  • zobrazia hodnoty funkcie a vodorovnou osou (X);
  • Zvýšenie X o vopred stanovený krok.

Tu je kód v programe Pascal ABC.

Ako funguje kód programu Turbo Pascal. Nasledujúci obrázok ukazuje to.

Úloha 2: daná pole A skladajúci sa z celých kladných a záporných čísel. Obsahuje 10 položiek. Nutnosť vytvoriť matricu, v ktorom sa zobrazujú pozitívne prvky poľa, majúci rovnomernú index. Zobrazenie súčet štvorcov v rade nových matrice.

Algoritmus je:

  • Musíte napísať rutina, ktorá bude "pracovať" len prvky matice A, ktorý má dokonca index. V slučke sa hodnota premennej zodpovedajúci parity indexu zvýšený o dve.
  • Ak je číslo ešte index matice A zodpovedá stavu x> 0, čítač poľa je zvýšená o 1. Aktuálna hodnota počítadla premennej bude index počtu kópií v poli B.
  • Na začiatku je premenná summa, je zodpovedný za nájdenie súčet štvorcov kladných celých čísel, je nastavený na hodnotu 0. Potom, operácia sa vykonáva: na predchádzajúcu súčtu sa pridáva novú hodnotu štvorca.
  • Neboj sa, ak nie všetky kladné čísla premiestniť z jedného poľa do druhého. Musíte byť opatrní. Mnoho začínajúcich programátorov prepísať kód v panike. Je potrebné starostlivo skúmať stav: kladné čísla, ktoré sú na to aj "local", teda s indexmi, ktoré sú násobkami 2 ...

Manuálne sledovanie je nutné, aby sa zabezpečilo, že pri výpočte lojalitu. Niekedy sa pomocou tejto metódy možno identifikovať chyby, ktoré nemajú upútajú pri bežnom kontrole literou zákona.

Ak budeme vykonávať manuálne výpočty, je možné, aby zabezpečili, že program pracuje správne. To zase povedal, že algoritmus generovanie kódu je správny, postupnosť akcií vedie k logickému koncu.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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