S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.
NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.

Diskuze – Lekce 6 - Cykly v Céčku

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
Libor Šimo (libcosenior):19.8.2017 19:32

for (i = 1; 1 < (3 - 1); i++)
Druha cast prikazu je podmienka, ktora ked sa splni, ukonci sa cyklus.
Teda ak I = 1 (zaciatok), po ukonceni prveho cyklu (i++) je I = 2, atd....
Podmienka: 1 < (3 - 1) je splnena hned, lebo je to pravda a cyklus sa ukonci. Ale for v druhej casti definuje vacsinou podmienku, ktora zavisi na premennej v prvej casti, teda I. To znamena, ze tam malo byt: I < (3 - 1) a to v preklade znamena: I < 2.

Odpovědět
19.8.2017 19:32
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
gusto
Člen
Avatar
gusto:20.8.2017 14:24

2 Taskkill
Ano uz mi je to jasne, pomylil ma operator rovnosti "==" a priradenia "=".
2Libor Šimo (libcosenior)
Nejako ti celkom nerozumiem. Ja som uviedol v mojom prvom prispevku, ze ak tomu nerozumiem, tak si jednoducho natvrdo namiesto premennej dosadim cislo.
Ty pises

Teda ak I = 1 (zaciatok)

lenze v cykle sa zacina od "0" cize zaciatok je "i = 0" po tomto sa vykona uz prikaz, ktory je za cyklom

vysledek = vysledek * a;

cize do premennej "vysledek sa uz ulozi cislo 4 a potom sa vratime do cyklu, kde inkrementujeme (i++) "icko" a az v druhom kroku je "i=1" a kedze 1 <2 znova sa vykona prikaz za cyklom, takze uz sa do premennej ulozi cislo 8 (lebo pred tym bolo 4 (a 4*2 je 8 :) )).
Znova sa vratime do cyklu a prebehne inkrement a kedze "i" sa nam zvysi uz na hodnotu 2 a 2<2 uz neplati tak sa nevykona prikaz za cyklom, ale dalsi prikaz "printf", ktory vypise hodnotu premennej "vysledek".
Dolezite je aby som sa nepomylil, ze for cykluje vtedy ked podmienka plati (ak neplati, tak cyklus sa skonci).

 
Odpovědět
20.8.2017 14:24
Avatar
Odpovídá na gusto
Libor Šimo (libcosenior):20.8.2017 19:39

Mam pocit, ze nechapes co je premenna. Je to kus pamati, do ktoreho sa vklada hodnota, ktora sa v tomto pripade moze zmenit. Do hodnoty napr. 1 nevlozis nic.

Odpovědět
20.8.2017 19:39
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
gusto
Člen
Avatar
Odpovídá na Libor Šimo (libcosenior)
gusto:20.8.2017 22:31

Viem co je premenna. Napisal si spravne je to vyhradeny kus pamati, ktoreho velkost zavisi od datoveho typu. Uz z nazvu premenna je jasne, ze sa moze pocas behu programu jej hodnota menit.
Ja som ale nenapisal ze chcem nieco vlozit do hodnoty 1
Zrejme sa nerozumieme.
Libor Šimo (libcosenior) ..... pises:

for (i = 1; 1 < (3 - 1); i++) Druha cast prikazu je podmienka, ktora ked sa splni, ukonci sa cyklus.

Ale autor clanku pise v clanku

podminka je podmínka vykonání dalšího kroku cyklu. Jakmile nebude platit, cyklus se ukončí. Podmínka může být např. i < 10.

Dalej pises:

Podmienka: 1 < (3 - 1) je splnena hned, lebo je to pravda a cyklus sa ukonci.

Cyklus (podla autora clanku) ale pokracuje dalej (lebo toto urcite plati 1<2). A cyklus konci vtedy ak podmienka neplati.

 
Odpovědět
20.8.2017 22:31
Avatar
Odpovídá na gusto
Libor Šimo (libcosenior):21.8.2017 6:15

Sorry, mas pravdu, spatne som to sformuloval.

Odpovědět
21.8.2017 6:15
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na gusto
Libor Šimo (libcosenior):21.8.2017 6:29

Zmiatlo ma to, ze tvoj zapis je vlastne nekonecny cyklus a zvysovanie prememmej 'i' nema vyznam.

Odpovědět
21.8.2017 6:29
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
gusto
Člen
Avatar
gusto:21.8.2017 9:04

Mne tiez to programovanie tazko ide do hlavy, niekedy mi nie je vsetko jasne, preto sa radsej opytam aby som sa nezamotaval dalej a nebol v omyle (ak sa to clovek na prvy raz zle nauci/pochopi potom sa to horsie oduca).

 
Odpovědět
21.8.2017 9:04
Avatar
Jan Jenda
Člen
Avatar
Jan Jenda:9.11.2017 13:24

Ahoj už si nevím rady kolikrát opíšu program abych si ho zkusil, ale mě to hlasí vždy xx chyb jakože nespecifikované i, for a závorky? Proč?

 */
int main(int argc, char** argv){

    int i;
    for(i = 1; i < 11; i++)
        printf("%d ", i  * 1);
    printf("\n");
    for(i = 1; for i < 11; i++ )
        printf("%d ", i * 2 );

    return (EXIT_SUCCESS);
}
 
Odpovědět
9.11.2017 13:24
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Jan Jenda
DarkCoder:9.11.2017 13:32

Chyba se nachází v testu podmínky druhého cyklu for

Odpovědět
+1
9.11.2017 13:32
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Jan Jenda
DarkCoder:9.11.2017 13:55

Jinač makro EXIT_SUCCESS je definované v knihovně stdlib.h.
Buďto vlož do programu tento hlavičkový soubor.

Nebo si makro sám definuj:

#define EXIT_SUCCESS 0

nebo používej:

return 0;
Odpovědět
9.11.2017 13:55
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
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 55.