CS++
  • Informatika leckék 9-12 osztályosoknak
  • 9. Osztály
    • Bevezetés
    • Az algoritmusok leírásának módszerei
    • Az algoritmusok leírásának elvei
    • Műveletek egész típusú adatokkal
    • Műveletek egész típusú számokkal
    • Műveletek karakterlánc típusú adatokkal
    • Műveletek logikai típusú adatokkal
    • Értékadó műveletek
    • A strukturált programozás alapjai
    • Elemi algoritmusok (pszeudokód)
    • Elemi algoritmusok (C++-ban megírva)
  • 10. osztály
    • C++ programozás a Code::Blocks IDE-ben!
    • A C++ program felépítése, adatok leírása és feldolgozása
    • A C++ nyelv karakterkészlete
    • Adattípusok C++-ban
    • Műveletek C++-ban
    • Operátorok
    • Inkrementáló és dekrementáló műveletek
    • Feltételes műveletek
    • Matematikai műveletek
    • Adatok beolvasása billentyűzetről és kiírása képernyőre
    • Döntések (elágazások, szelekciók)
    • A switch utasítás
    • A for utasítás (számlálós ciklus)
    • A while utasítás
    • A do ... while ciklus
    • Szöveges állományok
    • Egydimenziós tömbök
    • Egydimenziós tömb feltöltése billentyűzetről
    • Egydimenziós tömb kiíratása képernyőre
    • Kétdimenziós tömbök
    • Kétdimenziós tömbök feltöltése billentyüzetről
    • Kétdimenziós tömbök kiíratása képernyőre
  • Credit
    • Logo
Powered by GitBook
On this page

Was this helpful?

  1. 10. osztály

A while utasítás

Programozás során találkozunk olyan helyzetekkel, amikor ugyanazt az utasításokat többször végre kell hajtsa a program, viszont a végrehajtások (iterációk) számát előre nem ismerjük, azaz nem használhatunk számlálós ciklust. Az ismétlődések száma viszont függ egy feltételtől és ennek teljesülésekor következik be az ismétlődés. Ezeket a ciklusokat feltételes ciklusoknak is nevezzük. Ha a ciklus feltétele a ciklus utasításai előtt helyezkedik el, akkor elöltesztelő ciklusról beszélünk. Az elöltesztelő ciklusnak megfelelő utasítás a while utasítás, melynek általános alakja a következő:

while( FELTÉTEL )
{
    UTASÍTÁSOK;
}

Először kiértékelődik a feltétel, ha ennek logikai értéke igaz, akkor végrehajtódnak a ciklus utasításai, különben a vezérlés átadódik a ciklus utáni első műveletnek.

Vigyáznunk kell arra, hogy a ciklus utasításai olyanok legyenek, hogy bizonyos számú ismétlődés után a feltétel hamissá váljon, különben a ciklus végtelen ciklussá válik és hibaüzenettel a program leáll. Az is előfordulhat, hogy a feltétel már az első pillanatban hamis, ilyenkor egyszer sem hajtódnak végre a ciklus utasításai, azaz nem történik meg az iteráció. A feltétel kifejezését kötelezően kerek zárójelek () közé kell írni, ha a ciklus csak egy utasítást tartalmaz, akkor azt nem kötelező kapcsos zárójelek {} közé írni. Kettő vagy annál több utasítás esetén viszont kötelező a kapcsos zárójelek {} használata, különben csak az első utasítást hajtja végre a ciklus.

Egy másik hiba, hogy pontosvesszőt (;) teszünk a feltételt követő zárójel után, melynek következtében nem tudnak végrehajtódni a ciklus utasításai így hibás programhoz jutunk.

Sok esetben több számot kell bevinnünk billentyűzetről. Ha előre ismerjük, hogy hány számot kell bevinni akkor számlálós ciklust használunk, ha viszont nem tudjuk, akkor végjelig történik a számok bevitele.

Példa program

#include <iostream>

using namespace std;

int main()
{
    int n;
    int s = 1;
    
    cout <<"n: "; cin >> n;
    
    while(n != 0)
    {
        s *= n;
        cin >> n;
    }
    
    cout << s;
}

PreviousA for utasítás (számlálós ciklus)NextA do ... while ciklus

Last updated 6 years ago

Was this helpful?