<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<feed xmlns="http://www.w3.org/2005/Atom"  xml:lang="cs-cz">
	<title type="text">Seznam lekcí</title>
	<subtitle type="text"></subtitle>
	<link rel="alternate" type="text/html" href="https://lucie.zolta.cz"/>
	<id>https://lucie.zolta.cz/index.php/programovani-i</id>
	<updated>2025-07-25T09:50:35+00:00</updated>
	<generator uri="http://joomla.org" version="2.5">Joomla! - Open Source Content Management</generator>
	<link rel="self" type="application/atom+xml" href="https://lucie.zolta.cz/index.php/programovani-i?format=feed&amp;type=atom"/>
	<entry>
		<title>18 Karel + soutěž</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/275-18-karel-soutez"/>
		<published>2020-01-09T19:05:01+00:00</published>
		<updated>2020-01-09T19:05:01+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/275-18-karel-soutez</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;&lt;strong&gt;Začnu soutěží programování&lt;/strong&gt;, která se koná 13.3.2020 a přihlášky do 10.3.2020 viz. &lt;a href=&quot;images/propozice_programovani_okres_2020.pdf&quot;&gt;zde&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;A teď k dnešní lekci:&lt;/p&gt;
&lt;p&gt;Zjistila jsem že Karel je ještě na živu, takže vyzkoušejte online robotka, který se programuje českými příkazy (fakt je háklivý na češtinu, tak bacha na háčky a čárky).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://karel.oldium.net/&quot;&gt;http://karel.oldium.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Karel je robot, který má v základu 4 příkazy - krok dopředu - otočení vlevo - zvednutí předmětu - položení předmětu.&lt;/p&gt;
&lt;p&gt;To ale nevadí, protože si můžete směle vytvářet vlastní příkazy, neboli funkce. Tak hurá do toho.&lt;/p&gt;
&lt;p&gt;Na rozdíl od našeho oranžového robotka, Karel už umí rozhodování (podmínky) a cykly, což značně rozšiřuje možnosti, jak si s ním hrát. Nemusíme krokovat, ale můžeme mu rovnou říct, ať jde dokud nenarazí na zeď&lt;/p&gt;
&lt;p&gt;PRIKAZ-BEZ&lt;/p&gt;
&lt;p&gt;   DOKUD NENÍ ZEĎ&lt;/p&gt;
&lt;p&gt;       KROK&lt;/p&gt;
&lt;p&gt;   KONEC&lt;/p&gt;
&lt;p&gt;KONEC&lt;/p&gt;
&lt;p&gt;Kdybyste nemohli najít tak tady je nápověda: &lt;a href=&quot;http://karel.oldium.net/napoveda.html&quot;&gt;http://karel.oldium.net/napoveda.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;...možná tu časem přidám i nějaké video...&lt;/p&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;&lt;strong&gt;Začnu soutěží programování&lt;/strong&gt;, která se koná 13.3.2020 a přihlášky do 10.3.2020 viz. &lt;a href=&quot;images/propozice_programovani_okres_2020.pdf&quot;&gt;zde&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;A teď k dnešní lekci:&lt;/p&gt;
&lt;p&gt;Zjistila jsem že Karel je ještě na živu, takže vyzkoušejte online robotka, který se programuje českými příkazy (fakt je háklivý na češtinu, tak bacha na háčky a čárky).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://karel.oldium.net/&quot;&gt;http://karel.oldium.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Karel je robot, který má v základu 4 příkazy - krok dopředu - otočení vlevo - zvednutí předmětu - položení předmětu.&lt;/p&gt;
&lt;p&gt;To ale nevadí, protože si můžete směle vytvářet vlastní příkazy, neboli funkce. Tak hurá do toho.&lt;/p&gt;
&lt;p&gt;Na rozdíl od našeho oranžového robotka, Karel už umí rozhodování (podmínky) a cykly, což značně rozšiřuje možnosti, jak si s ním hrát. Nemusíme krokovat, ale můžeme mu rovnou říct, ať jde dokud nenarazí na zeď&lt;/p&gt;
&lt;p&gt;PRIKAZ-BEZ&lt;/p&gt;
&lt;p&gt;   DOKUD NENÍ ZEĎ&lt;/p&gt;
&lt;p&gt;       KROK&lt;/p&gt;
&lt;p&gt;   KONEC&lt;/p&gt;
&lt;p&gt;KONEC&lt;/p&gt;
&lt;p&gt;Kdybyste nemohli najít tak tady je nápověda: &lt;a href=&quot;http://karel.oldium.net/napoveda.html&quot;&gt;http://karel.oldium.net/napoveda.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;...možná tu časem přidám i nějaké video...&lt;/p&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>17 - kod</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/274-17-kod"/>
		<published>2020-01-09T19:05:01+00:00</published>
		<updated>2020-01-09T19:05:01+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/274-17-kod</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Vysvoboď se z učebny, najdi správný kód na odemčení dveří:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;programko/tajnyKod/zadejKod.html&quot; target=&quot;_self&quot;&gt;http://lucie.zolta.cz/programko/tajnyKod/zadejKod.html&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Vysvoboď se z učebny, najdi správný kód na odemčení dveří:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;programko/tajnyKod/zadejKod.html&quot; target=&quot;_self&quot;&gt;http://lucie.zolta.cz/programko/tajnyKod/zadejKod.html&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>Kroužek programování I</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/250-krouzek-programovani-i"/>
		<published>2019-09-07T11:31:02+00:00</published>
		<updated>2019-09-07T11:31:02+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/250-krouzek-programovani-i</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;&lt;img src=&quot;http://www.misie.com.pl/nasza-stara-strona/kolekcjonerzy/images/js_logo.png&quot; border=&quot;0&quot; width=&quot;150&quot; style=&quot;border: 0px none; float: right;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;V kroužku Programování 1 se děti seznámí se základy programování. Je tedy vhodný pro úplné začátečníky. Budeme programovat v jazyku JavaScript, který je jednoduše dostupný na všech počítačích a nevyžaduje instalaci žádných složitých prostředí.&lt;/p&gt;
&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;&lt;img src=&quot;http://www.misie.com.pl/nasza-stara-strona/kolekcjonerzy/images/js_logo.png&quot; border=&quot;0&quot; width=&quot;150&quot; style=&quot;border: 0px none; float: right;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;V kroužku Programování 1 se děti seznámí se základy programování. Je tedy vhodný pro úplné začátečníky. Budeme programovat v jazyku JavaScript, který je jednoduše dostupný na všech počítačích a nevyžaduje instalaci žádných složitých prostředí.&lt;/p&gt;
&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>16 Hra - panák zvedá krabici</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/273-16-hra-panak-zveda"/>
		<published>2020-01-09T19:05:01+00:00</published>
		<updated>2020-01-09T19:05:01+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/273-16-hra-panak-zveda</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;V dnešní lekci jsme přidali panákovi možnost přenášet břemena. Co vám budu vyprávět, zde je kód:&lt;/p&gt;
&lt;pre&gt;&amp;lt;HTML&amp;gt;&lt;br /&gt;	&amp;lt;HEAD&amp;gt;&lt;br /&gt;		&amp;lt;TITLE&amp;gt;&amp;lt;/TITLE&amp;gt;&lt;br /&gt;		&amp;lt;META charset=&quot;UTF-8&quot;&amp;gt;&lt;br /&gt;    &lt;br /&gt;	  &amp;lt;style&amp;gt; &lt;br /&gt;             #panak {&lt;br /&gt;                  width:50px;&lt;br /&gt;                  position:absolute;&lt;br /&gt;                  top:300px;&lt;br /&gt;                  left:600px;&lt;br /&gt;             }&lt;br /&gt;            #blok{&lt;br /&gt;               width:50px;&lt;br /&gt;               position:absolute;&lt;br /&gt;            }&lt;br /&gt;    &amp;lt;/style&amp;gt;&lt;br /&gt;    &lt;br /&gt;	&amp;lt;/HEAD&amp;gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;BODY onKeyPress=&quot;tuk(event)&quot; &amp;gt;&lt;br /&gt;        &amp;lt;img src=&quot;vec2.jpg&quot; id=&quot;blok&quot;&amp;gt;	&lt;br /&gt;        &amp;lt;img src=&quot;panak.png&quot; id=&quot;panak&quot;&amp;gt;	&lt;br /&gt;        			&lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;&amp;lt;SCRIPT&amp;gt;&lt;br /&gt;	  var zleva = 600;&lt;br /&gt;          var svrchu = 300;&lt;br /&gt;          var drzim = false; //promenna drzim reprezentuje stav (false = ne = nedrzim, true=ano=drzim)&lt;br /&gt;          &lt;br /&gt;          function tuk(event){&lt;br /&gt;              var x = event.keyCode;&lt;br /&gt;              &lt;br /&gt;              if(x==119){   //W sipka hore&lt;br /&gt;                  svrchu=svrchu-40;&lt;br /&gt;                  document.getElementById(&quot;panak&quot;).style.top=svrchu+&quot;px&quot;;&lt;br /&gt;                  if(drzim){&lt;br /&gt;                      premistiVecKeMe();&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              if(x==115){   //S sipka dole&lt;br /&gt;                  svrchu=svrchu+40;&lt;br /&gt;                  document.getElementById(&quot;panak&quot;).style.top=svrchu+&quot;px&quot;;&lt;br /&gt;                  if(drzim){&lt;br /&gt;                      premistiVecKeMe();&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              if(x==97){  //A sipka doleva&lt;br /&gt;                  zleva=zleva-40;&lt;br /&gt;                  document.getElementById(&quot;panak&quot;).style.left=zleva+&quot;px&quot;;&lt;br /&gt;                  if(drzim){&lt;br /&gt;                      premistiVecKeMe();&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              if(x==100){ //D sipka doprava&lt;br /&gt;                  zleva=zleva+40;&lt;br /&gt;                  document.getElementById(&quot;panak&quot;).style.left=zleva+&quot;px&quot;;&lt;br /&gt;                  if(drzim){&lt;br /&gt;                      premistiVecKeMe();&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              if(x==13){    //enter  &lt;br /&gt;                  premistiVecKeMe();&lt;br /&gt;                  &lt;br /&gt;              }&lt;br /&gt;              if(x==107){ //drzim&lt;br /&gt;                 drzim=true; &lt;br /&gt;              }&lt;br /&gt;              if(x==109){ //pustim&lt;br /&gt;                 drzim=false; &lt;br /&gt;              }&lt;br /&gt;              &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;          }&lt;br /&gt;          function premistiVecKeMe (){&lt;br /&gt;                  document.getElementById(&quot;blok&quot;).style.left=zleva;&lt;br /&gt;                  document.getElementById(&quot;blok&quot;).style.top=svrchu;&lt;br /&gt;          }&lt;br /&gt;			   &lt;br /&gt;	&lt;br /&gt;		&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;	&amp;lt;/BODY&amp;gt;&lt;br /&gt;	&lt;br /&gt;&amp;lt;/HTML&amp;gt;&lt;/pre&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;V dnešní lekci jsme přidali panákovi možnost přenášet břemena. Co vám budu vyprávět, zde je kód:&lt;/p&gt;
&lt;pre&gt;&amp;lt;HTML&amp;gt;&lt;br /&gt;	&amp;lt;HEAD&amp;gt;&lt;br /&gt;		&amp;lt;TITLE&amp;gt;&amp;lt;/TITLE&amp;gt;&lt;br /&gt;		&amp;lt;META charset=&quot;UTF-8&quot;&amp;gt;&lt;br /&gt;    &lt;br /&gt;	  &amp;lt;style&amp;gt; &lt;br /&gt;             #panak {&lt;br /&gt;                  width:50px;&lt;br /&gt;                  position:absolute;&lt;br /&gt;                  top:300px;&lt;br /&gt;                  left:600px;&lt;br /&gt;             }&lt;br /&gt;            #blok{&lt;br /&gt;               width:50px;&lt;br /&gt;               position:absolute;&lt;br /&gt;            }&lt;br /&gt;    &amp;lt;/style&amp;gt;&lt;br /&gt;    &lt;br /&gt;	&amp;lt;/HEAD&amp;gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;BODY onKeyPress=&quot;tuk(event)&quot; &amp;gt;&lt;br /&gt;        &amp;lt;img src=&quot;vec2.jpg&quot; id=&quot;blok&quot;&amp;gt;	&lt;br /&gt;        &amp;lt;img src=&quot;panak.png&quot; id=&quot;panak&quot;&amp;gt;	&lt;br /&gt;        			&lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;&amp;lt;SCRIPT&amp;gt;&lt;br /&gt;	  var zleva = 600;&lt;br /&gt;          var svrchu = 300;&lt;br /&gt;          var drzim = false; //promenna drzim reprezentuje stav (false = ne = nedrzim, true=ano=drzim)&lt;br /&gt;          &lt;br /&gt;          function tuk(event){&lt;br /&gt;              var x = event.keyCode;&lt;br /&gt;              &lt;br /&gt;              if(x==119){   //W sipka hore&lt;br /&gt;                  svrchu=svrchu-40;&lt;br /&gt;                  document.getElementById(&quot;panak&quot;).style.top=svrchu+&quot;px&quot;;&lt;br /&gt;                  if(drzim){&lt;br /&gt;                      premistiVecKeMe();&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              if(x==115){   //S sipka dole&lt;br /&gt;                  svrchu=svrchu+40;&lt;br /&gt;                  document.getElementById(&quot;panak&quot;).style.top=svrchu+&quot;px&quot;;&lt;br /&gt;                  if(drzim){&lt;br /&gt;                      premistiVecKeMe();&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              if(x==97){  //A sipka doleva&lt;br /&gt;                  zleva=zleva-40;&lt;br /&gt;                  document.getElementById(&quot;panak&quot;).style.left=zleva+&quot;px&quot;;&lt;br /&gt;                  if(drzim){&lt;br /&gt;                      premistiVecKeMe();&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              if(x==100){ //D sipka doprava&lt;br /&gt;                  zleva=zleva+40;&lt;br /&gt;                  document.getElementById(&quot;panak&quot;).style.left=zleva+&quot;px&quot;;&lt;br /&gt;                  if(drzim){&lt;br /&gt;                      premistiVecKeMe();&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              if(x==13){    //enter  &lt;br /&gt;                  premistiVecKeMe();&lt;br /&gt;                  &lt;br /&gt;              }&lt;br /&gt;              if(x==107){ //drzim&lt;br /&gt;                 drzim=true; &lt;br /&gt;              }&lt;br /&gt;              if(x==109){ //pustim&lt;br /&gt;                 drzim=false; &lt;br /&gt;              }&lt;br /&gt;              &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;          }&lt;br /&gt;          function premistiVecKeMe (){&lt;br /&gt;                  document.getElementById(&quot;blok&quot;).style.left=zleva;&lt;br /&gt;                  document.getElementById(&quot;blok&quot;).style.top=svrchu;&lt;br /&gt;          }&lt;br /&gt;			   &lt;br /&gt;	&lt;br /&gt;		&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;	&amp;lt;/BODY&amp;gt;&lt;br /&gt;	&lt;br /&gt;&amp;lt;/HTML&amp;gt;&lt;/pre&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>15 KeyPress a panák v pohybu</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/272-15-stisk-klavesy"/>
		<published>2020-01-09T19:05:01+00:00</published>
		<updated>2020-01-09T19:05:01+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/272-15-stisk-klavesy</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Dnes si povíme jak udělat ovládání prvků pomocí kláves, tedy klávesnice. Budeme k tomu potřebovat událost onKeyPress. O událostech obecně jsme si už povídali &lt;a href=&quot;index.php/programovani-i/256-funkce-a-udalosti&quot;&gt;zde&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Událost onKeyPress dáme do tágu body, protože ten je stále aktivní.&lt;/p&gt;
&lt;pre&gt;&amp;lt;body onKeyPress=&quot;tuk()&quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;Nyní se provede funkce tuk() při sisku libovolné klávesy. Abychom identifikovali klávesu, která byla stisknuta, přidáme parametr event.&lt;/p&gt;
&lt;pre&gt;&amp;lt;body onKeyPress=&quot;tuk(event)&quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;Ve funci pak vytáhneme z eventu číslo zmáčknuté klavesy příkazem event.keyCode, nebo event.which. Jeden příkaz fungje na písmenka a druhý na ostatní klávesy jako např. šipky. &lt;/p&gt;
&lt;pre&gt;function tuk (event) {
     var kodKlavesy=event.keyCode;&lt;br /&gt;}&lt;/pre&gt;
&lt;h2&gt;Pohyb panáčka&lt;/h2&gt;
&lt;p&gt;Pohyb obrázku na stisk kláves provedeme skze kaskádové styly. Nezapomeňte prvku ve stylech nastavit position:absolute.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;&amp;lt;style&amp;gt;&lt;br /&gt;    #panak {position:absolute}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;img src=&quot;obrazek.jpg&quot; id=&quot;panak&quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;function tuk (event) {
     var kodKlavesy=event.keyCode;&lt;br /&gt;     var zleva = 0;&lt;br /&gt;     if(kodKlavesy==100){&lt;br /&gt;            zleva=zleva+50;&lt;br /&gt;           &lt;span class=&quot;jscolor&quot; style=&quot;color: black;&quot;&gt;document.&lt;span class=&quot;jspropertycolor&quot; style=&quot;color: black;&quot;&gt;getElementById&lt;/span&gt;(&quot;panak&quot;).style.left=zleva+&quot;px&quot;;&lt;/span&gt;&lt;br /&gt;     }&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Dnes si povíme jak udělat ovládání prvků pomocí kláves, tedy klávesnice. Budeme k tomu potřebovat událost onKeyPress. O událostech obecně jsme si už povídali &lt;a href=&quot;index.php/programovani-i/256-funkce-a-udalosti&quot;&gt;zde&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Událost onKeyPress dáme do tágu body, protože ten je stále aktivní.&lt;/p&gt;
&lt;pre&gt;&amp;lt;body onKeyPress=&quot;tuk()&quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;Nyní se provede funkce tuk() při sisku libovolné klávesy. Abychom identifikovali klávesu, která byla stisknuta, přidáme parametr event.&lt;/p&gt;
&lt;pre&gt;&amp;lt;body onKeyPress=&quot;tuk(event)&quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;Ve funci pak vytáhneme z eventu číslo zmáčknuté klavesy příkazem event.keyCode, nebo event.which. Jeden příkaz fungje na písmenka a druhý na ostatní klávesy jako např. šipky. &lt;/p&gt;
&lt;pre&gt;function tuk (event) {
     var kodKlavesy=event.keyCode;&lt;br /&gt;}&lt;/pre&gt;
&lt;h2&gt;Pohyb panáčka&lt;/h2&gt;
&lt;p&gt;Pohyb obrázku na stisk kláves provedeme skze kaskádové styly. Nezapomeňte prvku ve stylech nastavit position:absolute.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;&amp;lt;style&amp;gt;&lt;br /&gt;    #panak {position:absolute}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;img src=&quot;obrazek.jpg&quot; id=&quot;panak&quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;function tuk (event) {
     var kodKlavesy=event.keyCode;&lt;br /&gt;     var zleva = 0;&lt;br /&gt;     if(kodKlavesy==100){&lt;br /&gt;            zleva=zleva+50;&lt;br /&gt;           &lt;span class=&quot;jscolor&quot; style=&quot;color: black;&quot;&gt;document.&lt;span class=&quot;jspropertycolor&quot; style=&quot;color: black;&quot;&gt;getElementById&lt;/span&gt;(&quot;panak&quot;).style.left=zleva+&quot;px&quot;;&lt;/span&gt;&lt;br /&gt;     }&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>14 Pole</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/271-14-pole"/>
		<published>2020-01-09T19:05:01+00:00</published>
		<updated>2020-01-09T19:05:01+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/271-14-pole</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;&lt;img src=&quot;images/krprog/pole.png&quot; border=&quot;0&quot; width=&quot;300&quot; style=&quot;border: 0; float: right;&quot; /&gt;Pole (po anglicky array) je speciální &lt;a href=&quot;index.php/programovani-i/254-02-promenna-a-komentare&quot;&gt;proměnná&lt;/a&gt;. Pokud vnímáme klasickou proměnnou jako hrníček, pak pole je nádoba rozdělena do přihrátek. Třeba takové přihrádky na šroubky, z kterých můžeme secvakat libovolně dlouhou řadu.&lt;/p&gt;
&lt;p&gt;Pole může obsahovat libovolné množství hodnot. Abychom se v těch hodnotách vyznali, jsou přihrádky očíslovány tzv. indexy. Pole vždy čísluje své přihrádky od nuly. První je tedy nultá.&lt;/p&gt;
&lt;p&gt;Pojďme si teď vytvořit pole z obrázku vpravo:&lt;/p&gt;
&lt;pre&gt;var modre = [3, 2, 4, 1];&lt;/pre&gt;
&lt;p&gt;Vytvořili jsme pole, které se jmenuje modre a obsahuje hodnoty 3, 2, 4, 1. Abychom se dostali k těmto hodnotám, musíme použít index, který jasně určí přihrátku, do které se v poli máme podívat. Kromě názvu pole musíme do hranatých závorek zadat index (číslo přihrátky) např.: modre[2].&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/krprog/pole-vystup.png&quot; border=&quot;0&quot; width=&quot;200&quot; style=&quot;float: right; border: 0;&quot; /&gt;&lt;/p&gt;
&lt;pre&gt;//vypis hodnoty v poli z indexem 2,0,1&lt;br /&gt;document.write(modre[2]);
document.write(modre[0]);
document.write(modre[1]);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Na výstupu pak bude 432 (viz. obrázek vpravo), neboť na třetí pozici pole (index [2] neboť se čísluje od nuly) je uložena hodnota 4, na první pozici index [0] je trojka a modre[1]=2.&lt;/p&gt;
&lt;p&gt;Jak mne mile překvapilo, javascript už zvládá příkaz&lt;/p&gt;
&lt;pre&gt;document.write(modre);&lt;/pre&gt;
&lt;p&gt;jenž vypíše celé pole. Pokud by to nefungovalo, museli bychom vypisovat pole pomocí cyklu, podobně jako si na dalším příkladě ukážeme výpočet průměru.&lt;/p&gt;
&lt;p&gt; Př.: Výpočet průměru:&lt;/p&gt;
&lt;pre&gt;var znamky = [1,3,1,5,4,2,3,2,1,4,1,2];    //pole známek z kterých chceme vypočítat průměr&lt;br /&gt;&lt;br /&gt;//vypočet průměru (sečíst všechny známky a vydelit počtem známek)&lt;br /&gt;var soucet = 0;                                           //promenna do které budu scitat znamky&lt;br /&gt;var pocet_znamek = znamky.length;     //pocet znamek = velikost pole (pocet prvku v poli)&lt;br /&gt;
for(var i = 0; i &amp;lt; pocet_znamek; i=i+1)    //každou známku z pole známek&lt;br /&gt;{&lt;br /&gt;     soucet = soucet + znamky[i];               //přičti k proměnné soucet&lt;br /&gt;}&lt;br /&gt;var prumer = soucet / pocet_znamek;
document.write(&quot;průměr je &quot;+prumer);&lt;/pre&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;&lt;img src=&quot;images/krprog/pole.png&quot; border=&quot;0&quot; width=&quot;300&quot; style=&quot;border: 0; float: right;&quot; /&gt;Pole (po anglicky array) je speciální &lt;a href=&quot;index.php/programovani-i/254-02-promenna-a-komentare&quot;&gt;proměnná&lt;/a&gt;. Pokud vnímáme klasickou proměnnou jako hrníček, pak pole je nádoba rozdělena do přihrátek. Třeba takové přihrádky na šroubky, z kterých můžeme secvakat libovolně dlouhou řadu.&lt;/p&gt;
&lt;p&gt;Pole může obsahovat libovolné množství hodnot. Abychom se v těch hodnotách vyznali, jsou přihrádky očíslovány tzv. indexy. Pole vždy čísluje své přihrádky od nuly. První je tedy nultá.&lt;/p&gt;
&lt;p&gt;Pojďme si teď vytvořit pole z obrázku vpravo:&lt;/p&gt;
&lt;pre&gt;var modre = [3, 2, 4, 1];&lt;/pre&gt;
&lt;p&gt;Vytvořili jsme pole, které se jmenuje modre a obsahuje hodnoty 3, 2, 4, 1. Abychom se dostali k těmto hodnotám, musíme použít index, který jasně určí přihrátku, do které se v poli máme podívat. Kromě názvu pole musíme do hranatých závorek zadat index (číslo přihrátky) např.: modre[2].&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/krprog/pole-vystup.png&quot; border=&quot;0&quot; width=&quot;200&quot; style=&quot;float: right; border: 0;&quot; /&gt;&lt;/p&gt;
&lt;pre&gt;//vypis hodnoty v poli z indexem 2,0,1&lt;br /&gt;document.write(modre[2]);
document.write(modre[0]);
document.write(modre[1]);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Na výstupu pak bude 432 (viz. obrázek vpravo), neboť na třetí pozici pole (index [2] neboť se čísluje od nuly) je uložena hodnota 4, na první pozici index [0] je trojka a modre[1]=2.&lt;/p&gt;
&lt;p&gt;Jak mne mile překvapilo, javascript už zvládá příkaz&lt;/p&gt;
&lt;pre&gt;document.write(modre);&lt;/pre&gt;
&lt;p&gt;jenž vypíše celé pole. Pokud by to nefungovalo, museli bychom vypisovat pole pomocí cyklu, podobně jako si na dalším příkladě ukážeme výpočet průměru.&lt;/p&gt;
&lt;p&gt; Př.: Výpočet průměru:&lt;/p&gt;
&lt;pre&gt;var znamky = [1,3,1,5,4,2,3,2,1,4,1,2];    //pole známek z kterých chceme vypočítat průměr&lt;br /&gt;&lt;br /&gt;//vypočet průměru (sečíst všechny známky a vydelit počtem známek)&lt;br /&gt;var soucet = 0;                                           //promenna do které budu scitat znamky&lt;br /&gt;var pocet_znamek = znamky.length;     //pocet znamek = velikost pole (pocet prvku v poli)&lt;br /&gt;
for(var i = 0; i &amp;lt; pocet_znamek; i=i+1)    //každou známku z pole známek&lt;br /&gt;{&lt;br /&gt;     soucet = soucet + znamky[i];               //přičti k proměnné soucet&lt;br /&gt;}&lt;br /&gt;var prumer = soucet / pocet_znamek;
document.write(&quot;průměr je &quot;+prumer);&lt;/pre&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>13 Cykly</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/269-13-cykly"/>
		<published>2020-01-09T19:05:01+00:00</published>
		<updated>2020-01-09T19:05:01+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/269-13-cykly</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Cyklem označujeme část kódu, který se opakuje. Chceme-li něco udělat třeba tisíckát, můžeme tisíckrát zkopírovat příkaz a nebo to udělat v cyklu.&lt;/p&gt;
&lt;p&gt;Nedávno jsem si dělala &lt;a href=&quot;http://e-skola.zolta.cz/programy/kresba/sit2.html&quot;&gt;tuto&lt;/a&gt; pomůcku pro kreslení a potřebovala jsem vygenerovat síť tlačítek, které mi zakryjí obrázek. Cykly potřebujeme znát když pracujeme s poli (složitější proměnná o které si povíme více příště).&lt;/p&gt;
&lt;p&gt;POZOR! Hrajeme-li si s cykly, velmi snadno se nám stane, že se zacyklíme. Spustíme-li nekonečný cyklus většinou nám zatuhne prohlížeč, v horším případě budeme muset restartovat celý počítač.&lt;/p&gt;
&lt;p&gt;Existují tři základní typy cyklů:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;while (podmínka) { tělo cyklu }&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;do { tělo cyklu } while (podmínka)&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;for ( počáteční hodnota ; podmínka ; krok ) { tělo cyklu }&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;While je cyklus s podmínkou na začátku. Do-while je cyklus s podmínkou na konci. To je jediný rozdíl. U těchto dvou cyklů si však člověk musí dávat pořádně pozor, aby se nezacyklil. Všchny cykly běží tak dlouho, dokud je podmínka pravdivá. Zapomeneme-li teda uvnitř cyklu, měnit hodnotu proměnné v podmínce, jsme zacyklení.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/krprog/vystup01.png&quot; border=&quot;0&quot; width=&quot;200&quot; style=&quot;float: right; border: 0;&quot; /&gt;Př.1: &lt;a href=&quot;programko/downloadkode.html?co=cykly.html&quot;&gt;cykly.html&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;                       var juchu = 1;
			while ( juchu &amp;lt; 11 ) { 
			   	document.write(&quot;juchu je &quot;);
			   	document.write(juchu);
				document.write(&quot;&amp;lt;br&amp;gt;&quot;);
				&lt;strong&gt;juchu = juchu + 1;&lt;/strong&gt;
			}&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Kdybych zapoměla na poslední zvýrazněný příkaz cyklu (jako že jsem zapoměla :)), došlo by k zacyklení. Neboť proměnná juchu by se neměnila, zůstavala by stále rovna jedné, a podmínka &lt;em&gt;juchu &amp;lt; 11&lt;/em&gt; by byla stále pravdivá &lt;em&gt;1&amp;lt;11&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;No a protože se na tu kontrolní proměnnou často zapomíná a takové zapomnění, může udělat pěknou paseku, je tu cyklus for. V cyklu for, musíme ošetřit hned na začátku všechno. Kromě samotné podmínky obsahuje hlavička forka počáteční hodnotu a krok (přičtení s každým cyklem), vše odděleno středníkem.&lt;/p&gt;
&lt;p&gt;Př.2: &lt;a href=&quot;programko/downloadkode.html?co=cykly-for.html&quot;&gt;cykly-for.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;                       for (var juchu=1; juchu &amp;lt; 11 ; &lt;strong&gt;juchu = juchu+1&lt;/strong&gt;) { &lt;br /&gt;			   	document.write(&quot;juchu je &quot;);&lt;br /&gt;			   	document.write(juchu);&lt;br /&gt;				document.write(&quot;&amp;lt;br&amp;gt;&quot;);&lt;br /&gt;			}&lt;/pre&gt;
&lt;p&gt;V tomto příkladu jste viděli přepsaný př.1 do forka. Všiměte si že dva řádky z př.1 se nyní ocitly v závorce spolu s podmínkou.&lt;/p&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Cyklem označujeme část kódu, který se opakuje. Chceme-li něco udělat třeba tisíckát, můžeme tisíckrát zkopírovat příkaz a nebo to udělat v cyklu.&lt;/p&gt;
&lt;p&gt;Nedávno jsem si dělala &lt;a href=&quot;http://e-skola.zolta.cz/programy/kresba/sit2.html&quot;&gt;tuto&lt;/a&gt; pomůcku pro kreslení a potřebovala jsem vygenerovat síť tlačítek, které mi zakryjí obrázek. Cykly potřebujeme znát když pracujeme s poli (složitější proměnná o které si povíme více příště).&lt;/p&gt;
&lt;p&gt;POZOR! Hrajeme-li si s cykly, velmi snadno se nám stane, že se zacyklíme. Spustíme-li nekonečný cyklus většinou nám zatuhne prohlížeč, v horším případě budeme muset restartovat celý počítač.&lt;/p&gt;
&lt;p&gt;Existují tři základní typy cyklů:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;while (podmínka) { tělo cyklu }&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;do { tělo cyklu } while (podmínka)&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;for ( počáteční hodnota ; podmínka ; krok ) { tělo cyklu }&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;While je cyklus s podmínkou na začátku. Do-while je cyklus s podmínkou na konci. To je jediný rozdíl. U těchto dvou cyklů si však člověk musí dávat pořádně pozor, aby se nezacyklil. Všchny cykly běží tak dlouho, dokud je podmínka pravdivá. Zapomeneme-li teda uvnitř cyklu, měnit hodnotu proměnné v podmínce, jsme zacyklení.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/krprog/vystup01.png&quot; border=&quot;0&quot; width=&quot;200&quot; style=&quot;float: right; border: 0;&quot; /&gt;Př.1: &lt;a href=&quot;programko/downloadkode.html?co=cykly.html&quot;&gt;cykly.html&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;                       var juchu = 1;
			while ( juchu &amp;lt; 11 ) { 
			   	document.write(&quot;juchu je &quot;);
			   	document.write(juchu);
				document.write(&quot;&amp;lt;br&amp;gt;&quot;);
				&lt;strong&gt;juchu = juchu + 1;&lt;/strong&gt;
			}&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Kdybych zapoměla na poslední zvýrazněný příkaz cyklu (jako že jsem zapoměla :)), došlo by k zacyklení. Neboť proměnná juchu by se neměnila, zůstavala by stále rovna jedné, a podmínka &lt;em&gt;juchu &amp;lt; 11&lt;/em&gt; by byla stále pravdivá &lt;em&gt;1&amp;lt;11&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;No a protože se na tu kontrolní proměnnou často zapomíná a takové zapomnění, může udělat pěknou paseku, je tu cyklus for. V cyklu for, musíme ošetřit hned na začátku všechno. Kromě samotné podmínky obsahuje hlavička forka počáteční hodnotu a krok (přičtení s každým cyklem), vše odděleno středníkem.&lt;/p&gt;
&lt;p&gt;Př.2: &lt;a href=&quot;programko/downloadkode.html?co=cykly-for.html&quot;&gt;cykly-for.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;                       for (var juchu=1; juchu &amp;lt; 11 ; &lt;strong&gt;juchu = juchu+1&lt;/strong&gt;) { &lt;br /&gt;			   	document.write(&quot;juchu je &quot;);&lt;br /&gt;			   	document.write(juchu);&lt;br /&gt;				document.write(&quot;&amp;lt;br&amp;gt;&quot;);&lt;br /&gt;			}&lt;/pre&gt;
&lt;p&gt;V tomto příkladu jste viděli přepsaný př.1 do forka. Všiměte si že dva řádky z př.1 se nyní ocitly v závorce spolu s podmínkou.&lt;/p&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>12 Formuláře + Robot</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/268-12-formulare-robot"/>
		<published>2020-01-09T19:05:01+00:00</published>
		<updated>2020-01-09T19:05:01+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/268-12-formulare-robot</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Doposud jsme řešili obsluhu uživatelských akcí pomocí událostí. Tlačítku jsme nastavili onClick událost, která nás odkázala na funkci v skriptové části. Na podnět Toma si dnes představíme formuláře a vytvoříme si svůj vlastní &quot;vyhledávač&quot;:&lt;/p&gt;
&lt;p&gt;Vyhledej videa na téma: &lt;input type=&quot;text&quot; /&gt;&lt;input onclick=&quot;alert('Ne,ne to TY si nákodíš vyhledávač :P Já ti nic hledat nebudu.\nJen ti jen prozradím, jak na to. Tak čti pěkně dál :)');&quot; type=&quot;button&quot; value=&quot;hledat&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Proč formuláře?&lt;/h2&gt;
&lt;p&gt;Jak už jsem zmínila dříve, v rámci výuky bastlíme všechno dohromady - styly, skripty, html - vše v jednom dokumentu. Protože děláme &quot;jednoduché&quot; věci na několik málo řádku, je tento způsob přehledný. V praxi, kdy třeba jen styly jsou na sto řádků, bychom se v takovém zdrojáku uskrolovali k smrti. No a stejně jako můžeme styly vypreparovat do zvláštního souboru s koncovkou .css, můžeme i programovou část řešit zvlášť. Formuláře slouží k tomuto způsobu, kdy ve formuláři jen sesbíráme data a pošleme je na zpracování někam pryč.&lt;/p&gt;
&lt;h2&gt;Jak na to?&lt;/h2&gt;
&lt;p&gt;Všechny ovládací prvky (tlačítka, kolonky, zaškrtávátka,...), tedy tágy &amp;lt;input&amp;gt;, strčíme do formuláře.&lt;/p&gt;
&lt;pre&gt;&amp;lt;form &lt;strong&gt;action=&quot;https://www.youtube.com/&quot;&lt;/strong&gt;&amp;gt;
    &amp;lt;input type=&quot;text&quot; &lt;strong&gt;name=&quot;tema&quot;&lt;/strong&gt;&amp;gt;
    &amp;lt;input &lt;strong&gt;type=&quot;submit&quot;&amp;gt;&lt;/strong&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/pre&gt;
&lt;p&gt;Každý formulář by měl mít tlačítko k odeslání &amp;lt;input &lt;strong&gt;type=&quot;submit&quot;&lt;/strong&gt;&amp;gt;, kterým dojde k odeslání formuláře.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;? Kam&lt;/strong&gt; se formulář odešle určuje atribut formuláře &lt;strong&gt;action&lt;/strong&gt;. V ukázce jsme zadali zadali, že chceme formulář odeslat ke zpracování na youtube.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;? Co&lt;/strong&gt; vlastně posíláme na youtube?? Posíláme tam vyplněná data z našeho formuláře. Jednotlivé prvky formuláře proto musíme mít pojmenovány. Naše jediná kolonka z ukázky má jméno tema &lt;strong&gt;name=&quot;tema&quot;&lt;/strong&gt;. Je to v podstatě to samé jako id, které jsme používali dříve. Proč formuláře neumí pracovat s id, fakt netuším.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;? Jak &lt;/strong&gt;se odešle formulář? Existují dvě metody k odeslání formuláře výchozí metoda &lt;strong&gt;get&lt;/strong&gt;, která pošle data v URL adrese. V podstatě nastartuje stránky podobně jako odkaz, jen za otazník přilepí vyplněná data. Další metoda &lt;strong&gt;post&lt;/strong&gt; se používá, nechceme-li aby byly odesílané data vidět.&lt;/p&gt;
&lt;h2&gt;Jdeme zkoušet&lt;/h2&gt;
&lt;p&gt;Vyzkoušej si formulář z ukázky výše, napiš do kolonky třeba &quot;pes&quot; a klikni na tlačítko. Nic zvláštního se nestalo. Jen se nastartoval jůtub. Ale přece jen se něco povedlo. Mrkni do url adresy. Na konci je ?tema=pes. Tedy název textboxu z tvého vyhledávače a vyplněná hodnota. Povedlo se ti tedy odeslat formulář na youtube. A kdyby youtube rozuměl tvému formuláři, určitě by ti vyhledal videa o psovi.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/krprog/vyhledavac-U2b-link1.jpg&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;border: 0;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Jenže youtube tvému formuláři nerozumí. Pojmenoval si svůj textbox jinak než ty. Když zjistíš jak, podaří se ti podstrčit mu svůj formulář tak, že mu bude rozumnět. Zadej nyní do standardního vyhledávače na youtubu třeba toho psa a podívej se, do URL adresy.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/krprog/vyhledavac-U2b-link2.jpg&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;border: 0;&quot; /&gt;&lt;/p&gt;
&lt;p&gt; Vidíš rozdíl?&lt;/p&gt;
&lt;p&gt;1) Vyhledáváš-li přes youtube, jeho textbox se jmenuje search_query, nikoli tema jako u tebe&lt;/p&gt;
&lt;p&gt;2) Vyhledáváš-li přes youtube, odešle se formulář na adresu https://www.youtube.com/results&lt;/p&gt;
&lt;p&gt;Upravíš-li svůj vlastní vyhledávač, tak aby se formulář odeslal na správnou adresu a přejmenuješ li svou kolonku na stejné jméno jako má youtube, budeš mít svůj vlastní youtube-vyhledávač.&lt;/p&gt;
&lt;p&gt;Podobně můžeš udělat vyhledávač na seznam, nebo google. Stačí jen odpozorovat, jaké názvy textboxů používají tyto vyhledávače a ty použít i ve svém.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;PS.: Tohle sice vypadá jako těžká frajeřina. Hele naprogramoval jsem google vyhledávač. Ale ve skutečnosti jen využíváš službu googlu. Vyhledávače samy o sobě, mají prográmky (roboty), kteří každý den procházejí Internet, projíždějí všechny odkazy, které najdou, zpracovávají text, ukládají jej do svých databází a pak vyhledávají ve svých vlastních datech. Jde o složitý proces, který nikomu nepoví, neboť je to jejich přísně tajné know how.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Doposud jsme řešili obsluhu uživatelských akcí pomocí událostí. Tlačítku jsme nastavili onClick událost, která nás odkázala na funkci v skriptové části. Na podnět Toma si dnes představíme formuláře a vytvoříme si svůj vlastní &quot;vyhledávač&quot;:&lt;/p&gt;
&lt;p&gt;Vyhledej videa na téma: &lt;input type=&quot;text&quot; /&gt;&lt;input onclick=&quot;alert('Ne,ne to TY si nákodíš vyhledávač :P Já ti nic hledat nebudu.\nJen ti jen prozradím, jak na to. Tak čti pěkně dál :)');&quot; type=&quot;button&quot; value=&quot;hledat&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Proč formuláře?&lt;/h2&gt;
&lt;p&gt;Jak už jsem zmínila dříve, v rámci výuky bastlíme všechno dohromady - styly, skripty, html - vše v jednom dokumentu. Protože děláme &quot;jednoduché&quot; věci na několik málo řádku, je tento způsob přehledný. V praxi, kdy třeba jen styly jsou na sto řádků, bychom se v takovém zdrojáku uskrolovali k smrti. No a stejně jako můžeme styly vypreparovat do zvláštního souboru s koncovkou .css, můžeme i programovou část řešit zvlášť. Formuláře slouží k tomuto způsobu, kdy ve formuláři jen sesbíráme data a pošleme je na zpracování někam pryč.&lt;/p&gt;
&lt;h2&gt;Jak na to?&lt;/h2&gt;
&lt;p&gt;Všechny ovládací prvky (tlačítka, kolonky, zaškrtávátka,...), tedy tágy &amp;lt;input&amp;gt;, strčíme do formuláře.&lt;/p&gt;
&lt;pre&gt;&amp;lt;form &lt;strong&gt;action=&quot;https://www.youtube.com/&quot;&lt;/strong&gt;&amp;gt;
    &amp;lt;input type=&quot;text&quot; &lt;strong&gt;name=&quot;tema&quot;&lt;/strong&gt;&amp;gt;
    &amp;lt;input &lt;strong&gt;type=&quot;submit&quot;&amp;gt;&lt;/strong&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/pre&gt;
&lt;p&gt;Každý formulář by měl mít tlačítko k odeslání &amp;lt;input &lt;strong&gt;type=&quot;submit&quot;&lt;/strong&gt;&amp;gt;, kterým dojde k odeslání formuláře.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;? Kam&lt;/strong&gt; se formulář odešle určuje atribut formuláře &lt;strong&gt;action&lt;/strong&gt;. V ukázce jsme zadali zadali, že chceme formulář odeslat ke zpracování na youtube.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;? Co&lt;/strong&gt; vlastně posíláme na youtube?? Posíláme tam vyplněná data z našeho formuláře. Jednotlivé prvky formuláře proto musíme mít pojmenovány. Naše jediná kolonka z ukázky má jméno tema &lt;strong&gt;name=&quot;tema&quot;&lt;/strong&gt;. Je to v podstatě to samé jako id, které jsme používali dříve. Proč formuláře neumí pracovat s id, fakt netuším.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;? Jak &lt;/strong&gt;se odešle formulář? Existují dvě metody k odeslání formuláře výchozí metoda &lt;strong&gt;get&lt;/strong&gt;, která pošle data v URL adrese. V podstatě nastartuje stránky podobně jako odkaz, jen za otazník přilepí vyplněná data. Další metoda &lt;strong&gt;post&lt;/strong&gt; se používá, nechceme-li aby byly odesílané data vidět.&lt;/p&gt;
&lt;h2&gt;Jdeme zkoušet&lt;/h2&gt;
&lt;p&gt;Vyzkoušej si formulář z ukázky výše, napiš do kolonky třeba &quot;pes&quot; a klikni na tlačítko. Nic zvláštního se nestalo. Jen se nastartoval jůtub. Ale přece jen se něco povedlo. Mrkni do url adresy. Na konci je ?tema=pes. Tedy název textboxu z tvého vyhledávače a vyplněná hodnota. Povedlo se ti tedy odeslat formulář na youtube. A kdyby youtube rozuměl tvému formuláři, určitě by ti vyhledal videa o psovi.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/krprog/vyhledavac-U2b-link1.jpg&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;border: 0;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Jenže youtube tvému formuláři nerozumí. Pojmenoval si svůj textbox jinak než ty. Když zjistíš jak, podaří se ti podstrčit mu svůj formulář tak, že mu bude rozumnět. Zadej nyní do standardního vyhledávače na youtubu třeba toho psa a podívej se, do URL adresy.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/krprog/vyhledavac-U2b-link2.jpg&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;border: 0;&quot; /&gt;&lt;/p&gt;
&lt;p&gt; Vidíš rozdíl?&lt;/p&gt;
&lt;p&gt;1) Vyhledáváš-li přes youtube, jeho textbox se jmenuje search_query, nikoli tema jako u tebe&lt;/p&gt;
&lt;p&gt;2) Vyhledáváš-li přes youtube, odešle se formulář na adresu https://www.youtube.com/results&lt;/p&gt;
&lt;p&gt;Upravíš-li svůj vlastní vyhledávač, tak aby se formulář odeslal na správnou adresu a přejmenuješ li svou kolonku na stejné jméno jako má youtube, budeš mít svůj vlastní youtube-vyhledávač.&lt;/p&gt;
&lt;p&gt;Podobně můžeš udělat vyhledávač na seznam, nebo google. Stačí jen odpozorovat, jaké názvy textboxů používají tyto vyhledávače a ty použít i ve svém.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;PS.: Tohle sice vypadá jako těžká frajeřina. Hele naprogramoval jsem google vyhledávač. Ale ve skutečnosti jen využíváš službu googlu. Vyhledávače samy o sobě, mají prográmky (roboty), kteří každý den procházejí Internet, projíždějí všechny odkazy, které najdou, zpracovávají text, ukládají jej do svých databází a pak vyhledávají ve svých vlastních datech. Jde o složitý proces, který nikomu nepoví, neboť je to jejich přísně tajné know how.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>10 Shrnutí + odklizení sněhu 1</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/266-10-sumarum"/>
		<published>2019-12-05T07:46:00+00:00</published>
		<updated>2019-12-05T07:46:00+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/266-10-sumarum</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Pojďme si všechno přehledně shrnout na jednom místě. Aneb kopírovací příručka.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;HTML tágy&lt;/h2&gt;
&lt;p&gt;&lt;input type=&quot;text&quot; value=&quot;bubli bubli&quot; /&gt;  &lt;span class=&quot;pre&quot;&gt; &amp;lt;input type=&quot;text&quot; value=&quot;bubli bubli&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;input type=&quot;button&quot; value=&quot;ťuk&quot; /&gt;&lt;span class=&quot;pre&quot;&gt; &amp;lt;input type=&quot;button&quot; value=&quot;ťuk&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.misie.com.pl/nasza-stara-strona/kolekcjonerzy/images/js_logo.png&quot; border=&quot;0&quot; width=&quot;50&quot; style=&quot;border: 0; float: left;&quot; /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;img src=&quot;js_logo.png&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;p&amp;gt;&lt;/span&gt;odstavec&lt;span class=&quot;pre&quot;&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;span&amp;gt;&lt;/span&gt;kousek textu&lt;span class=&quot;pre&quot;&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;nadpis&lt;span class=&quot;pre&quot;&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.jakpsatweb.cz/html/formulare.html&quot;&gt;Seznam formulářových tágů (www.jakpsatweb.cz)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.jakpsatweb.cz/html/&quot;&gt;Seznam HTML tágů (www.jakpsatweb.cz)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;Propojení HTML části s programovou části (SCRIPT)&lt;/h2&gt;
&lt;p&gt;Jak propojit viditelnou HTML část (&amp;lt;body&amp;gt;...&amp;lt;/body&amp;gt;) s programovou části (&amp;lt;script&amp;gt;&amp;lt;/script&amp;gt;) a vytvořit z webu program.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/skola/propojeniHtmlJavaScript.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;1. Události (HTML -&amp;gt; SCRIPT)&lt;/h3&gt;
&lt;p&gt;To co nás hodí z HTML do scriptu jsou události (events). Události se přiřazují jednotlivým html tágům podobně jako vlastnosti. Události obsahují část scriptu, ideálně když se jen zavolá nějaká funkce do scriptové části.&lt;/p&gt;
&lt;p&gt;&lt;input onclick=&quot;value='baf'&quot; type=&quot;button&quot; value=&quot;ťuk&quot; /&gt;&lt;span class=&quot;pre&quot;&gt; &amp;lt;input type=&quot;button&quot; value=&quot;ťuk&quot; onClick=&quot;baf()'&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;input style=&quot;width: 150px;&quot; onclick=&quot;style.background='red'&quot; onmouseover=&quot;value='Co mi chceš udělat?!'&quot; onmouseout=&quot;value='Uf';style.background='gray'&quot; type=&quot;button&quot; value=&quot;Uf&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;input type=&quot;button&quot; value=&quot;Já tu nejsem&quot; onClick=&quot;au()'&quot; onMouseOver=&quot;bojim()&quot; onMouseOut=&quot;uf()&quot; id=&quot;ustrasenec&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class=&quot;zadani-prikladu&quot;&gt;
&lt;h6&gt;Seznam některých událostí&lt;/h6&gt;
&lt;br /&gt;
&lt;pre&gt;onClick&lt;/pre&gt;
kliknutí myší na prvek&lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onMouseOver&lt;/pre&gt;
najetí myší nad prvek &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onMouseOut&lt;/pre&gt;
odjetí myši z prvku &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onDblClick&lt;/pre&gt;
dvojitý klik myší &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onLoad&lt;/pre&gt;
načtení stránky &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onKeyPress&lt;/pre&gt;
stisknutí klávesy&lt;br /&gt;&lt;br /&gt; ... &lt;a href=&quot;https://www.jakpsatweb.cz/javascript/udalosti.html&quot;&gt;a další na jakpsatweb.cz&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Oba tlačítka výše odchytávají události onClick. K té dojde po kliknutí na tlačítko. První tlačítko zavolá při této události funkci baf() a druhé volá funkci au(). Další události které můžeme použít vidíte u druhého tlačítka. Jejich význam vidíte v zeleném rámečku vpravo.&lt;/p&gt;
&lt;p&gt;Př.1: Poznáš z chování ukázkových tlačítek (výše) jaké příkazy obsahuje funkce &lt;span class=&quot;pre&quot;&gt;uf()?&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;idd&quot;).style.left = &quot;300px&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).style.background = &quot;green&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='green'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).value = &quot;Uf&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;obrazek1&quot;).src = &quot;logo-goole.jpg&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).style.background = &quot;red&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).style.color = &quot;red&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).value = &quot;Co mi chceš udělat?&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='green'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).style.background = &quot;gray&quot;;&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;2. Identifikátor id=&quot;&quot;&lt;/h3&gt;
&lt;p&gt;Ve skritpu potřebujeme pracovat zase s HTML prvky, takže se k ním potřebujeme nějak dostat. Abychom přesně určili (identifiovali) prvek s kterým chceme pracovat, musíme jej opatřit IDčkem.&lt;strong&gt; ID znamená jednoznačné identifikační číslo.&lt;/strong&gt; Například jako ID člověka (občana) se používá rodné číslo. Nemohou (neměli by) existovat dva lidé se stejným rodným číslem. Pomocí inventárního čísla můžeme zase jednoznačně určit konkrétní stůl ve škole, jde tedy o ID nábytku.&lt;/p&gt;
&lt;p&gt;V HTML a JavaSriptu můžeme použít jako ID nejen čísla, ale libovolný text. A to tak, že html tág opatříme vlastností id:&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;img src=&quot;jehla.jpg&quot; id=&quot;obrazek1&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;input type=&quot;button&quot; id=&quot;tlacitko&quot;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;p id=&quot;skore&quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Ve skriptu se pak k těmto prvkům (které jsou opatřeny vlastnosti id) dostaneme pomocí tohoto příkazu (defaultní funkce JavaScriptu):&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;document.getElementById(&quot;obrazek1&quot;); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Tato funkce vrací objekt s daným id, v tomto případě tedy objekt obrázku. Můžeme mu tedy nastavovat vlastnosti typické pro obrázek jako třeba src. A to buďto rovnou, nebo si jej vložit do proměnné. To je výhodné, zejména chceme-li s tímto objektem pracovat více.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span class=&quot;pre&quot;&gt;document.getElementById(&quot;tlacitko&quot;).value = &quot;Ťukni si&quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;var obr = document.getElementById(&quot;obrazek1&quot;); &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;obr.src = &quot;nit.jpg&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;obr.style.width = &quot;50px&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;Př.2: Hra odklízení sněhu&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&lt;a href=&quot;programko/hra.html&quot; target=&quot;_blank&quot;&gt;hra.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Pojďme si všechno přehledně shrnout na jednom místě. Aneb kopírovací příručka.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;HTML tágy&lt;/h2&gt;
&lt;p&gt;&lt;input type=&quot;text&quot; value=&quot;bubli bubli&quot; /&gt;  &lt;span class=&quot;pre&quot;&gt; &amp;lt;input type=&quot;text&quot; value=&quot;bubli bubli&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;input type=&quot;button&quot; value=&quot;ťuk&quot; /&gt;&lt;span class=&quot;pre&quot;&gt; &amp;lt;input type=&quot;button&quot; value=&quot;ťuk&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.misie.com.pl/nasza-stara-strona/kolekcjonerzy/images/js_logo.png&quot; border=&quot;0&quot; width=&quot;50&quot; style=&quot;border: 0; float: left;&quot; /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;img src=&quot;js_logo.png&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;p&amp;gt;&lt;/span&gt;odstavec&lt;span class=&quot;pre&quot;&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;span&amp;gt;&lt;/span&gt;kousek textu&lt;span class=&quot;pre&quot;&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;nadpis&lt;span class=&quot;pre&quot;&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.jakpsatweb.cz/html/formulare.html&quot;&gt;Seznam formulářových tágů (www.jakpsatweb.cz)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.jakpsatweb.cz/html/&quot;&gt;Seznam HTML tágů (www.jakpsatweb.cz)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;Propojení HTML části s programovou části (SCRIPT)&lt;/h2&gt;
&lt;p&gt;Jak propojit viditelnou HTML část (&amp;lt;body&amp;gt;...&amp;lt;/body&amp;gt;) s programovou části (&amp;lt;script&amp;gt;&amp;lt;/script&amp;gt;) a vytvořit z webu program.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/skola/propojeniHtmlJavaScript.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;1. Události (HTML -&amp;gt; SCRIPT)&lt;/h3&gt;
&lt;p&gt;To co nás hodí z HTML do scriptu jsou události (events). Události se přiřazují jednotlivým html tágům podobně jako vlastnosti. Události obsahují část scriptu, ideálně když se jen zavolá nějaká funkce do scriptové části.&lt;/p&gt;
&lt;p&gt;&lt;input onclick=&quot;value='baf'&quot; type=&quot;button&quot; value=&quot;ťuk&quot; /&gt;&lt;span class=&quot;pre&quot;&gt; &amp;lt;input type=&quot;button&quot; value=&quot;ťuk&quot; onClick=&quot;baf()'&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;input style=&quot;width: 150px;&quot; onclick=&quot;style.background='red'&quot; onmouseover=&quot;value='Co mi chceš udělat?!'&quot; onmouseout=&quot;value='Uf';style.background='gray'&quot; type=&quot;button&quot; value=&quot;Uf&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;input type=&quot;button&quot; value=&quot;Já tu nejsem&quot; onClick=&quot;au()'&quot; onMouseOver=&quot;bojim()&quot; onMouseOut=&quot;uf()&quot; id=&quot;ustrasenec&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class=&quot;zadani-prikladu&quot;&gt;
&lt;h6&gt;Seznam některých událostí&lt;/h6&gt;
&lt;br /&gt;
&lt;pre&gt;onClick&lt;/pre&gt;
kliknutí myší na prvek&lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onMouseOver&lt;/pre&gt;
najetí myší nad prvek &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onMouseOut&lt;/pre&gt;
odjetí myši z prvku &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onDblClick&lt;/pre&gt;
dvojitý klik myší &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onLoad&lt;/pre&gt;
načtení stránky &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;onKeyPress&lt;/pre&gt;
stisknutí klávesy&lt;br /&gt;&lt;br /&gt; ... &lt;a href=&quot;https://www.jakpsatweb.cz/javascript/udalosti.html&quot;&gt;a další na jakpsatweb.cz&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Oba tlačítka výše odchytávají události onClick. K té dojde po kliknutí na tlačítko. První tlačítko zavolá při této události funkci baf() a druhé volá funkci au(). Další události které můžeme použít vidíte u druhého tlačítka. Jejich význam vidíte v zeleném rámečku vpravo.&lt;/p&gt;
&lt;p&gt;Př.1: Poznáš z chování ukázkových tlačítek (výše) jaké příkazy obsahuje funkce &lt;span class=&quot;pre&quot;&gt;uf()?&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;idd&quot;).style.left = &quot;300px&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).style.background = &quot;green&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='green'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).value = &quot;Uf&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;obrazek1&quot;).src = &quot;logo-goole.jpg&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).style.background = &quot;red&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).style.color = &quot;red&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='red'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).value = &quot;Co mi chceš udělat?&quot;;&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;&lt;input class=&quot;kontrola&quot; onclick=&quot;style.background='green'&quot; type=&quot;button&quot; /&gt; document.document.getElementById(&quot;ustrasenec&quot;).style.background = &quot;gray&quot;;&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;2. Identifikátor id=&quot;&quot;&lt;/h3&gt;
&lt;p&gt;Ve skritpu potřebujeme pracovat zase s HTML prvky, takže se k ním potřebujeme nějak dostat. Abychom přesně určili (identifiovali) prvek s kterým chceme pracovat, musíme jej opatřit IDčkem.&lt;strong&gt; ID znamená jednoznačné identifikační číslo.&lt;/strong&gt; Například jako ID člověka (občana) se používá rodné číslo. Nemohou (neměli by) existovat dva lidé se stejným rodným číslem. Pomocí inventárního čísla můžeme zase jednoznačně určit konkrétní stůl ve škole, jde tedy o ID nábytku.&lt;/p&gt;
&lt;p&gt;V HTML a JavaSriptu můžeme použít jako ID nejen čísla, ale libovolný text. A to tak, že html tág opatříme vlastností id:&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;img src=&quot;jehla.jpg&quot; id=&quot;obrazek1&quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;input type=&quot;button&quot; id=&quot;tlacitko&quot;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&amp;lt;p id=&quot;skore&quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Ve skriptu se pak k těmto prvkům (které jsou opatřeny vlastnosti id) dostaneme pomocí tohoto příkazu (defaultní funkce JavaScriptu):&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;document.getElementById(&quot;obrazek1&quot;); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Tato funkce vrací objekt s daným id, v tomto případě tedy objekt obrázku. Můžeme mu tedy nastavovat vlastnosti typické pro obrázek jako třeba src. A to buďto rovnou, nebo si jej vložit do proměnné. To je výhodné, zejména chceme-li s tímto objektem pracovat více.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span class=&quot;pre&quot;&gt;document.getElementById(&quot;tlacitko&quot;).value = &quot;Ťukni si&quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;var obr = document.getElementById(&quot;obrazek1&quot;); &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;obr.src = &quot;nit.jpg&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;obr.style.width = &quot;50px&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;Př.2: Hra odklízení sněhu&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;pre&quot;&gt;&lt;a href=&quot;programko/hra.html&quot; target=&quot;_blank&quot;&gt;hra.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
	<entry>
		<title>09 Podmínky</title>
		<link rel="alternate" type="text/html" href="https://lucie.zolta.cz/index.php/programovani-i/264-09-podminky"/>
		<published>2019-12-05T07:46:00+00:00</published>
		<updated>2019-12-05T07:46:00+00:00</updated>
		<id>https://lucie.zolta.cz/index.php/programovani-i/264-09-podminky</id>
		<author>
			<name>Super User</name>
			<email>L.Zolta@seznam.cz</email>
		</author>
		<summary type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Podmínka, neboli ify slouží k větvení programu.&lt;/p&gt;
&lt;p&gt;Je-li podmínka splněná provede se tělo if{...}.&lt;/p&gt;
&lt;p&gt;V opačném případě pak tělo else{...}, je-li definováno.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;span class=&quot;pr&quot;&gt;Př.1:&lt;/span&gt; Syntaxe podmínky v JavaScriptu, aneb jak se zapisuje if.&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;if (mojeCislo &amp;gt; 5)&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;{&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;        alert(&quot;Podminka splnena.&quot;);&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;}&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;else&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;{&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;       alert(&quot;Proběhlo ELSE.&quot;);&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;}&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Bude-li mojeCislo=7, pak vyskočí okono s nápisem Podmínka splněna. Bude-li mojeCislo=4, pak se vykoná část else a vyskočí okno s nápisem Proběhlo ELSE.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Př.2. Vyzkoušej si, zda umíš správně zapsat podmínku. Doplň kód v následujících příkladech tak, aby měla podmínka smysl.&lt;/p&gt;
&lt;p&gt;a) &lt;a href=&quot;https://www.w3schools.com/js/exercise_js.asp?filename=exercise_js_conditions1&quot;&gt;příklad 1 &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;b) &lt;a href=&quot;https://www.w3schools.com/js/exercise_js.asp?filename=exercise_js_conditions2&quot;&gt;příklad 2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;*své řešení si ověř kliknutím na zelené tlačítko&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;V dávných dobách, kdy počítače ještě neměly žádnou grafiku existovaly textové hry. Scény se popisovaly a hráči si vybírali z několika možností. Vytvoř si takovouto hru:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;programko/pohadka.html&quot; target=&quot;_blank&quot;&gt;pohadka.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Zobrazíš-li si kód (ctrl+u) této pohádky, zjistíš že je v kódu jen hromada ifů ošetřujících jednotlivé situace.&lt;/p&gt;&lt;/div&gt;</summary>
		<content type="html">&lt;div class=&quot;feed-description&quot;&gt;&lt;p&gt;Podmínka, neboli ify slouží k větvení programu.&lt;/p&gt;
&lt;p&gt;Je-li podmínka splněná provede se tělo if{...}.&lt;/p&gt;
&lt;p&gt;V opačném případě pak tělo else{...}, je-li definováno.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;span class=&quot;pr&quot;&gt;Př.1:&lt;/span&gt; Syntaxe podmínky v JavaScriptu, aneb jak se zapisuje if.&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;if (mojeCislo &amp;gt; 5)&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;{&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;        alert(&quot;Podminka splnena.&quot;);&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;}&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;else&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;{&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;       alert(&quot;Proběhlo ELSE.&quot;);&lt;/p&gt;
&lt;p class=&quot;pre&quot;&gt;}&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Bude-li mojeCislo=7, pak vyskočí okono s nápisem Podmínka splněna. Bude-li mojeCislo=4, pak se vykoná část else a vyskočí okno s nápisem Proběhlo ELSE.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Př.2. Vyzkoušej si, zda umíš správně zapsat podmínku. Doplň kód v následujících příkladech tak, aby měla podmínka smysl.&lt;/p&gt;
&lt;p&gt;a) &lt;a href=&quot;https://www.w3schools.com/js/exercise_js.asp?filename=exercise_js_conditions1&quot;&gt;příklad 1 &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;b) &lt;a href=&quot;https://www.w3schools.com/js/exercise_js.asp?filename=exercise_js_conditions2&quot;&gt;příklad 2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;*své řešení si ověř kliknutím na zelené tlačítko&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;V dávných dobách, kdy počítače ještě neměly žádnou grafiku existovaly textové hry. Scény se popisovaly a hráči si vybírali z několika možností. Vytvoř si takovouto hru:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;programko/pohadka.html&quot; target=&quot;_blank&quot;&gt;pohadka.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Zobrazíš-li si kód (ctrl+u) této pohádky, zjistíš že je v kódu jen hromada ifů ošetřujících jednotlivé situace.&lt;/p&gt;&lt;/div&gt;</content>
		<category term="Kroužek programování I (2019/20)" />
	</entry>
</feed>
