NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 10 - Cyklus for v Javě

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Michal Martinec
gcx11:5.1.2018 21:14

V ní si počítáš, kolikrát se už provedlo

vysledok = vysledok * a;
 
Odpovědět
5.1.2018 21:14
Avatar
Odpovídá na gcx11
Michal Martinec:5.1.2018 21:17

To mi je jasne ale co sa v nom realne deje by som potreboval rozpisat. Lebo z toho co si mi odpisal stale nic nechapem. :D

Odpovědět
5.1.2018 21:17
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Michal Martinec
gcx11:5.1.2018 21:48
  1. Na začátku se nastaví hodnota
int i = 0
  1. potom se provede kód, pokud platí podmínka:
i < (n - 1)
  1. A nakonec se upraví hodnota na
i++ // to samé jako i += 1

A poté se pořád opakují body 2 a 3, dokud platí podmínka ve 2

Editováno 5.1.2018 21:49
 
Odpovědět
5.1.2018 21:48
Avatar
Odpovídá na gcx11
Michal Martinec:5.1.2018 21:53

Tomu rozumiem. Klasicky cyklus to je. Ale nerozumiem telu cyklu.

Aky vplyv ma ten cyklus na
Vysledok = vysledok * a

V cykle je premenna “i”. Tato premenna nebola vobec pouzita v tele cyklu. Teda ako je mozne ze na telo cyklu ma nejaky vplyv cyklus samotny? Hlavne ma zaujima co sa deje priamo v tele cyklu teda v:
vysledok = vysledok * a

Dakujem za trpezlivost.

Odpovědět
5.1.2018 21:53
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Michal Martinec
gcx11:5.1.2018 21:56

Původní hodnotu vynásobíš a a to provedeš n-1 krát

 
Odpovědět
5.1.2018 21:56
Avatar
Odpovídá na gcx11
Michal Martinec:5.1.2018 22:02

Nechajme to tak, lebo nerozumies co sa pytam :D ale aj tak dakujem za snahu. Skusim si to najst niekde na forach alebo vysvetlene na inom priklade.

Odpovědět
5.1.2018 22:02
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Michal Martinec
gcx11:5.1.2018 22:42

Ok, příklad, pak to vzdávám :D Řeknemě, že a je 3 a n je 2, tj 3 na druhou = 9

int vysledek = a; // vysledek = 3
for (int i = 0; i < (n - 1); i++)
{
        vysledek = vysledek * a;
}
int vysledek = a;
for (int i = 0; i < (n - 1); i++)  // i = 0; i < 1
{
        vysledek = vysledek * a;
}
int vysledek = a;
for (int i = 0; i < (n - 1); i++)
{
        vysledek = vysledek * a; // vysledek = 3 * 3
}
int vysledek = a;
for (int i = 0; i < (n - 1); i++)  // i++ -> i = 1 (inkrementuje se i po provedení těla cyklu)
{
        vysledek = vysledek * a;
}
int vysledek = a;
for (int i = 0; i < (n - 1); i++) // i = 1; i < 1 (neplatí -> konec cyklu)
{
        vysledek = vysledek * a;
}
int vysledek = a;
for (int i = 0; i < (n - 1); i++)
{
        vysledek = vysledek * a;
}
// vysledek = 9
 
Odpovědět
5.1.2018 22:42
Avatar
Odpovídá na gcx11
Michal Martinec:5.1.2018 22:56

No vidis ze to ide :D takto rozpisane som to potreboval uz vtedy ked a bolo 2 a n 3 :D. Tomuto uz teda rozumiem dakujem :)

A to int i v cykle jednoducho je iba kvoli tomu, aby cyklus prebiehal a nemusi teda byt v tele cyklu pouzity ano?

Odpovědět
5.1.2018 22:56
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Michal Martinec
gcx11:5.1.2018 23:08

Přesně tak

 
Odpovědět
5.1.2018 23:08
Avatar
Petr Zajac
Člen
Avatar
Odpovídá na gcx11
Petr Zajac:3.2.2018 14:31

V článku je uvedeno, že řídící proměná cyklu by měla začínat od 0,
je velký prohřešek začít počítat od 1 jak je ukázáno i v několika příkladech?
takže "mocninátor" by vypadal následovně
for (int i = 1; i < n ; i++)
{
vysledek = vysledek * a;
}
Díky

 
Odpovědět
3.2.2018 14:31
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 151.