přejít na obsah přejít na navigaci

Linux E X P R E S, Programovanie v jazyku C++: Príkazy break a continue

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é.





Sophos

Nahoru

Příspěvky

Petr Valach Programovanie v jazyku C++: Príkazy break a continue
Petr Valach 21. 04. 2017, 23:27:52
Odpovědět  Odkaz 
Již déle jak rok, prakticky co dva týdny, běží Edův seriál!
Neuvěřitelné!

Připomínám, že Eda Boldižár pochází z naší redakce ExoSpace.cz a máme ho všichni rádi.
Re: Programovanie v jazyku C++: Príkazy break a continue
MinercraftKing 22. 04. 2017, 13:40:23
Odpovědět  Odkaz 
Redaktor vyznava lasku jinemu redaktorovi :D :D To sem jeste nevidel. :D

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 25 rokov. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity



Public Relations

Vysvětleme si internet

TELE3Možná jste až do této chvíle vůbec netušili, že existuje něco jako DNS servery. A to navzdory tomu, že se s těmito při používání internetu dnes a denně setkáváte a nemůže tomu být ani jinak. Protože nebýt těchto, nebyl by internet internetem.

Pokračování ...



Public Relations

SOS Security Week - interaktivní webináře

SophosOblíbený Security SOS Week je zpátky! … na přelomu června a července proběhne další ze série Security SOS Week, která vám pomůže zjistit, jak efektivně ochráníte vaši IT infrastrukturu před hackery a že malware je zpět v plné síle a i bezpečnost vašeho soukromí má dvě strany jako mince.

Pokračování ...


Redakční blog

Pavel Fric

Pavel Fric, 21. August

Sayonara Player 1.5.1

Přehrávač, jak má být. Poslední dobou vývoj šlape


Pavel Fric

Pavel Fric, 26. January

MuseScore 3

První aktualizace třetí řady notačního editoru MuseScore


Redakce

Redakce, 21. December

Pište pro LinuxEXPRES

Baví vás Linux? Pište o něm, není to nic těžkého. LinuxEXPRES hledá nové autory.


Všechny blogy »

Sophos