Linux E X P R E S

Facebook

Programovanie v jazyku C++: Príkazy break a continue

cplusplus.png

V článku sa budeme zaoberať dvoma príkazmi, ktoré patria do základnej konštrukcie jazyka C++. Pôjde o príkazy break a continue.


Príkaz break

Stáva sa vám, že ste v nejakom cykle a ak nastane nejaká udalosť, tak je najvhodnejšie vystúpiť z cyklu skôr, než samotný cyklus skončí. Na urýchlený odchod z cyklu využijeme príkaz break.

1. príklad: Použitie príkazu break

#include <iostream>   // hlavičkový súbor
 
 using namespace std;  // priestor mien
 
 int main()  // hlavná funkcia
 {
         int cislo1 = 5;  // deklarácie premenných
         int vysledok = 25;
         int iteracia = 0;
 
         cout << "Som program, ktory ukaze, kolko krat treba vynasobit cislo "<<cislo1<<" 
samo sebou, aby vysledok dosiahol hodnoty povedzme 1000.\n";  // výstup na obrazovku
 
         for (int i = 2; i < 1000; i++)   // cyklus
         {
                 vysledok = vysledok * cislo1;
 
                 if (vysledok >= 1000)
                 {
                     iteracia = i;
                     break;   // využitie príkazu break
                 }
         }
 
         cout << "Na hodnotu 1000 som musel iterovat minimalne "<<iteracia<<" krat.\n";
 
         return 0;  // koniec programu
 }

Výsledok programu: 

Som program, ktory ukaze, kolko krat treba vynasobit cislo 5 samo sebou, aby vysledok dosiahol hodnoty povedzme 1000.

Na hodnotu 1000 som musel iterovat minimalne 4 krat.

Rozbor programu:

Ak sa pozriete na program, tak zistíte, že sa podobá na úlohu s mocninami. Narozdiel od mocniny, teraz počítame počet iterácii násobenia čísla seba samým, pokým nedosiahne hodnotu 1000.

Takže, začíname číslom 5. Vynásobíme ho seba samým, čiže výsledok je 25 a počet iterácii je 1.

V druhej iterácii vyjde z 25 * 5  = 125.

V tretej iterácii máme 125 * 5 = 625.

Vo štvrtej iterácii získame 625 * 5 = 3125. Po tejto iterácii bola splnená spomienka. V tele podmienky máme príkaz break. Tento príkaz spôsobí, že sa program opustí cyklus a pokračuje sa ďalej v programe.



Príkaz continue

Predstavte si, že chcete akútne niekde v cykle spýtať sa, či podmienka cyklu ešte platí. Príkaz continue to dokáže. Jeho úlohou je stopnúť ďalšie vykonávanie cyklu a na rozdiel od break, continue zabezpečí, aby sa vykonala rozhodovacia fáza cyklu. Pod rozhodovacou fázou cyklu samozrejme myslíme starý známy test podmienky cyklu.

2. príklad: Testujeme príkaz continue

#include <iostream>
 
 using namespace std;
 
 int main()
 {
         cout << "Odpocitavam!\n";
 
         for (int i = 10; i >= 0; i--)
         {
                 if (i <= 5)
                 {
                     cout << "Nastala chyba!\n";
 
                     continue;  // využitie príkazu continue
                 }
 
                 cout << "Cas: "<<i<<"\n";
         }
 
         return 0;
 }

Výsledok programu:

Odpocitavam!
 Cas: 10
 Cas: 9
 Cas: 8
 Cas: 7
 Cas: 6
 Nastala chyba!
 Nastala chyba!
 Nastala chyba!
 Nastala chyba!
 Nastala chyba!
 Nastala chyba! 

Rozbor programu:

Cyklus v programe začne odpočítavať od hodnoty 10. Akonáhle dôjde k hodnote 5, tak sa spustí podmienka s príkazom continue. To znamená, že zvyšok cyklu sa odignoruje a začne sa testovať podmienka cyklu.

3. príklad: Druhá úloha na príkaz continue

#include <iostream>
 
 using namespace std;
 
 int main()
 {
         for (int i = 1; i <= 10; i++)
         {
             if (i % 2 == 0) continue;   // test, či j číslo parne a využitie príkazu continue
             cout << "Vysledkom nasobenia cisla "<<i<<" s cislom "<<i<<" je "<<i*i<<"\n";
         }
 
         return 0;
 }

Výsledok programu:

Vysledkom nasobenia cisla 1 s cislom 1 je 1
Vysledkom nasobenia cisla 3 s cislom 3 je 9
Vysledkom nasobenia cisla 5 s cislom 5 je 25
Vysledkom nasobenia cisla 7 s cislom 7 je 49
Vysledkom nasobenia cisla 9 s cislom 9 je 81

Rozbor programu: 

Program je nastavený s pomocou príkazu continue tak, aby len nepárne čísla boli násobené.





Diskuze (2) Nahoru