{"id":255,"date":"2023-10-02T11:46:15","date_gmt":"2023-10-02T09:46:15","guid":{"rendered":"https:\/\/gdm.sosthe.sk\/?page_id=255"},"modified":"2023-10-02T11:46:15","modified_gmt":"2023-10-02T09:46:15","slug":"cvicenie-c-9-vetvenie-a-cykly","status":"publish","type":"page","link":"https:\/\/gdm.sosthe.sk\/?page_id=255","title":{"rendered":"Cvi\u010denie \u010d.9 &#8211; Vetvenie a cykly"},"content":{"rendered":"<h3>T\u00e9ma:\u00a0Vetvenie a cykly v PHP<\/h3>\n<h3>\u00daloha:\u00a0Vytvorte webov\u00fa str\u00e1nku s n\u00e1zvom cyklus.php po spusten\u00ed, ktorej sa zobraz\u00ed st\u013apec \u010d\u00edsel od 1 do 12; potom skript na tejto str\u00e1nke upravte tak, aby po spusten\u00ed zobrazil namiesto \u010d\u00edsel n\u00e1zvy mesiacov v slovenskej transkripci\u00ed.<\/h3>\n<h3>Podmienky:\u00a0Vytvoren\u00fd dokument umiestnite na svoj blog v polo\u017eke PHP ako \u201eZadanie \u010d.9 Vetvenie a cykly\u201c s pln\u00fdm znen\u00edm \u00falohy a odkazom na s\u00fabor cyklus.php<\/h3>\n<h3>Te\u00f3ria :<\/h3>\n<p><strong>Cyklus \u2026. WHILE<\/strong><br \/>\nSl\u00fa\u017ei k vytvoreniu slu\u010dky. Ta opakovane vykon\u00e1va nejak\u00fa \u010das\u0165 k\u00f3du, pokia\u013e bude splnen\u00e1 zadan\u00e1 po\u010diato\u010dn\u00e1 podmienka. Ide o cyklus s podmienkou na za\u010diatku. Najsk\u00f4r je teda vyhodnoten\u00e1 podmienka a potom sa vykonaj\u00fa jednotliv\u00e9 cykly. Pokia\u013e m\u00e1 podmienka hodnotu true, vykon\u00e1 sa k\u00f3d v tele slu\u010dky, pokia\u013e false, slu\u010dka skon\u010d\u00ed a vykon\u00e1 sa prv\u00fd pr\u00edkaz za slu\u010dkou. Pokia\u013e chcete vykon\u00e1va\u0165 jen jeden pr\u00edkaz, nemus\u00edte p\u00edsa\u0165 zlo\u017een\u00e9 z\u00e1tvorky. Opusti\u0165 slu\u010dku m\u00f4\u017eete v ktoromko\u013evek mieste pomocou pr\u00edkazu break. Pokia\u013e je viac vnoren\u00fdch slu\u010diek, tak sa ukon\u010d\u00ed pr\u00e1ve aktu\u00e1lna slu\u010dka. Pokia\u013e chceme napr\u00edklad vysko\u010di\u0165 o 2 slu\u010dky vy\u0161\u0161ie pou\u017eijeme: break 2. Zvy\u0161ok tela slu\u010dky sa m\u00f4\u017ee presko\u010di\u0165 pr\u00edkazom continue, vykon\u00e1vanie potom pokra\u010duje \u010fal\u0161\u00edm prechodom slu\u010dkou a vyhodnoten\u00edm podmienky. Op\u00e4\u0165 m\u00f4\u017eeme pou\u017ei\u0165 pr\u00edkaz napr. continue 2, t\u00fdm presko\u010d\u00edme tel\u00e1 dvoch vnoren\u00fdch slu\u010diek.<\/p>\n<pre>while (podmienka)\r\n {\r\n text k\u00f3du\r\n }<\/pre>\n<p><strong>Cyklus \u2026. DO \/ WHILE<\/strong><br \/>\nTento pr\u00edkaz sa podob\u00e1 pr\u00edkazu while. Jedin\u00fd (dos\u0165 podstatn\u00fd) rozdiel je v tom, \u017ee podmienka sa vyhodnot\u00ed a\u017e po vykonan\u00fd k\u00f3du. Ide teda o cyklus s podmienkou na konci. Je teda posunut\u00fd o jeden cyklus. V tomto pr\u00edpade sa v\u0161ak telo slu\u010dky vykon\u00e1 v\u017edy. V pr\u00edpade pr\u00edkazu while tomu tak nemus\u00ed by\u0165 (pokia\u013e sa hne\u010f prv\u00e1 hodnota nerovn\u00e1 po\u017eadovanej). Op\u00e4\u0165 je mo\u017en\u00e9 pou\u017e\u00edva\u0165 pr\u00edkazy break a continue s rovnak\u00fdm efektom ako pri while.<\/p>\n<pre>do\r\n {\r\n pr\u00edkazy\r\n }\r\n while (podmienka);<\/pre>\n<p><strong>Cyklus \u2026. FOR<\/strong><br \/>\nIde o zlo\u017eitej\u0161iu kon\u0161trukciu ne\u017e oby\u010dajn\u00e1 slu\u010dka while. V\u00fdhodne sa vyu\u017e\u00edva pri zlo\u017eitej\u0161\u00edch cykloch. Pracuje sa s tromi v\u00fdrazmi. Prv\u00fd sa vyhodnocuje iba raz (pri vstupe do slu\u010dky). T\u00fdmto v\u00fdrazom ud\u00e1me po\u010diato\u010dn\u00fa hodnotu pre opakovanie. Druh\u00fdm v\u00fdrazom je podmienka, ktor\u00e1 sa vyhodnocuje pred ka\u017ed\u00fdm vstupom do tela slu\u010dky. Tret\u00ed v\u00fdraz ukazuje o ko\u013eko sa bude premenn\u00e1 zvy\u0161ova\u0165 pri vykon\u00e1van\u00ed slu\u010dky. Klasicky sa nech\u00e1va napr\u00edklad i++, \u010do znamen\u00e1, \u017ee sa v\u017edy zv\u00e4\u010d\u0161\u00ed o jednotku. Op\u00e4\u0165 je mo\u017enos\u0165 vyu\u017e\u00edva\u0165 pr\u00edkazy break a continue. Rozdiel je iba v tom, \u017ee pr\u00edkaz continue pred nov\u00fdm vstupom do slu\u010dky zaist\u00ed vykonanie tretieho v\u00fdrazu ($i++).<\/p>\n<pre>for ($i=1; $i&lt;$p ; $i++)\r\n {\r\n pr\u00edkazy\r\n }<\/pre>\n<p>Najjednoduch\u0161ou formou je: for (;;). Potom ide o nekone\u010dn\u00fd cyklus. Alebo naopak m\u00f4\u017ee by\u0165 pou\u017eit\u00fdch aj viac v\u00fdrazov. Tie sa potom odde\u013euj\u00fa \u010diarkami<\/p>\n<p><strong>Cykly a polia<\/strong><br \/>\nCykly sa m\u00f4\u017eu s v\u00fdhodou pou\u017ei\u0165 na v\u00fdpis v\u0161etk\u00fdch (\u010dasti) hodn\u00f4t po\u013ea.<\/p>\n<pre>&lt;?php\r\n $pole[0] = \"slovo1 \";\r\n $pole[1] = \"slovo2 \";\r\n $pole[2] = \"slovo3 \";\r\n $pole[3] = \"slovo4 \";\r\n ?&gt;\r\n<\/pre>\n<p>Na v\u00fdpis predch\u00e1dzaj\u00faceho po\u013ea m\u00f4\u017eeme s v\u00fdhodou pou\u017ei\u0165 jednoduch\u00fd z\u00e1pis:<\/p>\n<p>Pr\u00edklad:\u00a0Cyklus for<\/p>\n<pre>&lt;?php\r\n for ($i=0; $i&lt;count($pole); $i++)\r\n echo $pole[$i];\r\n ?&gt;<\/pre>\n<p>Av\u0161ak ove\u013ea efekt\u00edvnej\u0161\u00ed sp\u00f4sob je tento:<\/p>\n<p>Pr\u00edklad:\u00a0Cyklus while<\/p>\n<pre>&lt;?php\r\n while (list($key,$value) = each($pole))\r\n echo $value;\r\n echo \"&lt;br \/&gt;alebo&lt;br \/&gt;\";\r\n reset($pole);\r\n while (list($key,$value) = each($pole))\r\n echo \"pole[$key] = $value &lt;br \/&gt;\";\r\n?&gt;<\/pre>\n<p>Pr\u00edklad:\u00a0Cyklus foreach<\/p>\n<pre>$arr1 = array(5 =&gt; 43, 32, 56, \"b\" =&gt; 12);\r\n foreach($arr1 as $kluc =&gt; $hodnota) echo \"\\$arr1[\".$kluc.\"] = \".$hodnota.\"&lt;br \/&gt;\";<\/pre>\n<h3><\/h3>\n<h3>Postup pri pr\u00e1ci : Pou\u017eit\u00edm pr\u00edkazov na cyklus DO\/WHILE alebo FOR vytvorte najprv skript na v\u00fdpis \u010d\u00edsel od 1 do 12, pri\u010dom ka\u017ed\u00e9 \u010d\u00edslo bude zap\u00edsan\u00e9 do samostatn\u00e9ho riadku. Potom pomocou upraven\u00e9ho textov\u00e9ho po\u013ea s predch\u00e1dzaj\u00facich cvi\u010den\u00ed zme\u0148te skript s cyklom tak, aby vypisoval namiesto \u010d\u00edsel n\u00e1zvy mesiacov v roku.<\/h3>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e9ma:\u00a0Vetvenie a cykly v PHP \u00daloha:\u00a0Vytvorte webov\u00fa str\u00e1nku s n\u00e1zvom cyklus.php po spusten\u00ed, ktorej sa zobraz\u00ed st\u013apec \u010d\u00edsel od 1 do 12; potom skript na tejto str\u00e1nke upravte tak, aby po spusten\u00ed zobrazil namiesto \u010d\u00edsel n\u00e1zvy mesiacov v slovenskej transkripci\u00ed. Podmienky:\u00a0Vytvoren\u00fd dokument umiestnite na svoj blog v polo\u017eke PHP ako \u201eZadanie \u010d.9 Vetvenie a cykly\u201c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-255","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=255"}],"version-history":[{"count":1,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/255\/revisions"}],"predecessor-version":[{"id":256,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/255\/revisions\/256"}],"wp:attachment":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}