Jazyk C (príklady) - Cykly: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 3: Riadok 3:
 
{{Priklady_ZI}}
 
{{Priklady_ZI}}
  
==Základná tvorba cyklov v jazyku C==
+
==Obsah==
Príkaz cyklu sa používa pre riadenie opakovania nejakého výpočtu. Určuje spôsob a podmienku ukončenia opakovania. Jazyk C pozná tri varianty príkazu cyklu:
+
V tejto kapitole budú ukázané príklady s použitím cyklov. Na pochopenie týchto príkladov je nutné vedieť syntax a sémantiku príkazov while, do-while a for.
*cyklus while  
 
*cyklus do while  
 
*cyklus for  
 
  
 +
===Cyklus while===
 +
Cyklus while je cyklus s podmienkou na začiatku. Pri každom opakovaní cyklu sa najskôr vyhodnotí podmienka a v prípade, že je pravdivá cyklus sa vykonáva (resp. vykonáva sa príkaz v cykle)
  
'''Cyklus While'''
+
<source lang="c">
 +
while(podmienka)
 +
prikaz;
 +
</source>
 +
 
 +
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku. (Toto platí aj pre do-while)
  
Syntax:
 
 
<source lang="c">
 
<source lang="c">
while (výraz)  
+
while(podmienka)
príkaz;
+
{
 +
    prikaz1;
 +
    prikaz2;
 +
}
 
</source>
 
</source>
  
'''Cyklus do while'''
 
  
Syntax:
+
===Cyklus do while===
 +
Cyklus do-while je cyklus s podmienkou na konci. Najskôr sa vykoná telo cyklu (teda prikaz) a na konci syklu sa vyhodnotí pravdivosť podmienky. V prípade ak je podmienka pravdivá, cyklus sa opäť vykoná
 +
 
 
<source lang="c">
 
<source lang="c">
  do
+
do
     príkaz;
+
     prikaz;
  while (výraz);
+
while(podmienka);  
 +
</source>
  
</source>
 
  
'''Cyklus for'''
+
===Cyklus for===
 +
Cyklus for sa používa najmä v prípadoch, ak dopredu poznáme počet opakovaní cyklu.
  
Syntax:
 
 
<source lang="c">
 
<source lang="c">
  for (init ; koniec ; zmena)  
+
for(inicializacia ; podmienka ; vyraz )
prikaz;
+
    prikaz;
 
</source>
 
</source>
  
 +
Pred samotným spustením cyklu sa vykoná inicializácia. Toto sa vykoná len raz. Cyklus sa bude opakovať, pokiaľ je podmienka pravdivá. Ak je teda podmienka pravdivá, vykoná sa príkaz. Na konci cyklu sa vždy ešte vykoná vyraz. Všetky tri časti (inicializacia, podmienka, vyraz ) sú nepovinné, teda nemusia sa uvádzať.
  
==Príklady==
+
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku.
'''Násobenie pomocou sčítavania'''
 
  
'''Zadanie:'''
+
<source lang="c">
Vytvorte program pomocou cyklu while,ktorý vykoná sučín čísel pomocou sčítavania.
+
for(inicializacia ; podmienka ; vyraz )
 
 
'''Analýza problému:'''
 
V tomto prípade je nutné dávať si pozor na hodnotu b, v prípade že neošetríme podmienkou(b>0) bude cyklus trvať do nekonečna.
 
<source lang="c" line>
 
int main()
 
{
 
int a,b,sucin=0;
 
scanf(“%d %d”,&a,&b);
 
while(b>0)
 
 
{
 
{
sucin+=a;
+
    prikaz1;
b--;
+
    prikaz2;
 
}
 
}
printf(“a*b=%d”,sucin);
 
 
</source>
 
</source>

Verzia zo dňa a času 16:42, 2. máj 2020


Základy informatiky - jazyk C


Riešené príklady

Algoritmy

Prvé programy

Podmienky

Cykly

Polia

Funkcie

Súbor

Vzorové príklady

Neriešené príklady


zdroj: Juraj Ďuďák, Zbierka úloh z algoritmizácie pre predmet Základy informatiky

ISBN: 978-80-8075-199-9

Obsah

V tejto kapitole budú ukázané príklady s použitím cyklov. Na pochopenie týchto príkladov je nutné vedieť syntax a sémantiku príkazov while, do-while a for.

Cyklus while

Cyklus while je cyklus s podmienkou na začiatku. Pri každom opakovaní cyklu sa najskôr vyhodnotí podmienka a v prípade, že je pravdivá cyklus sa vykonáva (resp. vykonáva sa príkaz v cykle)

while(podmienka)
prikaz;

Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku. (Toto platí aj pre do-while)

while(podmienka)
{
    prikaz1;
    prikaz2;
}


Cyklus do while

Cyklus do-while je cyklus s podmienkou na konci. Najskôr sa vykoná telo cyklu (teda prikaz) a na konci syklu sa vyhodnotí pravdivosť podmienky. V prípade ak je podmienka pravdivá, cyklus sa opäť vykoná

do
    prikaz;
while(podmienka);


Cyklus for

Cyklus for sa používa najmä v prípadoch, ak dopredu poznáme počet opakovaní cyklu.

for(inicializacia ; podmienka ; vyraz )
    prikaz;

Pred samotným spustením cyklu sa vykoná inicializácia. Toto sa vykoná len raz. Cyklus sa bude opakovať, pokiaľ je podmienka pravdivá. Ak je teda podmienka pravdivá, vykoná sa príkaz. Na konci cyklu sa vždy ešte vykoná vyraz. Všetky tri časti (inicializacia, podmienka, vyraz ) sú nepovinné, teda nemusia sa uvádzať.

Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku.

for(inicializacia ; podmienka ; vyraz )
{
    prikaz1;
    prikaz2;
}