<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Košinar - portfolio</title>
	<atom:link href="https://portfolio.kosinar.cz/feed/" rel="self" type="application/rss+xml" />
	<link>https://portfolio.kosinar.cz</link>
	<description></description>
	<lastBuildDate>Mon, 16 Feb 2015 18:22:20 +0000</lastBuildDate>
	<language>cs-CZ</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.38</generator>
	<item>
		<title>Programování (7) Struktura, union a výčet</title>
		<link>https://portfolio.kosinar.cz/programovani-7-struktura-union-vycet/</link>
		<comments>https://portfolio.kosinar.cz/programovani-7-struktura-union-vycet/#comments</comments>
		<pubDate>Fri, 26 Sep 2014 07:41:04 +0000</pubDate>
		<dc:creator><![CDATA[adam@kosinar.cz]]></dc:creator>
				<category><![CDATA[Programování]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[definice struktury]]></category>
		<category><![CDATA[enum]]></category>
		<category><![CDATA[pointer na strukturu]]></category>
		<category><![CDATA[pole struktur]]></category>
		<category><![CDATA[programování]]></category>
		<category><![CDATA[struktura]]></category>
		<category><![CDATA[union]]></category>
		<category><![CDATA[výčet]]></category>
		<category><![CDATA[výčtový typ]]></category>

		<guid isPermaLink="false">http://portfolio.kosinar.cz/?p=249</guid>
		<description><![CDATA[<p>&#160; &#160; Struktura • struktura je heterogenní datový typ (je složen z libovolného počtu prvků různých datových typů) • navenek vystupuje jako jeden objekt Definice 1. struktura není pojmenována, nedá se využít dále v programu, lze používat pouze definované proměnné...<br /><a class="read-more-button" href="https://portfolio.kosinar.cz/programovani-7-struktura-union-vycet/">Číst více</a></p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-7-struktura-union-vycet/">Programování (7) Struktura, union a výčet</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>Struktura</h2>
<p>• struktura je heterogenní datový typ (je složen z libovolného počtu prvků různých<br />
datových typů)<br />
• navenek vystupuje jako jeden objekt</p>
<h3>Definice</h3>
<h4 style="text-align: left;"><strong>1. struktura není pojmenována, nedá se využít dále v programu, lze používat pouze definované proměnné</strong></h4>
<p style="text-align: left;">struct {<br />
int vyska;<br />
float vaha;<br />
} pavel, honza, karel;</p>
<h4 style="text-align: left;"><strong>2. struktura je pojmenována, dá se využít dále v programu</strong></h4>
<p style="text-align: left;">struct miry {<br />
int vyska;<br />
float vaha;<br />
} pavel, honza, karel;<br />
struct miry jan, martin; // definice proměnných<br />
miry jan, martin; // chyba</p>
<h4 style="text-align: left;"><strong>3. definice struktury jako nový datový typ pomocí příkazu typedef, k definici proměnných není potřeba klíčové slovo struct</strong></h4>
<p style="text-align: left;">typedef struct {<br />
int vyska;<br />
float vaha;<br />
} MIRY;<br />
MIRY pavel, honza, karel;</p>
<h4 style="text-align: left;"><strong>4. definice pomocí typedef, kdy je struktura pojmenována, používá se, když struktura</strong> <strong>odkazuje na sebe sama</strong></h4>
<p style="text-align: left;">typedef struct polozka {<br />
int hodnota;<br />
struct položka *dalsi;<br />
} POLOZKA;</p>
<h3 style="text-align: left;">Přístup</h3>
<p style="text-align: left;">CLASS první,druhy;<br />
prvni.iq=120;<br />
strcpy(první.jmeno,&#8220;Michal&#8220;);<br />
scanf(&#8222;%d&#8220;,&amp;druhy.iq);<br />
gets(druhy.jmeno);<br />
printf(&#8222;%s&#8220;,druhy.jmeno);<br />
printf(&#8222;%c&#8220;,druhy.jmeno[2]);</p>
<h4 style="text-align: left;">• pole struktur</h4>
<p style="text-align: left;">MIRY lide[100];<br />
lide[50].vyska = 176;</p>
<h4 style="text-align: left;">• je možné pracovat s celou strukturou najednou (honza = pavel – kopie celé struktury najednou)</h4>
<h4 style="text-align: left;">• pole ve struktuře</h4>
<p style="text-align: left;">typedef struct {<br />
int pole[10];<br />
} STR_POLE;<br />
STR_POLE x;<br />
x.pole[1] = 5;</p>
<h4 style="text-align: left;">• pointer na strukturu</h4>
<p style="text-align: left;">MIRY *clovek;<br />
clovek = (MIRY*) malloc(sizeof(MIRY));</p>
<h4 style="text-align: left;">• přístup k dynamické struktuře</h4>
<p style="text-align: left;">(*clovek).vaha = 70.4; // nebo jednodušeji<br />
clovek-&gt;vaha = 70.4;</p>
<h4 style="text-align: left;">• inicializace struktury</h4>
<p style="text-align: left;">MIRY a = {190, 84.3};</p>
<h2 style="text-align: left;">Union</h2>
<p style="text-align: left;">• vyhradí se paměť pro největší položku ze všech položek v unionu definovaných<br />
• všechny <strong>položky unionu se překrývají</strong> (ve struktuře by ležely za sebou), tzn. může být v jednom okamžiku použita pouze jedna položka<br />
typedef union {<br />
char c;<br />
int i;<br />
float f;<br />
} TEST;<br />
• <strong>union</strong> <strong>neposkytuje</strong> informaci o prvku, který do něj byl naposledy uložen</p>
<h2 style="text-align: left;">Enum (výčtový typ)</h2>
<p style="text-align: left;">• slouží k definici <strong>seznamu symbolických konstant</strong>, které jsou většinou<strong> vzájemně závislé</strong><br />
typedef enum {<br />
MODRA, CERVENA, ZELENA, ZLUTA<br />
} BARVY;<br />
BARVY x = MODRA;<br />
•<strong> čísluje se implicitně od nuly</strong>, lze explicitně inicializovat<br />
typedef enum {<br />
MODRA = 5, CERVENA = 8, ZELENA, ZLUTA = 15<br />
} BARVY; // ZELENA bude mít číslo 9</p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-7-struktura-union-vycet/">Programování (7) Struktura, union a výčet</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></content:encoded>
			<wfw:commentRss>https://portfolio.kosinar.cz/programovani-7-struktura-union-vycet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programování (6) Zdrojový a hlavičkový soubor</title>
		<link>https://portfolio.kosinar.cz/programovani-6-zdrojovy-a-hlavickovy-soubor/</link>
		<comments>https://portfolio.kosinar.cz/programovani-6-zdrojovy-a-hlavickovy-soubor/#comments</comments>
		<pubDate>Fri, 26 Sep 2014 07:33:53 +0000</pubDate>
		<dc:creator><![CDATA[adam@kosinar.cz]]></dc:creator>
				<category><![CDATA[Programování]]></category>
		<category><![CDATA[definice maker]]></category>
		<category><![CDATA[endif]]></category>
		<category><![CDATA[hlavičkový soubor]]></category>
		<category><![CDATA[ifndef]]></category>
		<category><![CDATA[typedef]]></category>
		<category><![CDATA[zdrojový soubor]]></category>

		<guid isPermaLink="false">http://portfolio.kosinar.cz/?p=247</guid>
		<description><![CDATA[<p>&#160; Stavba programu v jazyce C a C++ Obsah souboru .c 1. dokumentační část (jméno souboru a verze, popis modulu, jméno autora) 2. potřebné #include (soubory .h), nejdříve systémové, pak vlastní 3. deklarace extern objektů (v případě, že nejsou v...<br /><a class="read-more-button" href="https://portfolio.kosinar.cz/programovani-6-zdrojovy-a-hlavickovy-soubor/">Číst více</a></p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-6-zdrojovy-a-hlavickovy-soubor/">Programování (6) Zdrojový a hlavičkový soubor</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></description>
				<content:encoded><![CDATA[<h2></h2>
<p>&nbsp;</p>
<h2>Stavba programu v jazyce C a C++</h2>
<h3>Obsah souboru .c</h3>
<p>1. dokumentační část (jméno souboru a verze, popis modulu, jméno autora)<br />
2. potřebné #include (soubory .h), nejdříve systémové, pak vlastní<br />
3. deklarace extern objektů (v případě, že nejsou v .h souboru)<br />
4. definice globálních proměnných<br />
5. lokální #define (lze umístit do .h souboru)<br />
6. definice lokálních typů pomocí typedef (lze umístit do .h souboru)<br />
7. definice statických globálních proměnných (globální proměnné pouze pro daný modul)<br />
8. funkční prototypy lokálních funkcí (deklarace)<br />
9. funkce main() – pokud v daném modulu existuje<br />
10. definice globálních funkcí (jsou volány i z jiných modulů)<br />
11. definice lokálních funkcí (static)</p>
<p>Např.:<br />
#include &lt;stdio.h&gt;<br />
#define PI 3.14<br />
typedef struct { char jm[20]; int vek;} OSOBA;<br />
int global;<br />
int Secti(int x, int y);  // deklarace funkce<br />
void main()<br />
{<br />
int soucet=0;<br />
soucet=Secti(2,PI);<br />
}<br />
int Secti(int x, int y)  // definice funkce<br />
{<br />
return x+y;<br />
}</p>
<h2>Hlavičkové soubory</h2>
<p>-mají příponu *.h, obsahují deklarace funkcí (hlavičky)<br />
-obsahují:<br />
-definice symbolických konstant a maker s parametry<br />
-definice globálních datových typů (pomocí typedef)<br />
-deklarace (hlavičky) funkcí<br />
-podmíněný překlad, který zabrání jejich vícenásobnému vložení<br />
-standardní hlavičkové soubory jsou uložení ve složce include a vkládají se<br />
#include &lt;název souboru.h&gt;<br />
-uživatelské vytváří programátor a vkládají se #include “název souboru.h“ – prohledává nejdříve aktuální adresář a pak v nastavené cestě</p>
<h3>Stavba vlastního hlavičkového souboru</h3>
<p>• nesmí obsahovat definice funkcí<br />
• měl by existovat ke každému .c souboru, kromě toho s funkcí main()<br />
• neměl by obsahovat žádné #include, kromě standardních hlavičkových souborů<br />
• měl by za začátku obsahovat kontrolu vícenásobného vložení</p>
<p>#ifndef HLAVICKA<br />
#define HLAVICKA</p>
<p>// obsah hlavičkového souboru&#8230;</p>
<p>#endif</p>
<h3>Obsah souboru .h</h3>
<p>1. dokumentační část<br />
2. podmíněný překlad proti opakovanému vložení<br />
3. definice symbolických konstant<br />
4. definice maker s parametry<br />
5. definice globálních typů pomocí typedef<br />
6. deklarace globálních proměnných<br />
7. deklarace globálních funkcí</p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-6-zdrojovy-a-hlavickovy-soubor/">Programování (6) Zdrojový a hlavičkový soubor</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></content:encoded>
			<wfw:commentRss>https://portfolio.kosinar.cz/programovani-6-zdrojovy-a-hlavickovy-soubor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programování (5) Hlavní rysy a rozdíly C a C++</title>
		<link>https://portfolio.kosinar.cz/programovani-5-hlavni-rysy-a-rozdily-c-a-c/</link>
		<comments>https://portfolio.kosinar.cz/programovani-5-hlavni-rysy-a-rozdily-c-a-c/#comments</comments>
		<pubDate>Wed, 24 Sep 2014 12:13:33 +0000</pubDate>
		<dc:creator><![CDATA[adam@kosinar.cz]]></dc:creator>
				<category><![CDATA[Programování]]></category>
		<category><![CDATA[Borland Studio]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[rozdíl mezi C a C++]]></category>
		<category><![CDATA[Visual]]></category>

		<guid isPermaLink="false">http://portfolio.kosinar.cz/?p=243</guid>
		<description><![CDATA[<p>&#160; &#160; C je univerzální programovací jazyk pro všechny operační systémy a procesory má úsporné vyjadřování, programy jsou lehce přenositelné vychází z něj další programovací jazyky – C++, Java, Php aj. vyvinuli jej Ken Thompson a Dennis Ritchie pro potřeby...<br /><a class="read-more-button" href="https://portfolio.kosinar.cz/programovani-5-hlavni-rysy-a-rozdily-c-a-c/">Číst více</a></p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-5-hlavni-rysy-a-rozdily-c-a-c/">Programování (5) Hlavní rysy a rozdíly C a C++</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<h3></h3>
<h2>C</h2>
<ul>
<li>je<strong> univerzální programovací jazyk</strong> pro všechny operační systémy a procesory</li>
<li>má úsporné vyjadřování, programy jsou lehce přenositelné</li>
<li>vychází z něj další programovací jazyky – C++, Java, Php aj.</li>
<li>vyvinuli jej Ken Thompson a Dennis Ritchie pro potřeby operačního systému Unix</li>
<li>׃ 1978 první standardizace jazyka C – K&amp;R C, 1989 – standard ANSI C &#8211; akceptován všemi překladači</li>
<li>vyvinul se z nižších programovacích jazyků Fortran, Assembler, CPL, BCPL, B</li>
<li>nejznámější překladače – <strong>Borland C++ Builder</strong>, <strong>Dev C++</strong>, <strong>Microsoft Visual C++</strong></li>
<li><strong>duální povaha:<br />
</strong>Jazyk C jako strukturovaný jazyk je vysoké úrovně:<br />
&#8211; můžeme v něm vytvořit vlastní datové typy a uživatelské aplikace<br />
Jazyk C jako ASSEMBLER nízké úrovně:<br />
&#8211; hodí se pro vývoj nízkoúrovňových aplikací (operační systémy, kompilátory, slovní procesory)</li>
</ul>
<h2><strong>C++</strong></h2>
<ul>
<li>je <strong>objektově orientovaný programovací jazyk</strong>, který vyvinul Bjarne Stroustrup a další v Bellových laboratořích AT&amp;T počátkem 80.let rozšířením jazyka C.</li>
<li>při vyvíjení C++ byla zachována kompatibilita s jazykem C, ne však striktně.</li>
<li>základním krokem od C k C++ bylo zavedení tříd, což otevřelo cestu do světa objektového programování.</li>
<li>výhodou C++ je jeho použití bez nutného využívání objektově orientovaného programování.</li>
</ul>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-5-hlavni-rysy-a-rozdily-c-a-c/">Programování (5) Hlavní rysy a rozdíly C a C++</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></content:encoded>
			<wfw:commentRss>https://portfolio.kosinar.cz/programovani-5-hlavni-rysy-a-rozdily-c-a-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programování (4) Datové typy v jazyce C</title>
		<link>https://portfolio.kosinar.cz/programovani-4-datove-typy-jazyce-c/</link>
		<comments>https://portfolio.kosinar.cz/programovani-4-datove-typy-jazyce-c/#comments</comments>
		<pubDate>Wed, 24 Sep 2014 12:06:22 +0000</pubDate>
		<dc:creator><![CDATA[adam@kosinar.cz]]></dc:creator>
				<category><![CDATA[Programování]]></category>
		<category><![CDATA[bool]]></category>
		<category><![CDATA[char]]></category>
		<category><![CDATA[datový typ]]></category>
		<category><![CDATA[double]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[int]]></category>
		<category><![CDATA[paměť]]></category>
		<category><![CDATA[pointer]]></category>
		<category><![CDATA[proměnné]]></category>
		<category><![CDATA[třída]]></category>
		<category><![CDATA[typedef]]></category>
		<category><![CDATA[union]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://portfolio.kosinar.cz/?p=241</guid>
		<description><![CDATA[<p>&#160; &#160; Datový typ určuje pro proměnnou – množinu přípustných hodnot, množinu operaci a velikost v paměti. Rozdělení jednoduché celočíselné &#8211; celá čísla, znak, enum reálné void strukturované pole,řetězec, struktura, union, FILE Jednoduché • ordinální (hodnoty tvoří lineárně uspořádanou množinu, tzn....<br /><a class="read-more-button" href="https://portfolio.kosinar.cz/programovani-4-datove-typy-jazyce-c/">Číst více</a></p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-4-datove-typy-jazyce-c/">Programování (4) Datové typy v jazyce C</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></description>
				<content:encoded><![CDATA[<h2></h2>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong>Datový typ</strong></h2>
<p>určuje pro proměnnou – množinu přípustných hodnot, množinu operaci a velikost v paměti.</p>
<h3>Rozdělení</h3>
<ul>
<li>jednoduché</li>
<li>celočíselné &#8211; celá čísla, znak, enum</li>
<li>reálné</li>
<li>void</li>
<li>strukturované</li>
<li>pole,řetězec, struktura, union, FILE</li>
</ul>
<h4>Jednoduché</h4>
<p>• ordinální (hodnoty tvoří lineárně uspořádanou množinu, tzn. pro každý prvek je přesně definovaný předchůdce i následovníka, z posledního prvku dojde k přetečení na první)<br />
o celočíselné – celá čísla, znaky, enum<br />
o v C++ datový typ bool (logická hodnota)<br />
• číslo s plovoucí desetinnou čárkou<br />
• prázdný datový typ (void) – nemá definovaný rozsah</p>
<h4>Strukturované</h4>
<p>• homogenní (obsahuje prvky stejného datového typu) – pole, řetězec<br />
• heterogenní (obsahuje prvky různých datových typů) – struktura,<br />
union</p>
<h4>Zvláštní</h4>
<p>• pointer – statická proměnná obsahující adresu v paměti</p>
<h3>Definice jednotlivých datových typů a charakteristika jejich vlastností</h3>
<p>• v ANSI C musí být definice uvedena vždy na začátku bloku</p>
<h4>Char</h4>
<p>char a = &#8218;K';<br />
• ukládá jeden znak, velikost 8b<br />
• pracuje s čísly odpovídající ASCII tabulce</p>
<h4>Celočíselné datové typy</h4>
<p>int a = -3;<br />
short b = 6;<br />
long c = 250000;<br />
unsigned int d = 100;<br />
• rozlišujeme znaménkové (signed) – výchozí a neznaménkové (unsigned)<br />
• rozlišují se rozsahem hodnot a velikostí v paměti</p>
<h4>Reálné datové typy</h4>
<p>float a = 12.5;<br />
double b = 15.12;<br />
long double c = 25.66;<br />
• liší se v rozsahu a přesnosti</p>
<h4>Logický datový typ (C++)</h4>
<p>bool x = true;<br />
• má 2 hodnoty – pravda (true) a nepravda (false)<br />
• true je jakákoliv nenulová hodnota, nulová hodnota odpovídá false</p>
<h3>Definování nových datových typů pomocí typedef</h3>
<p>typedef definice_typu nazev;<br />
• pomocí příkazu typedef lze<br />
vytvářet aliasy jiných datových typů (pro zjednodušení použití)<br />
typedef unsigned int uint;<br />
unsigned int a = 30; // dlouhe<br />
uint b = 30; // zkracene<br />
• definice struktur, výčtových typů, unionů – viz Struktura, union a výčet v jazyce C</p>
<h3>Charakteristika a deklarace lokálních a globálních proměnných</h3>
<h4>Globální proměnné</h4>
<p>• deklarují se mimo funkce, v hlavičkovém souboru<br />
• paměť se alokuje na začátku programu a uvolňuje na konci (v datové oblasti)<br />
• platnost proměnné je od místa definice do konce souboru<br />
• jsou vždy implicitně inicializovány na nulu</p>
<h4>Lokální proměnné</h4>
<p>• platnost proměnné je od místadefinice, do konce funkce, ve kteréjsou definovány<br />
• překrývají globální proměnné sestejným názvem<br />
• nejsou implicitně inicializovány –jejich hodnota je vždy náhodná</p>
<h3>Typy, charakteristika avýznam paměťových třídv jazyce C</h3>
<p>• určují, ve které části paměti budeproměnná kompilátorem umístěna akde všude bude viditelná</p>
<h4>Rozdělení paměti</h4>
<p>• halda – dynamická data<br />
• zásobník – lokální proměnné,návratové hodnoty funkcí<br />
• datová oblast – globální proměnné<br />
• kódová oblast – kód programu</p>
<h4>Třída auto</h4>
<p>• automatická paměťová třída<br />
• implicitní pro lokální proměnné<br />
• ukládá proměnnou do zásobníku<br />
• existuje od vstupu do funkce,zaniká při výstupu z funkce<br />
• při každém vstupu do funkce mánáhodnou hodnotu</p>
<h4>Třída extern</h4>
<p>• implicitní pro globální proměnné<br />
• proměnná je uložena v datové oblasti<br />
• používá se při odděleném překladu, kdy je potřeba, aby více souborů sdílelo tutéž proměnnou<br />
• v jednom souboru je definována bez klíčového slova extern a v ostatních musí být deklarována s klíčovým slovem extern</p>
<h4>Třída static</h4>
<p>• neexistuje žádná implicitní definice, tzn. klíčové slovo static musí být uvedeno vždy<br />
• proměnné jsou uloženy v datové oblasti<br />
• pro globální proměnné nebo funkce má význam, že jsou viditelné pouze v modulu, kde jsou definovány<br />
• pro lokální proměnné má význam, že si proměnné ponechávají svoji hodnotu mezi jednotlivými voláními funkce<br />
• existuje od prvního volání funkce až do doby ukončení programu<br />
• není přístupná z vnějšku funkce</p>
<h4>Třída register</h4>
<p>• zajistí uložení proměnné do registru procesoru místo operační paměti, pokud je to možné<br />
• znamená rychlejší přístup k proměnné<br />
• pouze pro lokální proměnné</p>
<p>&nbsp;</p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-4-datove-typy-jazyce-c/">Programování (4) Datové typy v jazyce C</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></content:encoded>
			<wfw:commentRss>https://portfolio.kosinar.cz/programovani-4-datove-typy-jazyce-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programování (3) Cyklus, iterace</title>
		<link>https://portfolio.kosinar.cz/programovani-3-cyklus-iterace/</link>
		<comments>https://portfolio.kosinar.cz/programovani-3-cyklus-iterace/#comments</comments>
		<pubDate>Wed, 24 Sep 2014 11:25:25 +0000</pubDate>
		<dc:creator><![CDATA[adam@kosinar.cz]]></dc:creator>
				<category><![CDATA[Programování]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[continue]]></category>
		<category><![CDATA[cyklus]]></category>
		<category><![CDATA[do-while]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[goto]]></category>
		<category><![CDATA[nekonečný cylkus]]></category>
		<category><![CDATA[while]]></category>

		<guid isPermaLink="false">http://portfolio.kosinar.cz/?p=238</guid>
		<description><![CDATA[<p>&#160; &#160; Cyklus s podmínkou na konci &#8211; cyklus do-while: vždy se provede alespoň jednou &#160; do { příkaz_1; příkaz_2; }while(bolean_výraz); &#160; &#160; &#160; &#160; &#160; &#160; &#160; Cyklus s podmínkou na začátku &#8211; cyklus while: nemusí se provést ani...<br /><a class="read-more-button" href="https://portfolio.kosinar.cz/programovani-3-cyklus-iterace/">Číst více</a></p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-3-cyklus-iterace/">Programování (3) Cyklus, iterace</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong>Cyklus s podmínkou na konci &#8211; cyklus do-while:</strong></h2>
<ul>
<li>vždy se provede alespoň jednou</li>
</ul>
<div id="attachment_106" style="width: 218px" class="wp-caption alignleft"><img class="wp-image-106 size-full" src="http://www.ap.tode.cz/wp-content/uploads/2014/08/dowhile.jpg" alt="dowhile" width="208" height="285" /><p class="wp-caption-text">Diagram &#8211; cyklus do-while, s podmínkou na konci</p></div>
<p>&nbsp;</p>
<p>do<br />
{<br />
příkaz_1;<br />
příkaz_2;<br />
}while(bolean_výraz);</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong>Cyklus s podmínkou na začátku &#8211; cyklus while:</strong></h2>
<ul>
<li>nemusí se provést ani jednou</li>
</ul>
<div id="attachment_108" style="width: 273px" class="wp-caption alignleft"><img class="wp-image-108 size-full" src="http://www.ap.tode.cz/wp-content/uploads/2014/08/while.jpg" alt="while" width="263" height="285" /><p class="wp-caption-text">Diagram &#8211; cyklus while, s podmínkou na začátku</p></div>
<p>&nbsp;</p>
<p>while (bolean_výraz)<br />
{<br />
příkaz_1;<br />
příkaz_2;<br />
}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong>Cyklus s podm. na začátku &#8211; s parametrem:</strong></h2>
<ul>
<li>počet opakování je znám předem</li>
</ul>
<div id="attachment_107" style="width: 269px" class="wp-caption alignleft"><img class="wp-image-107 size-full" src="http://www.ap.tode.cz/wp-content/uploads/2014/08/for.jpg" alt="for" width="259" height="294" /><p class="wp-caption-text">Diagram &#8211; cyklus for</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>for (výraz_start; výraz_stop; výraz_iterace)</p>
<p>{<br />
příkaz_1;<br />
příkaz_2;<br />
}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3><strong>Nekonečný cyklus:</strong></h3>
<p>for ( ; ;)</p>
<p>lze přepsat na konečný</p>
<p>int i=0;<br />
for ( ; ;  )<br />
{<br />
if(i==10) break;<br />
i++;<br />
}</p>
<h2><strong>Skoky v cyklech:</strong></h2>
<h3><strong>break</strong></h3>
<ul>
<li>ukončuje nejvnitřnější neuzavřenou smyčku</li>
<li>opouští cyklus nebo ukončuje příkaz switch</li>
<li>syntaxe (C i Pascal): break;</li>
</ul>
<h3><strong>continue</strong></h3>
<ul>
<li>skáče na konec nejvnitřnější neuzavřené smyčky a tím vynutí další opakování smyčky</li>
<li>neopouští smyčku</li>
<li>syntaxe (C i Pascal): continue;</li>
</ul>
<h3><strong>goto</strong></h3>
<ul>
<li>používá se pro výskok z vnořených cyklů na dané návěští</li>
<li>nedá se skočit z jedné funkce do druhé</li>
</ul>
<h3><strong>exit</strong></h3>
<ul>
<li>vyskočení z podprogramu</li>
</ul>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-3-cyklus-iterace/">Programování (3) Cyklus, iterace</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></content:encoded>
			<wfw:commentRss>https://portfolio.kosinar.cz/programovani-3-cyklus-iterace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programování (2) Řídící struktury, větvení, podmínky</title>
		<link>https://portfolio.kosinar.cz/programovani-2-ridici-struktury-vetveni/</link>
		<comments>https://portfolio.kosinar.cz/programovani-2-ridici-struktury-vetveni/#comments</comments>
		<pubDate>Wed, 24 Sep 2014 10:21:28 +0000</pubDate>
		<dc:creator><![CDATA[adam@kosinar.cz]]></dc:creator>
				<category><![CDATA[Programování]]></category>
		<category><![CDATA[else]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[podmínky]]></category>
		<category><![CDATA[řídící struktury]]></category>
		<category><![CDATA[ternární operátor]]></category>
		<category><![CDATA[větvení]]></category>
		<category><![CDATA[vnoření]]></category>

		<guid isPermaLink="false">http://portfolio.kosinar.cz/?p=233</guid>
		<description><![CDATA[<p>&#160; &#160; Alternativy: úplná neúplná vícenásobná vnořená Neúplná alternativa (větvení): &#160; C: if (podmínka) příkaz_1; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Úplná alternativa (větvení): &#160; C: if (podmínka) příkaz_1; else příkaz_2; ternární operátor: (podmínka)?ano:ne; &#160; &#160; &#160;...<br /><a class="read-more-button" href="https://portfolio.kosinar.cz/programovani-2-ridici-struktury-vetveni/">Číst více</a></p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-2-ridici-struktury-vetveni/">Programování (2) Řídící struktury, větvení, podmínky</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong>Alternativy:</strong></h2>
<ul>
<li>úplná</li>
<li>neúplná</li>
<li>vícenásobná</li>
<li>vnořená</li>
</ul>
<h3><strong>Neúplná alternativa (větvení):</strong></h3>
<div id="attachment_98" style="width: 217px" class="wp-caption alignleft"><img class="wp-image-98 size-full" src="http://www.ap.tode.cz/wp-content/uploads/2014/08/if.jpg" alt="if" width="207" height="304" /><p class="wp-caption-text">Diagram &#8211; neúplné větvení &#8211; if</p></div>
<p>&nbsp;</p>
<p>C:<br />
if (podmínka) příkaz_1;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3><strong>Úplná alternativa (větvení):</strong></h3>
<div id="attachment_99" style="width: 364px" class="wp-caption alignleft"><img class="wp-image-99 size-full" src="http://www.ap.tode.cz/wp-content/uploads/2014/08/ifelse.jpg" alt="ifelse" width="354" height="295" /><p class="wp-caption-text">Diagram &#8211; úplné větvení &#8211; if else</p></div>
<p>&nbsp;</p>
<p>C:<br />
if (podmínka) příkaz_1;<br />
else příkaz_2;</p>
<h4><strong>ternární operátor:</strong></h4>
<p>(podmínka)?ano:ne;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3><strong>Vícenásobná alternativa (větvení) &#8211; Switch</strong></h3>
<p>C:<br />
switch (selector)<br />
{<br />
case hodnota_1: příkaz_1; break;<br />
case hodnota_2: { příkaz_1; příkaz_2; break; }<br />
default: příkaz_3; break;    //na posledním řádku nemusí být<br />
}</p>
<div id="attachment_100" style="width: 604px" class="wp-caption alignleft"><img class="wp-image-100 size-full" src="http://www.ap.tode.cz/wp-content/uploads/2014/08/switch.jpg" alt="switch" width="594" height="294" /><p class="wp-caption-text">Diagram &#8211; vícenásobné větvení &#8211; switch</p></div>
<p>&nbsp;</p>
<h3>Selektor</h3>
<p>musí být ordinálního datového typu –char, int.</p>
<p>Pokud větev nekončí příkazem break, pokračuje se příkazy v dalších větvích.<br />
Část default se provede, pokud hodnota selektoru není nalezena v seznamu hodnot. Nemusí být vůbec uvedena a nemusí být poslední.</p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-2-ridici-struktury-vetveni/">Programování (2) Řídící struktury, větvení, podmínky</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></content:encoded>
			<wfw:commentRss>https://portfolio.kosinar.cz/programovani-2-ridici-struktury-vetveni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programování (1) Algoritmus a tvorba programu</title>
		<link>https://portfolio.kosinar.cz/programovani-1-algoritmus-a-tvorba-programu/</link>
		<comments>https://portfolio.kosinar.cz/programovani-1-algoritmus-a-tvorba-programu/#comments</comments>
		<pubDate>Wed, 24 Sep 2014 10:05:51 +0000</pubDate>
		<dc:creator><![CDATA[adam@kosinar.cz]]></dc:creator>
				<category><![CDATA[Programování]]></category>
		<category><![CDATA[algoritmus]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[debugger]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[linker]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[programování]]></category>
		<category><![CDATA[sekvence]]></category>

		<guid isPermaLink="false">http://portfolio.kosinar.cz/?p=229</guid>
		<description><![CDATA[<p>&#160; &#160; Postup při řešení problému: 1. analýza problému 2. stanovení podmínek, za kterých má program fungovat (druh počítače, vstupní data) 3. sestavení algoritmu – vytvoření postupu řešení – algoritmizace 4. sestavení programu – přepis algoritmu do zvoleného programovacího jazyka...<br /><a class="read-more-button" href="https://portfolio.kosinar.cz/programovani-1-algoritmus-a-tvorba-programu/">Číst více</a></p>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-1-algoritmus-a-tvorba-programu/">Programování (1) Algoritmus a tvorba programu</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></description>
				<content:encoded><![CDATA[<h3></h3>
<h3></h3>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3><strong>Postup při řešení problému:</strong></h3>
<p>1. analýza problému<br />
2. stanovení podmínek, za kterých má program fungovat (druh počítače, vstupní data)<br />
3. <strong>sestavení algoritmu</strong> – vytvoření postupu řešení – <strong>algoritmizace</strong><br />
4. sestavení programu – přepis algoritmu do zvoleného programovacího jazyka<br />
5. testování (odladění) programu</p>
<h2><strong>Algoritmus:</strong></h2>
<ul>
<li>jednoznačně určený postup řešení určitého problému</li>
<li>je obecnější než zvolený programovací jazyk</li>
</ul>
<h3><strong>Vyjádření algoritmu</strong>:</h3>
<ul>
<li>slovně</li>
<li>graficky (vývojové diagramy, strukturogramy) – je obecná, nezávislá na programovacím jazyku</li>
<li>pomocí programovacího jazyku</li>
<li>matematicky</li>
</ul>
<h3><strong>Vlastnosti algoritmu</strong>:</h3>
<ul>
<li><strong>konečnost</strong> – každý krok algoritmu se provede konečný počet krát</li>
<li><strong>elementárnost</strong> – skládá se z elementárních – základních prvků (větvení, vstup, apod.)</li>
<li><strong>determinovanost</strong> – v každé fázi zpracování musí být určen další postup</li>
<li><strong>rezultativnost</strong> – od libovolných vstupních hodnot musíme dospět k požadovaným výsledkům</li>
<li><strong>hromadnost</strong> – algoritmus musí být použitelný pro všechny úlohy stejného typu</li>
</ul>
<h2><strong>Sekvence</strong>:</h2>
<ul>
<li>sled příkazů, které následují za sebou</li>
<li><strong>odělují se středníkem</strong></li>
<li>uzavírají se do počátečních a ukončovacích značek {}</li>
</ul>
<div id="attachment_89" style="width: 780px" class="wp-caption aligncenter"><img class="wp-image-89 size-full" src="http://www.ap.tode.cz/wp-content/uploads/2014/08/tabulka_vyvojovydiagram.jpg" alt="tabulka_vyvojovydiagram" width="770" height="486" /><p class="wp-caption-text">Tabulka &#8211; značky vývojového diagramu</p></div>
<h2><strong>Způsob zpracování programu v jazyce C:</strong></h2>
<div id="attachment_92" style="width: 654px" class="wp-caption aligncenter"><img class="wp-image-92 size-full" src="http://www.ap.tode.cz/wp-content/uploads/2014/08/program_compiler.jpg" alt="program_compiler" width="644" height="247" /><p class="wp-caption-text">Diagram &#8211; zpracování programu v jazyce C</p></div>
<h3><strong>Editor:<br />
</strong></h3>
<ul>
<li>píšeme v něm zdrojový kód</li>
</ul>
<p><strong>Preprocesor:</strong></p>
<ul>
<li>součást překladače</li>
<li>předzpracovává zdrojový kód (rozvíjí makra, vkládá hlavičkové soubory (*.h), odstraní komentáře, provádí podmíněný překlad)</li>
<li>výsledkem je textový soubor</li>
</ul>
<h3><strong>Compiler (překladač, kompilátor)</strong></h3>
<ul>
<li>převádí zdrojový kód do relativního (objektového) kódu počítače (*.obj)</li>
<li>relativní kód je téměř hotový program, ale nejsou známy adresy proměnných a funkcí</li>
<li>soubor *.lis je protokol o překladu, ve kterém je uložena informace o chybách nalezených překladačem</li>
</ul>
<h3><strong>Linker (sestavovací program):</strong></h3>
<ul>
<li>spojí soubory *.obj s knihovnami do jednoho spustitelného souboru</li>
<li>přidělí relativním adresám adresy absolutní</li>
<li>výsledkem je spustitelný program (*.exe)</li>
</ul>
<h3><strong>Debugger (ladící program):</strong></h3>
<ul>
<li>je určený pro krokování programu a hledání chyb</li>
<li>umožňuje sledovat běh programu, hodnoty proměnných, míst v paměti</li>
</ul>
<p>Příspěvek <a rel="nofollow" href="https://portfolio.kosinar.cz/programovani-1-algoritmus-a-tvorba-programu/">Programování (1) Algoritmus a tvorba programu</a> pochází z <a rel="nofollow" href="https://portfolio.kosinar.cz">Košinar - portfolio</a></p>
]]></content:encoded>
			<wfw:commentRss>https://portfolio.kosinar.cz/programovani-1-algoritmus-a-tvorba-programu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
