Distanční opora předmětu: Programování v jazyce C Tématický blok č. 1: Hello World, překlad programu, funkce Autor: RNDr. Jan Lánský, Ph.D.

Rozměr: px
Začít zobrazení ze stránky:

Download "Distanční opora předmětu: Programování v jazyce C Tématický blok č. 1: Hello World, překlad programu, funkce Autor: RNDr. Jan Lánský, Ph.D."

Transkript

1 Distanční opora předmětu: Programování v jazyce C Tématický blok č. 1: Hello World, překlad programu, funkce Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 První program: Hello World 2 Struktura programu 2.1 Direktiva #include 3 Překlad programu 4 Funkce 4.1 Hlavička a tělo funkce 4.2 Vnořené funkce 4.3 Návratová hodnota funkce 4.4 Parametry funkce Studijní cíle Cíle nutné k zahájení studia dalšího tématického bloku Další cíle Znát klíčové pojmy tohoto tématického bloku (alespoň pasivní znalost je podmínkou pro studium dalších bloků). Umět vytvořit jednoduchý program vypisující na obrazovku text. Umět program ladit. Umět zdrojový kód členit na funkce a správně je používat. Znát průběh překladu zdrojových kódu kompilátorem a linkerem do podoby spustitelného souboru. Umět vytvořit program složený z více modulů Čas potřebný ke studiu 15 minut - 1 hodina na nainstalování vývojového prostředí (doporučují Microsoft Visual Studio 2008 Express Edition) 1-2 hodiny na prostudování výukových textů + zodpovězení otázek k rekapitulaci 1-4 hodiny na vypracování modelových úloh na PC 30 minut - 1 hodina na praktické zopakování učiva na PC ( v jiný den) 15 minut na (znovu)zodpovězení otázek k rekapitulaci (v jiný den) Časy jsou hodně individuální a jsou závislé na míře znalostí z předmětu Úvod do programování a Programování a případných programátorských zkušenostech z jiných jazyků.

2 Úvod V tomto bloku probereme následující tři témata. Ukážeme si jednoduchý program v jazyku C a podrobně si ho vysvětlíme. Vysvětlíme si, jak se námi napsané zdrojové kódy zpracovávají kompilátorem a linkerem do podoby spustitelného souboru. Probereme funkce v jazyku C: návratová hodnota, parametry funkce, volání funkce. Naučíme se také vytvořit nový prázdný projekt v Microsoft Visual Studiu 2008 a napsat v tomto prostředí jednoduchý program, vyzkoušíme si prostředky k ladění programů (breakout, watch, call stack, trace into, trace over), které toto vývojové prostředí nabízí. Výkladová část Vysvětlivky Červený text Porušením nebo opomenutím takto označených pravidel vznikají těžko odladitelné chyby (zejména pro začínající programátory). Modrý text Doporučení jak programovat v praxi. Často prevence závažných chyb. 1 První program: Hello World Na slajdu č. 10 vidíme ukázku programu napsaného v C. Prohlédněte si tento zdrojový kód a zkuste uhodnout co program dělá. Odpověď zní: Program vypíše na standardní výstup (nejčastěji obrazovka) text Hello a odřádkuje. Následně čeká na stisk libovolné klávesy. Pak program skončí. Malá poznámka na úvod. Jazyk C je case-sensitive, tedy rozlišuje malá a velká písmena. Pokud si zavedeme identifikátor ( = pojmenujete funkci či proměnnou názvem) test a poté někde dále v kódu použijete místo toho identifikátor Test, tak kompilátor zahlásí chybu neznámý identifikátor. Dokonce můžete vytvořit 20 různých variant, které se budou lišit pouze velikostí písmen (test, Test, test, test, test, TEst, TeSt, TesT, test, test, test, test, TeST, TEsT, TESt, TEST). Teoreticky, by jsme tedy takto mohli pojmenovat našich 20 prvních proměnných, ale výrazně bychom snížili přehlednost zdrojového kódu a také bychom zvýšili závažnost případně udělané chyby v programu. Obyčejný překlep ve velikosti písmene by už neodhalil kompilátor jako syntaktickou chybu, ale projevil by se jako logická chyba při běhu programu. Je dobré dodržovat pravidlo: Nevytváříme identifikátory, které by se od nějakého existujícího identifikátoru lišily jen velikostí písmen. Na slajdu č. 11 vidíme ten samý zdrojový kód, co na předchozím slajdu, ale doplněný o komentáře k jeho jednotlivým částem. Začneme třetím řádkem int main (int argc, char ** argv), kde vidíme hlavičku funkce main. Tato funkce zaujímá mezi ostatními funkcemi výsadní postavení, v každém

3 programu se začne vykonávat jako první po jeho spuštění. Obdobně jako v Pascalu, kde se program začínal vykonávat posledním begin end blokem. Funkce main nemá povinně dané umístění v programu, ale bývá zvykem ji psát na konec zdrojového kódu. Před názvem funkce main vidíme typ její návratové hodnoty int, funkce tedy vrací nějaké celé číslo. V kulatých závorkách za main jsou uvedeny formální parametry ( = argumenty) funkce argc a argv. Před každým názvem formálního parametru funkce je uveden jeho datový typ. Jednotlivé parametry se oddělují čárkou. V případě funkce main slouží její parametry ke zpracování parametrů programu, se kterými byl spuštěn z příkazové řádky. Přesný význam parametrů argc a argv si vysvětlíme až v polovině semestru. Na čtvrtém řádku nalezneme jediný symbol: otvírací složená závorka { což je obdoba begin z Pascalu. Na Posledním řádku se nachází opět jediný symbol: zavírací složená závorka } což je obdoba end z Pascalu. V našem případě tyto složené závorky ohraničují tělo funkce main. Častou chybou bývá zapomenutí pravé uzavírací závorky. Je výhodné zavírací závorku napsat okamžitě po napsání otvírací závorky a příslušný zdrojový kód potom postupně psát dovnitř těchto závorek. Jednotlivé řádky (5. 7.) uvnitř těla funkce main jsou příkazy. Každý příkaz je povinně ukončen středníkem, bez vyjímek. Na pátém řádku vidíme volání funkce printf se skutečným parametrem ( = s hodnotou) "Hello\n". Parametrem funkce printf je formátovací řetězec, který popisuje, co vše se vytiskne na standardní výstup, kterým je obvykle monitor. Každý textový řetězec musí být v uvozovkách "text". Velmi častou chybou je použití apostrofů 'text' nebo napsání textu jen tak bez ničeho. V našem případě se vytiskne text Hello. Následně se provede "\n" odřádkování (= kurzor se umístí na první pozici následujícího řádku). Funkce printf vrací jako návratovou hodnotu počet znaků, které se ji skutečně podařilo vytisknout. Zpracovávat návratové hodnoty u funkcí (např. je ukládat do proměnné) ale není povinné, v našem případě ji tedy nijak nezpracováváme. Vážnější zájemce o funkci printf se určitě potěší slajd č. 69. Na šestém řádku vidíme volání funkce getch, která je volána bez parametrů. Při volání funkce bez parametrů je nutné použít prázdné kulaté závorky () za názvem funkce, nelze je vynechat. Funkce getch načte z obrazovky jednu klávesu a tato načtená klávesa je návratovou hodnotou funkce. Podobně jako v předchozím případě u funkce printf návratovou hodnotu nijak nezpracováváme. K čemu tedy funkci getch voláme? Funkce getch nám slouží v programu mimo jiné jako pauza. Funkce totiž čeká na stisk libovolné klávesy, aby ji mohla vrátit jako návratovou hodnotu. My si tedy můžeme v klidu přečíst jaký je výstup na obrazovce a stiskem libovolné klávesy pokračujeme v běhu programu. Na sedmém řádku vidíme klíčové slovo return, které ukončuje běh libovolné funkce. Za return následuje návratová hodnota funkce, která musí být shodná s typem návratové hodnoty uvedeným v hlavičce funkce. V našem případě je návratovou hodnotou 0, která je celé číslo což odpovídá typu int, který jsme napsali jako návratovou hodnotu funkce main (vlevo před slovem main na 3. řádku). Je zde zásadní rozdíl oproti Pascalu, tam jste mohli funkci přiřadit návratovou hodnotu a vykonávat další příkazy. V jazyku C funkce končí svůj běh vykonáním příkazu return, zádně další příkazy se už v dané funkci nevykonají. První dva řádky #include<stdio.h> a #include<conio.h> jsme na začátku přeskočili, nyní se k nim vrátíme. Ve zdrojovém kódu můžeme používat pouze funkce, které jsou už definovány (= známy). My jsme použili ale funkci getch, která se nachází v knihovně conio.h a funkci printf, které se nachází v knihovně stdio.h. Použití direktivy include se jménem knihovny ve špičatých závorkách nám zpřístupní funkce a další

4 identifikátory v této knihovně obsažené pro použití v našem zdrojovém kódu. Úplně všechny funkce v jazyce C se nacházejí v některé z knihoven. V jaké knihovně se nachází konkrétní funkce, se dozvíme v nápovědě pro danou funkci (v Microsoft Visual Studiu je to sekce nápovědy Requirements). Všimněme si formátování zdrojového kódu na tomto slajdu (č. 11). Příkazy v těle funkce main jsou odsazeny o několik znaků (nebo 1 tabulátor) doprava oproti pozici hlavičky funkce. Pravidlo platí obecně, libovolný zdrojový kód uzavřený ve složených závorkách se odsazuje doprava. Pokud píšeme náš zdrojový kód ve Visual Studiu (a při jeho psaní neděláme zásadní syntaktické chyby), tak docílíme tohoto odsazení automaticky. Pokud neproběhne automatické odsazení příkazů uvnitř složených závorek, měli by jsme ho provést ručně. Správné formátování zdrojového kódu je velmi důležité pro jeho čitelnost. Neformátované zdrojové kódy ztěžují i hledání případných chyb. 2 Struktura programu Program v jazyce C se skládá z modulů, které jsou samostatně překládány kompilátorem. Z pohledu programátora je modul tvořen jedním zdrojovým souborem s příponou.c nebo.cpp. Koncovka.c je určena pro programy napsané v jazyku C, koncovka.cpp pro programy napsané v jazyku C++. Protože budeme už tento semestr používat překladač jazyka C++ (přestože v něm budeme psát syntaxí jazyka C), budeme používat koncovku.cpp. Jednotlivé moduly po jejich překladu kompilátorem se pak spojují linkerem. Modul by měl být vždy nějakým logickým celkem. Obvykle to bývá sada funkcí která pracuje se shodnou datovou strukturou (nebo strukturami). Proč se programy dělí na moduly? Důvody jsou v zásadě dva. Prvním z nich je přehlednost kódu. Ve chvíli kdy jeden zdrojový soubor obsahuje řádek zdrojového kódu stává se nepřehledným, špatně se v něm hledají případné chyby. Obvykle se doporučuje, aby modul obsahovat nejvýše řádek. Druhým důvodem je znuvupoužitelnost kódu. Pokud je náš modul kvalitní, můžeme ho použít i v našich dalších programech, nebo může být využitý i jiným programátorem. V téměř každém modulu potřebujeme použít identifikátor (nejčastěji funkci), která v daném modulu není definována. Chceme využít funkci, která je součástí nějakého jiného modulu. Pokud si vzpomenete na slajd č.11, tam se jednalo o funkce getch a printf. K tomuto účelu slouží hlavičkové soubory ( = headery).h, které obsahují definice identifikátorů, které se mohou používat ve více modulech. V případě, že daným identifikátorem je funkce, je v hlavičkovém souboru napsána hlavička toto funkce (návratová hodnota, jméno funkce, její parametry). Jednotlivé definice identifikátorů se oddělují středníkem. 2.1 Direktiva #include Chceme-li v modulu použít nějaký identifikátor z hlavičkového souboru, musíme tento hlavičkový soubor do modulu vložit za pomocí direktivy #include. Existují dva typy hlavičkových souborů. Prvním typem jsou hlavičkové soubory standardních knihoven jazyka C a jejich názvy se uzavírají do špičatých závorek (příklad #include<conio.h>). Druhým typem jsou hlavičkové soubory, které si napsal sám programátor, aby mohl používat identifikátory z jeho vlastních modulů. Tyto názvy se uzavírají do uvozovek (příklad #include"moje_hlavicka"). Pokud chceme v jednom modulu vložit více hlavičkových

5 souborů, musíme vložit každý samostatně, žádný zkrácený zápis vkládání více hlavičkových souborů najednou není možný. Každý #include se obvykle píše na samostatný řádek. Z hlediska překladu programu mají direktivy (kromě #include existují i další, více bude časem - slajd č. 99). speciální postavení. V každém kompilátoru je integrován textový preprocesor, který jako úplně první fázi překladu modulu provede nahrazení všech výskytů direktiv. Direktiva #include se nahrazuje obsahem souboru, který je uveden jako její parametr. Pokud je jméno souboru ve špičatých závorkách, soubor se hledá v adresářích definovaných vývojovým prostředím jako adresáře hlavičkových souborů standardních knihoven. Pokud je jméno souboru v uvozovkách, hledá se soubor v aktuálním pracovním adresáři vámi vytvářeného programu (případně můžete v nastavení vlastností vašeho programu specifikovat i speciální adresář pro tyto hlavičkové soubory). Jméno hlavičkového soubory, který je parametrem direktivy #include, může navíc obsahovat i absolutní nebo relativní cestu, kde je soubor umístěn. Jako parametr direktivy #include můžete použít naprosto libovolný soubor, klidně i náhodný binární soubor, preprocesor ho skutečné vloží, problémy nastanou až v další fázi překladu. Používání jiných než hlavičkových souborů se silně nedoporučuje. Z pohledu kompilátoru je modul samostatná jednotka překladu a vznikne ze zdrojového souboru jako výsledek práce preprocesoru. 3 Překlad programu Na slajdu č. 13 vidíme jak probíhá překlad programu tvořeného jedním modulem. Kompilátor (na slajdu označen jako CC) vezme zdrojový soubor.cpp a několik hlavičkových souborů.h standardních knihoven jazyka C. Kompilátor bývá také často nazýván jako překladač. Výsledek práce kompilátoru je objektový modul, je to přeložený zdrojový kód jednoho modulu. Tyto soubory se jmenují téměř stejně jako byl původní zdrojový soubor, pouze se liší koncovkou, kterou mají.obj. Další krok v překladu programu obstarává linker. Ten spojí ( = slinkuje) objektový modul právě vzniklý kompilátorem s objektovými moduly standardních knihoven (.obj,.lib), které jsme v našem programu použili. Výsledkem je pak spustitelný.exe soubor. Na slajdu č. 15 pak vidíme překlad programu tvořeného více moduly. Oproti slajdu č. jsou zde dva rozdíly. Prvním rozdílem je, že kompilátor zpracovává nejen hlavičkové soubory standardních knihoven, ale i hlavičkové soubory vytvořené samotným programátorem, které obsahují informace o funkcích z jiných modulů. Druhým rozdílem je, ze linker zpracovává větší množství objektových modulů. Na slajdu č. 17 vidíme, jak překlad programu s více moduly (obrázek ze slajdu č. 15) probíhá v integrovaném vývojovém prostředí (například Microsoft Visual Studia). Jednotlivé zdrojové a hlavičkové soubory můžete editovat v textovém editoru (obvykle s barevně zvýrazněnou syntaxí, automatickým doplňováním identifikátorů, vestavěnou nápovědou atd.). Spuštěním jednoho tlačítka proběhne celý překlad programu najednou a uživatel získá výsledný.exe soubor. Uživatel nemusí řešit, že překlad se skládá z více fází, nebo dokonce kompilátoru či linkeru říkat, jaké soubory mají vzít na vstupu a co z nich vyrobit. Další součástí těchto integrovaných vývojových prostředí bývá vestavěný debugger, který umožňuje ladit běžící programy. Můžeme s jeho pomocí zjišťovat hodnoty proměnných, krokovat program příkaz po příkaze, nebo ho zastavovat při splnění námi definovaných podmínek

6 Slajd č. 18 ukazuje, jak překlad programu s více moduly (obrázek ze slajdu č. 15) vypadá bez použití integrovaného vývojového prostředí, ale s použitím příkazu make, který provede překlad podle instrukcí zapsaných v souboru makefile. Tento typ překladu bývá obvyklý při práci v operačních systémech typu UNIX. V makefile se definují závislosti (ty co jsou na slajdu označeny šipkami) mezi jednotlivými.cpp,.h a.obj soubory. Rovněž se zde musí explicitně napsat, že jednotlivé moduly se vytvářejí pomocí kompilátoru (a s jakým nastavením jeho parametrů), a že pak moduly mají slinkovat do spustitelného souboru. 4 Funkce V jazyku C je funkce základní jednotkou, na kterou se člení zdrojové soubory. Běh programu začíná vyvoláním funkce s názvem main, tato funkce má pevně danou hlavičku int main (int argc, char ** argv), která slouží ke zpracování parametrů programu, se kterými byl zavolán při svém puštění z příkazové řádky. Před samotným spuštěním funkce main proběhne ještě inicializace běhového prostředí (alokace paměti, například nastavení hodnot globálních proměnných). Po skončení funkce main dochází k úklidu. Pořadí funkcí ve zdrojovém souboru není pevné dané, dodržuje se konvence, že funkce main je na konci zdrojového souboru v případě programu tvořeného jedním modulem. V případě programu tvořeného více moduly bývá funkce main umístěna v samostatném modulu. Ve chvílí kdy funkce ve svém těle volá jinou funkci, musí být volaná funkce kompilátoru známa, musel již zpracovat alespoň její hlavičku. Z tohoto důvodu se do zdrojových souborů vkládají hlavičkové soubory a z tohoto důvodu se také snažíme řadit funkce ve zdrojovém souboru postupně směrem dolů, jak je vytváříme. V případě, že chci volat dvě funkce navzájem rekurzivně, musíme jejich hlavičky oznámit kompilátoru pomocí hlavičkového souboru, nebo přímo napsáním hlaviček obou funkcí na začátek zdrojového souboru. 4.1 Hlavička a tělo funkce Funkce má hlavičku a tělo. Hlavička funkce obsahuje typ návratové hodnoty funkce, název funkce a v kulatých závorkách čárkami oddělené dvojice, které tvoří typ a název formálních parametrů. Tělo funkce je uzavřeno ve složených závorkách a obsahuje příkazy. V jazyku C nelze definovat dvě funkce se shodným názvem, které by se lišily jen počtem či typy parametrů (v jazyku C++ to jde) Podívejme se na slajd č. 20. Na levé straně slajdu v zeleném podkladu vidíme tři funkce. Funkce fce1 má návratovou hodnotu typu integer ( = celé číslo) a má dva parametry x a y, typu integer. Obsah složených závorek je tělo funkce, ve kterém je jediný příkaz return x + y. Funkce vrací jako svoji návratovou hodnotu (pomocí klíčového slova return) součet svých parametrů x a y. Funkce fce2 vypadá podobně, ve své hlavičce se liší od fce1 tím, že má místo dvou parametrů pouze jeden parametr a. V těle má funkce fce2 opět jediný příkaz, který určuje návratovou hodnotu funkce. Vidíme zde zavolání funkce fce1 s parametry 1 a 2*a+5. Všimněme si, že zde je důležité pořadí v jakém jsou funkce ve zdrojovém souboru napsány. Pokud by byly v opačném pořadí, kompilátor by neznal funkci fce1 při zpracovávání funkce fce2. Třetí z funkcí je funkce main, které má ve svém těle uvedeny tři tečky ( ). Tento symbol budeme ve slajdech velmi často používat jako náhradu chybějícího zdrojového kódu, který by jsme si měli doplnit my sami. Pokud zkusíte takovýto zdrojový kód zkompilovat bez úprav, kompilátor zahlásí syntaktickou chybu, která nebude na první pohled srozumitelná. (Operátor tří teček v jazyku C existuje, ale my se nebudeme v tomto předmětu učit jeho význam.

7 4.2 Vnořené funkce Na rozdíl od Pascalu v jazyku C neexistují vnořené funkce, neznám ani žádný další programovací jazyk, který by je podporoval. Každá vnořená funkce jde na štěstí převést na funkci nevnořenou (obvykle stačí přidat pár parametrů funkce). Vpravo na slajdu č. 20 na červeném podkladu vidíte chybný pokus o deklaraci vnořené funkci. Funkci fce1 jsme zanořili do funkce fce2. Velmi často vytvoříme vnořenou funkci omylem, pokud do zdrojového kódu přidáváme novou funkci a nepíšeme ji logicky na konec zdrojového souboru, ale snažíme se ji vložit někam mezi funkce napsané dříve. Stačí přehlédnout složenou závorku nějaké z funkci a místo psaní funkce do prázdného prostoru vytváříte vnořenou funkci. 4.3 Návratová hodnota funkce Na slajdu č. 21 máme blíže vysvětlenou problematiku návratové hodnoty funkce. Typ návratové hodnoty funkce se píše v její hlavičce vlevo od názvu funkce. Funkce musí končit klíčovým slovem return po kterém následuje výraz stejného typu, jako je typ návratové hodnoty uvedený v hlavičce funkce. Návratovou hodnotou funkce je hodnota výrazu, který je po return uveden. Vlevo na slajdu vidíme funkci fce1, která má návratovou hodnotu typu int (celé číslo) a skutečně vrací výraz typu int. V jazyku C neexistuje procedura, ale lze ji nahradit funkcí, která vrací prázdnou hodnotu. K tomuto účelu se používá speciální datový typ void, který se uvede jako návratová hodnota dané funkce. Funkce s typem návratové hodnoty void, nemusí ve svém těle obsahovat klíčové slovo return. Pokud ho však obsahuje, tak za ním nesmí být uvedená žádná hodnota, pouze středník. Napravo na slajdu č. 21 vidíte funkci fce2, která tiskne pouze text na obrazovku, takže v jejím případě návratovou hodnotu nepotřebujeme. Funkce má tedy návratovou hodnotu typu void a neobsahuje return. Funkce fce3 je velmi podobná funkci fce2, pouze navíc testuje zda vstupní parametr je platný řetězec (zjednodušeně vysvětleno, co ten test přesně znamená, se dozvíme později při probírání řetězců) a může ho tedy vytisknout. Pokud vstupní parametr nebyl platný řetězec nemá smysl ve funkci dále pokračovat a ukončíme ji pomocí return. Pokud funkce zjistila při svém běhu chybu (například špatný vstupní parametr), velmi často se používá ukončení funkce pomocí return, hned po zjištění této skutečnosti. Zvýšíme tím přehlednost zdrojového kódu, protože celý zbytek těla funkce nebude zbytečně zanořen v else větvi podmínky. Návratovou hodnotu má i funkce main a její návratová hodnota se stává návratovou hodnotou celého programu, kterou můžeme zjistit z operačního systému. Bývá používána konvence, že pokud program proběhl v pořádku, je návratovou hodnotou 0. Pokud došlo k chybě, vracíme číslo chyby (obvykle hodnoty -1, -2, -3 atd). 4.4 Parametry funkce Funkce v jazyce C má v hlavičce funkce definovaný pevný počet parametrů a ty jsou pevného typu. Formální typy parametrů a jejich názvy se píší do kulatých závorek napravo od názvu funkce. Jednotlivé dvojice (formální typ parametru a jeho název) se oddělují od sebe čárkou. Na slajdu č. 22 toto demonstrují funkce fce1 a fce2. Funkce také může být bez parametrů

8 (viz fce3), potom se místo seznamu parametrů do kulatých závorek píše void. V jazyku C++ se může v případe funkce bez parametrů vynechat i slovo void, ale musí zde být alespoň prázdné kulaté závorky. Protože používáme překladač C++, tak tedy i zápis s vynecháním void bude správný. V definici parametrů funkce se velmi často chybuje. Pokud máme dva parametry, které jsou stejného formálního datového typu, tak nelze použít zkrácený zápis, jaký šlo použít v Pascalu a jaký můžete vidět u funkce fce4 napravo na slajdu č. 22 na červeném podkladu. Další chybou bývá zapomenutí kulatých závorek (obsahujících void, nebo prázdných) při deklaraci funkce bez parametrů (viz funkce fce5). Občas se také chybuje v nahrazení čárek (oddělující dvojice formální typ parametru a název) za středníky. V Jazyku C lze definovat i funkce s proměnlivým typem parametrů (příkladem takové funkce je printf). Vytváření funkcí s proměnlivým počtem parametrů není v učivu tohoto předmětu (pro zájemce: používá se k tomu operátor tří teček ( ) a makra va_start a va_list). 4.4 Volání funkce Volat můžeme pouze funkci jejichž název kompilátor již zná. Je tedy již definována ve zdrojovém souboru nebo jejich hlavička se nachází v některém z hlavičkových souborů, které jsou vloženy pomocí direktivy #include. Parametry, se kterými funkci voláme, se nazývají skutečné. Parametry, které byly definovány v hlavičce funkce, se nazývá formální. Počet formálních a skutečných parametrů se musí shodovat, jejich typy musí být kompatibilní (typ skutečného parametru musí jít převést na typ formálního parametru). Volání funkce bez parametru musí obsahovat operátor (), závorky nelze vynechat. Návratovou hodnotu funkce můžeme ignorovat. Dokonce je velmi časté u volání funkcí, že návratová hodnota se nijak nevyužívá. Na slajdu č. 23 nalevo máme tři funkce. Funkce fce1 má definovány tři formální parametry typů int, int a float (reálné číslo). Funkce fce3 nemá formální parametry žádné, funkce fce2 má jeden formální parametr typu int. Ve funkci fce2 nejprve volám funkci fce1 se skutečnými parametry a, 1, a. Počet formálních i skutečných parametrů se shoduje 3. Nyní budeme zjišťovat jejich kompatibilitu. První formální parametr funkce fce1 je typu int, první skutečný parametr je a (který je typu int). Druhý formální parametr funkce fce1 je typu int, druhý skutečný parametr je 1 (který může být typu int). Třetí formální parametr funkce fce1 je typu float, třetí skutečný parametr je a (který je typu int, ale typ int lze na float převést). Tedy funkce fce1 je volána správně. Funkce fce3 je volána také správně (počet formálních i skutečných parametrů je 0). Návratovou hodnotu volání funkcí fce1 a fce3 ignoruji. Na slajdu č. 23 napravo máme ukázáno několik chyb. Ve funkci fce5 voláme funkci fce4 celkem třikrát. Poprvé ji voláme bez kulatých závorek, podruhé se neshoduje počet formálních parametrů 3 s počtem skutečných parametrů 2. Při třetím volání počty parametrů souhlasí, ale třetí skutečný parametr je typu řetězec a není kompatibilní s typem reálného čísla, což je třetí formální parametr.

9 Klíčové pojmy Funkce main Hlavička funkce Tělo funkce Návratová hodnota funkce Parametry funkce (formální a skutečné) Direktiva #include Modul Kompilátor (= Překladač) Preprocesor Linker Debugger Hlavičkové soubory.h Zdrojové soubory.c a.cpp Integrované vývojové prostředí Otázky k rekapitulaci Záleží v jazyku C na velikostí písmen v názvu proměnných, funkcí a klíčových slov? Jaké funkce pro ze standardních knihoven jazyka C jsme zatím použili a co tyto funkce dělají? Jaké znáte typy souborů používané při programování v jazyku C nebo při kompilaci programu a jaké mají koncovky. Za jakým účelem se používá direktiva #include a jak je zpracována při překladu programu. Jak probíhá překlad programu tvořeného jedním zdrojovým souborem? Jak probíhá překlad programu tvořeného více zdrojovými souborem? Kdy je výhodné rozdělovat program do více modulů? Čím je výjimečná funkce main a k čemu slouží její parametry? Lze definovat vnořenou funkci? Lze vytvořit funkci bez parametrů? Jakým operátorem se oddělují od sebe parametry funkce? Lze využít nějaký skácený zápis, pokud je více parametrů stejného typ? Musí každá funkce končit return? Existuje v jazyce C procedura? Jaký je rozdíl mezi formálními a skutečnými parametry funkce. Záleží na pořadí funkcí ve zdrojovém souboru? Své odpovědi zdůvodněte. Můžete přidat i syntaktické zápisy tam, kde je to vhodné.

10 Doporučené příklady k naprogramování Nejprve si nainstalujeme vývojové prostředí Microsoft Visual Studio 2008 Express Edition. Při instalaci si můžete vybrat, které programovací jazyky chcete nainstalovat. Důležité je nainstalovat C++. Můžete také nainstalovat i nějaký jiný alternativní překladač, ale výklad (např. klávesové zkratky) je uváděn pouze pro Microsoft Visual Studio. Nyní si otevřeme nový prázdný projekt v jazyku C++. Postup je dost komplikovaný, popíšu ho krok za krokem. Z menu File dáme položku New a v ní položku Project. Vyskočí nám okno, ve kterém v levé části vybereme položku Visual C++ a její podpoložku Win32. V pravé části okna nyní vybereme ikonu s popisem Win32 Console Aplication. Dole jsou tři řádky. První z nich je jméno projektu, které musíme vyplnit (jména projektů zkuste vytvářet smysluplně dle úlohy, co řešíte.). Další řádky můžeme ponechat jak jsou. Klikněte na tlačítko OK a vyskočí další okno, ve kterém dáme položku next. V dalším okně zaškrtneme volbu Empty project a následně dáme tlačítko Finish. V tomto postupu je důležité neudělat žádnou chybu. Gratuluji, máte vytvořený prázdný projekt. Nyní v levé části obrazovky vidíte Solution Explorer, ve kterém můžete do projektu přidávat nové soubory. Potřebujeme přidat nový zdrojový soubor, klikneme tedy pravým tlačítkem myši na Ressource files a v menu vybereme Add a v dalším menu pak New Item. Nyní můžeme soubor pojmenovat a naší volbu potvrdit tlačítkem Add. Hlavičkové soubory se přidávají obdobně, celý postup provádíme na Header files. Zadání příkladů: 1. Napište program, který vypíše na standardní výstup řetězec "Hello world". Ladění programu se spouští klávesou F5. 2. Upravte program z bodu (1) tak, aby využíval dvě bezparametrické funkce. První z nich vypíše slovo "Hello", druhá vypíše slovo "World". Nápověda: nepokoušejte se o napsání funkce s parametrem typu řetězec, znalosti k tomu potřebné získáte až později. 3. Modifikujte program z (2), tak aby jeho návratovou hodnotou byl počet znaků vytisknutých na standardní výstup. Nápověda: funkce printf vrací počet vytisknutých znaků. 4. Vytrasujte program pomocí klávesy F10 (Step Over). 5. Vytrasujte program pomocí klávesy F11 (Step Into). 6. Pomocí klávesy F9 nastavte v programu breakpoint a pomocí ladění programu si vyzkoušejte jeho efekt. 7. Sledujte hodnotu vybrané proměnné v průběhu ladění v okně "autos" nebo "watch1". 8. Sledujte zásobník volání funkcí "Call Stack" během ladění. 9. Rozdělte program z (4) do více modulů, každá funkce (včetně funkce main) bude v samostatném.cpp souboru. Vytvořte i příslušné.h soubory. Celkově tedy budete mít tři.cpp soubory a dva.h soubory.

11 Studijní literatura Výklad často odkazuje na slajdy (ve formátu.ppt), které je vhodné si vytisknout. Je vhodné si pořídit nějakou knihu o programování v C nebo C++. Uvedené příklady knih berte pouze jako inspirativní. Miroslav Virius: Programování v C++ (ČVUT, 2. vydání 2004) Jesse Liberty, Bradley L. Jones: Naučte se C++ za 21 dní (Computer Press, 2. vydání, 2007) Knihu je dobré číst postupně a vlastním tempem, můžete mít i mírné zpoždění oproti našemu výkladu. Pořadí kapitol v knize neodpovídá úplně přesně pořadí, v jakém učivo probíráme. Tento tématický blok se zaměřte na jednoduché ukázkové příklady pro jazyk C. Miroslav Virius: Pasti a propasti jazyka C++ (Brno, 2. vydání 2005) Kapitola 1.5 Funkce Kapitola 1.7 Překlad a sestavení

Microsoft Office. Word styly

Microsoft Office. Word styly Microsoft Office Word styly Karel Dvořák 2011 Styly Používání stylů v textovém editoru přináší několik nesporných výhod. Je to zejména jednoduchá změna vzhledu celého dokumentu. Předem připravené styly

Více

IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE

IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE Nové formy výuky s podporou ICT ve školách Libereckého kraje IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE Podrobný návod Autor: Mgr. Michal Stehlík IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE 1 Úvodem Tento

Více

MS WORD 2007 Styly a automatické vytvoření obsahu

MS WORD 2007 Styly a automatické vytvoření obsahu MS WORD 2007 Styly a automatické vytvoření obsahu Při formátování méně rozsáhlých textů se můžeme spokojit s formátováním použitím dílčích formátovacích funkcí. Tato činnost není sice nijak složitá, ale

Více

Programování v jazyce C. Proces celkového sestavení programu ze zdrojového kódu, vývojové nástroje Linuxu

Programování v jazyce C. Proces celkového sestavení programu ze zdrojového kódu, vývojové nástroje Linuxu Programování v jazyce C Proces celkového sestavení programu ze zdrojového kódu, vývojové nástroje Linuxu Jan Schee, ÚF FPF SU Opava, 2012 Proces sestavování programu Proces sestavení programu Zdrojový

Více

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu Výuka moderně Registrační číslo projektu: CZ.1.07/1.5.00/34.0205 Šablona: III/2 Informační

Více

2.4.11 Nerovnice s absolutní hodnotou

2.4.11 Nerovnice s absolutní hodnotou .. Nerovnice s absolutní hodnotou Předpoklady: 06, 09, 0 Pedagogická poznámka: Hlavním záměrem hodiny je, aby si studenti uvědomili, že se neučí nic nového. Pouze používají věci, které dávno znají, na

Více

BlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová

BlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová BlueJ a základy OOP Programování II 1. cvičení Alena Buchalcevová Konzultační hodiny v ISu doc. Alena Buchalcevová Po 14:00-15:00 NAR 220 2 Cíle 1. cvičení pochopit pojmy: třída instance konstruktor metoda

Více

Postup práce s elektronickým podpisem

Postup práce s elektronickým podpisem Obsah 1. Obecné informace o elektronickém podpisu... 2 2. Co je třeba nastavit, abyste mohli používat elektronický podpis v MS2014+... 2 2.1. Microsoft Silverlight... 2 2.2. Zvýšení práv pro MS Silverlight...

Více

Tabulky Word 2007 - egon. Tabulky, jejich formátování, úprava, změna velikosti

Tabulky Word 2007 - egon. Tabulky, jejich formátování, úprava, změna velikosti Tabulky Word 2007 - egon Tabulky, jejich formátování, úprava, změna velikosti Jan Málek 26.7.2010 Tabulky Tabulky nám pomáhají v pochopení, jak mezi sebou souvisí určité informace, obohacují vzhled dokumentu

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_33_12 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávací oblast Vzdělávání v informačních a komunikačních

Více

V týmové spolupráci jsou komentáře nezbytností. V komentářích se může např. kolega vyjadřovat k textu, který jsme napsali atd.

V týmové spolupráci jsou komentáře nezbytností. V komentářích se může např. kolega vyjadřovat k textu, který jsme napsali atd. Týmová spolupráce Word 2010 Kapitola užitečné nástroje popisuje užitečné dovednosti, bez kterých se v kancelářské práci neobejdeme. Naučíme se poznávat, kdo, kdy a jakou změnu provedl v dokumentu. Změny

Více

Průvodce instalací programu DesignCAD 3D Max v25 US (CZ) Full/Upgrade

Průvodce instalací programu DesignCAD 3D Max v25 US (CZ) Full/Upgrade Průvodce instalací programu DesignCAD 3D Max v25 US (CZ) Full/Upgrade Zdravím Vás. Tento dokument je určen především začínajícím uživatelům. Povede vás instalací US verze, která není lokalizovaná, krok

Více

František Hudek. květen 2013. 6. - 7. ročník

František Hudek. květen 2013. 6. - 7. ročník VY_32_INOVACE_FH13_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek květen 2013

Více

1.3.1 Kruhový pohyb. Předpoklady: 1105

1.3.1 Kruhový pohyb. Předpoklady: 1105 .. Kruhový pohyb Předpoklady: 05 Předměty kolem nás se pohybují různými způsoby. Nejde pouze o přímočaré nebo křivočaré posuvné pohyby. Velmi často se předměty otáčí (a některé se přitom pohybují zároveň

Více

Algoritmizace a programování

Algoritmizace a programování Pátek 4. ledna Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů.

Více

PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK

PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK Autor: Josef Fröhlich Verze dokumentu: 1.1 Datum vzniku: 4.4.2006 Datum poslední úpravy: 10.4.2006 Liberecká IS, a.s.;jablonecká 41; 460 01 Liberec V; IČ: 25450131;

Více

Metodika pro učitele

Metodika pro učitele Metodika pro učitele Úprava a práce s fotografiemi v programu PhotoScape Obrázkový editor PhotoScape je zdarma dostupný program, který nabízí jednoduchou úpravu obrázků a fotek, je určen začátečníků a

Více

CERTIFIKOVANÉ TESTOVÁNÍ (CT) Výběrové šetření výsledků žáků 2014

CERTIFIKOVANÉ TESTOVÁNÍ (CT) Výběrové šetření výsledků žáků 2014 (CT) Výběrové šetření výsledků žáků 2014 Uživatelská příručka pro přípravu školy Verze 1 Obsah 1 ÚVOD... 3 1.1 Kde hledat další informace... 3 1.2 Posloupnost kroků... 3 2 KROK 1 KONTROLA PROVEDENÍ POINSTALAČNÍCH

Více

Sada 2 - MS Office, Excel

Sada 2 - MS Office, Excel S třední škola stavební Jihlava Sada 2 - MS Office, Excel 20. Excel 2007. Kontingenční tabulka Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Windows 10 (6. třída)

Windows 10 (6. třída) Windows 10 (6. třída) Okno spuštěné aplikace: takto vypadá okno aplikace Malování - panel nástrojů Rychlý přístup Titulkový pruh se jménem souboru (Bez názvu) tlačka pro minimalizaci, obnovení z maxima

Více

JAZYK C PRO MIKROKONTROLÉRY

JAZYK C PRO MIKROKONTROLÉRY JAZYK C PRO MIKROKONTROLÉRY Jazyk C pro mikrokontroléry Číslo DUM v digitálním archivu školy VY_32_INOVACE_10_03_01 Vytvořeno 07/2013 Materiál vysvětluje základní princip programování mikrokontrolérů v

Více

Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Dynamické datové struktury 1.1 Příklad:

Více

Kalendář je nástroj, který vám pomůže zorganizovat si pracovní čas. Zaznamenáváme do něj události jako schůzky, termíny odevzdání práce a podobně.

Kalendář je nástroj, který vám pomůže zorganizovat si pracovní čas. Zaznamenáváme do něj události jako schůzky, termíny odevzdání práce a podobně. III. je nástroj, který vám pomůže zorganizovat si pracovní čas. Zaznamenáváme do něj události jako schůzky, termíny odevzdání práce a podobně. V levé spodní části okna Outlook si stisknutím tlačítka zobrazíme

Více

Google Apps. pošta 2. verze 2012

Google Apps. pošta 2. verze 2012 Google Apps pošta verze 0 Obsah Obsah... Úvod... Přečtení emailu... Napsání emailu... Odpověď na email... 6 Úvod V dnešní době chce mít každý své informace po ruce. Díky Internetu a online aplikacím je

Více

Sada 2 - MS Office, Excel

Sada 2 - MS Office, Excel S třední škola stavební Jihlava Sada 2 - MS Office, Excel 03. Úvod do Excelu 2007. Vkládání dat, vzorce Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

JAK PŘIDAT UŽIVATELE PRO ADMINISTRÁTORY

JAK PŘIDAT UŽIVATELE PRO ADMINISTRÁTORY JAK PŘIDAT UŽIVATELE PRO ADMINISTRÁTORY Po vytvoření nové společnosti je potřeba vytvořit nové uživatele. Tato volba je dostupná pouze pro administrátory uživatele TM s administrátorskými právy. Tento

Více

František Hudek. březen 2013. 6. - 7. ročník

František Hudek. březen 2013. 6. - 7. ročník VY_32_INOVACE_FH07_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek březen 2013

Více

( ) 2.5.7 Neúplné kvadratické rovnice. Předpoklady: 020501

( ) 2.5.7 Neúplné kvadratické rovnice. Předpoklady: 020501 ..7 Neúplné kvadratické rovnice Předpoklady: Pedagogická poznámka: Tato hodina patří mezi vzácné výjimky, kdy naprostá většina studentů skončí více než pět minut před zvoněním. Nechávám je dělat něco jiného

Více

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Aleš Najman [ÚLOHA 18 TVORBA PLOCH]

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Aleš Najman [ÚLOHA 18 TVORBA PLOCH] Aplikované úlohy Solid Edge SPŠSE a VOŠ Liberec Ing. Aleš Najman [ÚLOHA 18 TVORBA PLOCH] 1 ÚVOD V této kapitole je probírána tématika tvorby ploch pomocí funkcí vysunutí, rotace a tažení. V moderním světě,

Více

SIS INSTALAČNÍ PŘÍRUČKA (SITE INFORMATION SYSTEM) Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference:

SIS INSTALAČNÍ PŘÍRUČKA (SITE INFORMATION SYSTEM) Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference: SIS (SITE INFORMATION SYSTEM) INSTALAČNÍ PŘÍRUČKA Připravil: AdiNet s.r.o. Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference: Kapitola 1 - Řízení dokumentu 2002 1.1 Záznam změn

Více

Google AdWords - návod

Google AdWords - návod Google AdWords - návod Systém Google AdWords je reklamním systémem typu PPC, který provozuje společnost Google, Inc. Zobrazuje reklamy ve výsledcích vyhledávání či v obsahových sítích. Platí se za proklik,

Více

DUM 16 téma: Dávkové soubory

DUM 16 téma: Dávkové soubory DUM 16 téma: Dávkové soubory ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10Algoritmizace a programování určeno pro: 2-3.ročník vzdělávací obor: vzdělávací oblast: číslo projektu:

Více

Průvodce e learningem

Průvodce e learningem Průvodce e learningem Vstup do systému Pro správnou funkci kurzů je nutné používat aktuální verze internetových prohlížečů. Pokud si nejste jisti, jakou verzi internetového prohlížeče používáte, doporučujeme

Více

2.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou

2.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou .8.9 Parametrické rovnice a nerovnice s absolutní hodnotou Předpoklady: 0,, 806 Pedagogická poznámka: Opět si napíšeme na začátku hodiny na tabuli jednotlivé kroky postupu při řešení rovnic (nerovnic)

Více

Každý jednotlivý záznam datového souboru (tzn. řádek) musí být ukončen koncovým znakem záznamu CR + LF.

Každý jednotlivý záznam datového souboru (tzn. řádek) musí být ukončen koncovým znakem záznamu CR + LF. Stránka 1 z 6 ABO formát Technický popis struktury formátu souboru pro načtení tuzemských platebních příkazů k úhradě v CZK do internetového bankovnictví. Přípona souboru je vždy *.KPC Soubor musí obsahovat

Více

2.7.2 Mocninné funkce se záporným celým mocnitelem

2.7.2 Mocninné funkce se záporným celým mocnitelem .7. Mocninné funkce se záporným celým mocnitelem Předpoklady: 70 Mocninné funkce se záporným celým mocnitelem: znamená? 3 y = = = = 3 y y y 3 = ; = ; = ;.... Co to Pedagogická poznámka: Nechávám studenty,

Více

Sada 2 Microsoft Word 2007

Sada 2 Microsoft Word 2007 S třední škola stavební Jihlava Sada 2 Microsoft Word 2007 04. Text v záhlaví, zápatí, číslování stránek Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Kvadratické rovnice pro studijní obory

Kvadratické rovnice pro studijní obory Variace 1 Kvadratické rovnice pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Kvadratické

Více

První přihlášení a první kroky po přihlášení do Registru zdravotnických prostředků pro již ohlášenou osobu

První přihlášení a první kroky po přihlášení do Registru zdravotnických prostředků pro již ohlášenou osobu První přihlášení a první kroky po přihlášení do Registru zdravotnických prostředků pro již ohlášenou osobu Podle tohoto návodu postupujte tehdy, pokud jste osoba zacházející se zdravotnickými prostředky,

Více

Používání IS Carsystem

Používání IS Carsystem Používání IS Carsystem Filtrování dat se SW Carsys Jak řadit a filtrovat data v agendách... 1 I. Používání filtrů... 1 II. Uložené filtry... 2 III. Vyvolávání filtrů... 3 Jak zobrazit potřebná data...

Více

{ } 9.1.9 Kombinace II. Předpoklady: 9108. =. Vypiš všechny dvoučlenné kombinace sestavené z těchto pěti prvků. Urči počet kombinací pomocí vzorce.

{ } 9.1.9 Kombinace II. Předpoklady: 9108. =. Vypiš všechny dvoučlenné kombinace sestavené z těchto pěti prvků. Urči počet kombinací pomocí vzorce. 9.1.9 Kombinace II Předpoklady: 9108 Př. 1: Je dána pěti prvková množina: M { a; b; c; d; e} =. Vypiš všechny dvoučlenné kombinace sestavené z těchto pěti prvků. Urči počet kombinací pomocí vzorce. Vypisujeme

Více

Elektronický formulář

Elektronický formulář Úvod Elektronický formulář a postup při jeho podání Tento dokument je průvodcem uživatele při vyplňování a odeslání elektronického formuláře žádosti. Jednotlivé žádosti o dotaci jsou ve formátu 602 XML

Více

Sada 2 CAD2. 16. CADKON 2D 2011 Nosníkový strop

Sada 2 CAD2. 16. CADKON 2D 2011 Nosníkový strop S třední škola stavební Jihlava Sada 2 CAD2 16. CADKON 2D 2011 Nosníkový strop Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 -

Více

Využití EduBase ve výuce 2

Využití EduBase ve výuce 2 B.I.B.S., a. s. Využití EduBase ve výuce 2 Projekt Vzdělávání pedagogů v prostředí cloudu reg. č. CZ.1.07/1.3.00/51.0011 Mgr. Jitka Kominácká, Ph.D. a kol. 2015 1 Obsah 1 Obsah... 2 2 Úvod... 3 3 Aktivita:

Více

Vektorový grafický editor

Vektorový grafický editor Vektorový grafický editor Jak již bylo řečeno, vektorový editor pracuje s křivkami; u vektorových obrázků se při zvětšování kvalita nemění. Jednoduchý vektorový obrázek může nakreslit ve Wordu; pro náročnější

Více

DUM téma: KALK Výrobek sestavy

DUM téma: KALK Výrobek sestavy DUM téma: KALK Výrobek sestavy ze sady: 2 tematický okruh sady: Příprava výroby a ruční programování CNC ze šablony: 6 Příprava a zadání projektu Určeno pro : 3 a 4 ročník vzdělávací obor: 23-41-M/01 Strojírenství

Více

DS SolidWorks PDM Workgroup

DS SolidWorks PDM Workgroup Komplexní správa dat s podporou systému DS SolidWorks PDM Workgroup Příklad 3 - Tvorba CAD sestavy s podporou PDMW Ing. Martin Nermut, 2012 Cíl: Vytvořit pomocí aplikace SolidWorks jednoduchou sestavu

Více

PŘÍLOHA č. 2B PŘÍRUČKA IS KP14+ PRO OPTP - ŽÁDOST O ZMĚNU

PŘÍLOHA č. 2B PŘÍRUČKA IS KP14+ PRO OPTP - ŽÁDOST O ZMĚNU PŘÍLOHA č. 2B PRAVIDEL PRO ŽADATELE A PŘÍJEMCE PŘÍRUČKA IS KP14+ PRO OPTP - ŽÁDOST O ZMĚNU OPERAČNÍ PROGRAM TECHNICKÁ POMOC Vydání 1/7, platnost a účinnost od 04. 04. 2016 Obsah 1 Změny v projektu... 3

Více

Modul účetnictví: Kontrolní výkaz DPH (SK) Podklady ke školení

Modul účetnictví: Kontrolní výkaz DPH (SK) Podklady ke školení Modul účetnictví: Kontrolní výkaz DPH (SK) Podklady ke školení 7.10.2015 Denková Barbora, DiS. Datum tisku 7.10.2015 2 Modul účetnictví: Kontrolní výkaz DPH (SK) Modul u c etnictví : Kontrolní vý kaz DPH

Více

Ministerstvo pro místní rozvoj. podprogram 117 513

Ministerstvo pro místní rozvoj. podprogram 117 513 Pokyny pro vyplnění elektronické žádosti podprogram 117 513 Podpora výstavby technické infrastruktury Elektronická žádost je umístěna na internetové adrese http://www3.mmr.cz/zad a lze na ni vstoupit i

Více

( ) 2.4.4 Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208

( ) 2.4.4 Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208 .. Kreslení grafů funkcí metodou dělení definičního oboru I Předpoklady: 01, 08 Opakování: Pokud jsme při řešení nerovnic potřebovali vynásobit nerovnici výrazem, nemohli jsme postupovat pro všechna čísla

Více

Programování 4. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Programování 4. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Programování 4. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Stromy Reprezentace Binární vyhledávací

Více

Novinky v programu Účtárna 2.09

Novinky v programu Účtárna 2.09 Novinky v programu Účtárna 2.09 Podpora pro Kontrolní hlášení Popis: Program obsahuje podporu pro plátce DPH, pro něž platí od 1.1.2016 nová legislativní povinnost Kontrolní hlášení. V knihách prvotních

Více

Signály Mgr. Josef Horálek

Signály Mgr. Josef Horálek Signály Mgr. Josef Horálek Signály = Jedná se o nejstarší metody komunikace mezi procesem a jádrem, a mezi samotnými procesy. = Princip: = Prosec vykonává určitou činnost přijde mu signál přeruší původní

Více

4.2.7 Voltampérová charakteristika rezistoru a žárovky

4.2.7 Voltampérová charakteristika rezistoru a žárovky 4.2.7 Voltampérová charakteristika rezistoru a žárovky Předpoklady: 4205 Pedagogická poznámka: Tuto hodinu učím jako běžnou jednohodinovku s celou třídou. Některé dvojice stihnou naměřit více odporů. Voltampérová

Více

Mobilní aplikace pro ios

Mobilní aplikace pro ios Předběžná zadávací dokumentace k projektu: Mobilní aplikace pro ios Kontaktní osoba: Jan Makovec, makovec@ckstudio.cz Obsah Cíl projektu... 2 Obrazovky aplikace... 2 Základní prostředí aplikace... 2 Intro...

Více

DUM 11 téma: Nástroje pro transformaci obrázku

DUM 11 téma: Nástroje pro transformaci obrázku DUM 11 téma: Nástroje pro transformaci obrázku ze sady: 2 tematický okruh sady: Bitmapová grafika ze šablony: 09 Počítačová grafika určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu:

Více

M - Rovnice - lineární a s absolutní hodnotou

M - Rovnice - lineární a s absolutní hodnotou Rovnice a jejich ekvivalentní úpravy Co je rovnice Rovnice je matematický zápis rovnosti dvou výrazů. př.: x + 5 = 7x - M - Rovnice - lineární a s absolutní hodnotou Písmeno zapsané v rovnici nazýváme

Více

Operační systém teoreticky

Operační systém teoreticky Přednášky o výpočetní technice Operační systém teoreticky Adam Dominec 2010 Rozvržení Operační systém Uživatelské účty Správa RAM Plánování procesů Knihovny Okna Správa zařízení Rozvržení Operační systém

Více

Úpravy skříní a čelních ploch pro úchopovou lištou

Úpravy skříní a čelních ploch pro úchopovou lištou Úpravy skříní a čelních ploch pro úchopovou lištou Úchopová lišta znamená hliníkovou lištu, která je součástí korpusu. Skříňky jsou připraveny pro osazení této lišty, lišta samotná se osazuje až na montáži.

Více

Tvorba trendové funkce a extrapolace pro roční časové řady

Tvorba trendové funkce a extrapolace pro roční časové řady Tvorba trendové funkce a extrapolace pro roční časové řady Příklad: Základem pro analýzu je časová řada živě narozených mezi lety 1970 a 2005. Prvním úkolem je vybrat vhodnou trendovou funkci pro vystižení

Více

DUM 13 téma: Příkazy pro výběr

DUM 13 téma: Příkazy pro výběr DUM 13 téma: Příkazy pro výběr ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací oblast:

Více

Pohyb v listu. Řady a posloupnosti

Pohyb v listu. Řady a posloupnosti Pohyb v listu. Řady a posloupnosti EU peníze středním školám Didaktický učební materiál Anotace Označení DUMU: VY_32_INOVACE_IT4.05 Předmět: IVT Tematická oblast: Microsoft Office 2007 Autor: Ing. Vladimír

Více

1.1.1 Kvadratické rovnice (dosazení do vzorce) I

1.1.1 Kvadratické rovnice (dosazení do vzorce) I .. Kvadratické rovnice (dosazení do vzorce) I Předpoklady: základní početní operace Rovnicí se nazývá vztah rovnosti mezi dvěma výrazy obsahujícími jednu nebo více neznámých. V této kapitole se budeme

Více

Poznámky k verzi Remote Support Platform 3.0

Poznámky k verzi Remote Support Platform 3.0 Poznámky k verzi Remote Support Platform for SAP Business One Verze dokumentu: 1.0 2012-10-08 VEŘEJNÉ Poznámky k verzi Remote Support Platform 3.0 Všechny státy Typografické konvence Styl typu Příklad

Více

Verzovací systémy (systémy pro správu verzí)

Verzovací systémy (systémy pro správu verzí) Verzovací systémy (systémy pro správu verzí) Co je verzování 1 / Úvod způsob uchovávání historie všech provedených změn u nějakého dokumentu - typicky zdrojové kódy, blueprinty,... >> správa více verzí

Více

9.2.5 Sčítání pravděpodobností I

9.2.5 Sčítání pravděpodobností I 9.2.5 Sčítání pravděpodobností I Předpoklady: 9203 Pedagogická poznámka: Následující problém sice zadávám jako příklad, ale minimálně na začátku s žáky počítám na tabuli. I kvůli tomu, aby jejich úprava

Více

Diktafon s aktivací hlasem

Diktafon s aktivací hlasem Diktafon s aktivací hlasem Návod k obsluze Hlavní výhody Dlouhá výdrž baterie Kvalitní zvuk Snadné ovládání www.spyobchod.cz Stránka 1 1. Popis produktu 2. Nahrávání Přístroj zapneme páčkou (8) OFF/ON.

Více

imedicus - internetové objednávání

imedicus - internetové objednávání imedicus - internetové objednávání verze: 27. červenec 2009 2 1. Medicus Komfort imedicus - internetové objednávání imedicus slouží k internetovému objednávání pacientů. Přispívá ke zvýšení pohodlí pacientů

Více

Název: VY_32_INOVACE_PG3309 Booleovské objekty ve 3DS Max - sčítání a odčítání objektů

Název: VY_32_INOVACE_PG3309 Booleovské objekty ve 3DS Max - sčítání a odčítání objektů Název: VY_32_INOVCE_PG3309 ooleovské objekty ve 3DS Max - sčítání a odčítání objektů utor: Mgr. Tomáš Javorský Datum vytvoření: 05 / 2012 Ročník: 3 Vzdělávací oblast / téma: 3D grafika, počítačová grafika,

Více

PADS návrh jednoduchého regulátoru

PADS návrh jednoduchého regulátoru PADS návrh jednoduchého regulátoru zpracováno podle: http://www.people.vcu.edu/~rhklenke/tutorials/pads/pads_tutorial_3.3v_reg/simplereg.html Schéma - 1. Začneme spuštěním PADS Logic z příslušného adresáře

Více

Import zboží. Obrázek 1

Import zboží. Obrázek 1 Import zboží Pomocí importu zboží lze jednoduše vkládat větší množství položek do systému nebo v MS Excel hromadně měnit různé vlastnosti zboží. Import zboží lze provést následovně. V administraci vyberte

Více

Návod na připojení do WiFi sítě eduroam Microsoft Windows XP

Návod na připojení do WiFi sítě eduroam Microsoft Windows XP Návod na připojení do WiFi sítě eduroam Microsoft Windows XP Každý student a zaměstnanec UTB má možnost připojit se do bezdrátové sítě eduroam. Tento dokument obsahuje návod, jak se připojit do WiFi sítě

Více

Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010

Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010 Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010 Novinky v PowerPoint 2010 Správa souborů v novém zobrazení Backstage Automatické ukládání verzí prezentace Uspořádání snímků

Více

Postup pro instalaci a nastavení programu X-lite

Postup pro instalaci a nastavení programu X-lite Postup pro instalaci a nastavení programu X-lite Zde se dozvíte jak nainstalovat a nastavit program X-lite. Tento program doporučujeme jako softwarové řešení pro používání naší služby VoIPEX. Program X-lite

Více

Srovnání posledních dvou verzí studijních plánů pro studijní obor. Informační systémy. (studijní program Aplikovaná informatika)

Srovnání posledních dvou verzí studijních plánů pro studijní obor. Informační systémy. (studijní program Aplikovaná informatika) Srovnání posledních dvou verzí studijních plánů pro studijní obor Informační systémy (studijní program Aplikovaná informatika) Úvod Ve STAGu jsou poslední verze studijních plánů pro studijní obor Informační

Více

Studijní informační systém. Nápověda pro vyučující 2 Práce s rozvrhem a předměty

Studijní informační systém. Nápověda pro vyučující 2 Práce s rozvrhem a předměty Studijní informační systém Nápověda pro vyučující 2 Práce s rozvrhem a předměty Vyučující a tajemníci (osoby s tajemnickou rolí pro SIS) mají možnost v období elektronického zápisu upravovat zápis studentů

Více

= musíme dát pozor na: jmenovatel 2a, zda je a = 0 výraz pod odmocninou, zda je > 0, < 0, = 0 (pak je jediný kořen)

= musíme dát pozor na: jmenovatel 2a, zda je a = 0 výraz pod odmocninou, zda je > 0, < 0, = 0 (pak je jediný kořen) .8.7 Kvadratické rovnice s parametrem Předpoklady: 507, 803 Pedagogická poznámka: Na první pohled asi každého zarazí, že takřka celá hodina je psána jako příklady a studenti by ji měli vypracovat samostatně.

Více

Č. 7 číslo a název klíčové aktivity Inovace a zkvalitnění výuky prostřednictvím ICT

Č. 7 číslo a název klíčové aktivity Inovace a zkvalitnění výuky prostřednictvím ICT Č. 7 číslo a název klíčové aktivity název materiálu III/2 Inovace a zkvalitnění výuky prostřednictvím ICT VY_32_INOVACE_07_ICT_ZIT57PL_ Operační systém Windows téma Základy informačních technologií - Operační

Více

Dualita v úlohách LP Ekonomická interpretace duální úlohy. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Dualita v úlohách LP Ekonomická interpretace duální úlohy. Jiří Neubauer. Katedra ekonometrie FEM UO Brno Přednáška č. 6 Katedra ekonometrie FEM UO Brno Uvažujme obecnou úlohu lineárního programování, tj. úlohu nalezení takového řešení vlastních omezujících podmínek a 11 x 1 + a 1 x +... + a 1n x n = b 1 a

Více

Novinky v Maple T.A. 10

Novinky v Maple T.A. 10 Novinky v Maple T.A. 10 Maple T.A. 10 je nová verze aplikace Maple T.A., jejíž nová funkcionalita je zejména založena na požadavcích uživatelů z řad studentů, instruktorů, administrátorů. Došlo k rozšíření

Více

Vstup a přihlášení do systému. Dokumentace k programu. Zápis hodnocení studentů 1. možnost zápis po jednotlivých studentech

Vstup a přihlášení do systému. Dokumentace k programu. Zápis hodnocení studentů 1. možnost zápis po jednotlivých studentech Manuál pro vyučující pro práci se Smile ISIS Smile ISIS je nový internetový školní informační systém, který naše škola postupně zavádí. do systému je možno vstupovat z jakéhokoliv počítače, stačí mít připojení

Více

Roční hodnocení (návod pro studenty)

Roční hodnocení (návod pro studenty) Roční hodnocení (návod pro studenty) Na stránce https://is.cuni.cz/studium/index.php se přihlásíte do studijního informačního systému (dále jen SIS). Pro přihlášení je třeba mít platné přihlašovací údaje.

Více

Návod pro Windows XP

Návod pro Windows XP Návod pro Windows XP Tento návod popisuje nastavení operačního systému Windows XP SP2 v české verzi pro připojení do bezdrátové sítě eduroam. Předpokládá se, že uživatel má již nainstalovány (většinou

Více

Instalace programu VentiCAD

Instalace programu VentiCAD Instalace programu VentiCAD 1) Pro stažení instalačního souboru setup.exe je třeba navštívit stránky www.elektrodesign.cz 2) V případě, že jste již zaregistrováni jako projektant TZB nebo projektant VZT,

Více

Plán předmětu Název předmětu: Školní rok: Ročník: Semestr: Typ předmětu: Rozsah předmětu: Počet kreditů: Přednášející: Cvičící: Cíl předmětu

Plán předmětu Název předmětu: Školní rok: Ročník: Semestr: Typ předmětu: Rozsah předmětu: Počet kreditů: Přednášející: Cvičící: Cíl předmětu Plán předmětu Název předmětu: Algoritmizace a programování (PAAPP) Školní rok: 2009/2010 Ročník: I Semestr: II. (letní) Typ předmětu: povinný Rozsah předmětu: 3 3 z, zk Počet kreditů: 6 Přednášející: RNDr.

Více

českém Úvod Obsah balení WWW.SWEEX.COM LC100040 USB adaptér Sweex pro bezdrátovou síť LAN

českém Úvod Obsah balení WWW.SWEEX.COM LC100040 USB adaptér Sweex pro bezdrátovou síť LAN LC100040 USB adaptér Sweex pro bezdrátovou síť LAN Úvod Nejprve bychom vám rádi poděkovali za zakoupení USB adaptéru Sweex pro bezdrátovou síť LAN. USB adaptér umožňuje snadno a bleskově nastavit bezdrátovou

Více

PROGRAMOVÁNÍ SVĚTELNÝCH OZDOB

PROGRAMOVÁNÍ SVĚTELNÝCH OZDOB Středoškolská technika 2016 Setkání a prezentace prací středoškolských studentů na ČVUT PROGRAMOVÁNÍ SVĚTELNÝCH OZDOB Jiří Bendík, Martin Bárta Střední odborná škola strojní a elektrotechnická U Hřiště

Více

Propiska s kamerou PRO, 1280x720px

Propiska s kamerou PRO, 1280x720px Propiska s kamerou PRO, 1280x720px Návod k obsluze Hlavní výhody přístroje: Propiska je vybavena automatickou aktivací pohybem Propiska má volitelné nastavení rozlišení videa 1280x720 / 640x480 / 352x288

Více

E-ZAK. metody hodnocení nabídek. verze dokumentu: 1.1. 2011 QCM, s.r.o.

E-ZAK. metody hodnocení nabídek. verze dokumentu: 1.1. 2011 QCM, s.r.o. E-ZAK metody hodnocení nabídek verze dokumentu: 1.1 2011 QCM, s.r.o. Obsah Úvod... 3 Základní hodnotící kritérium... 3 Dílčí hodnotící kritéria... 3 Metody porovnání nabídek... 3 Indexace na nejlepší hodnotu...4

Více

Dopravní úloha. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Dopravní úloha. Jiří Neubauer. Katedra ekonometrie FEM UO Brno Přednáška č. 9 Katedra ekonometrie FEM UO Brno Distribuční úlohy Budeme se zabývat 2 typy distribučních úloh dopravní úloha přiřazovací problém Dopravní úloha V dopravním problému se v typickém případě

Více

LDo paměti přijímače může být zapsáno maximálně 256 kódů vysílačů. Tyto není PŘIJÍMAČ SMXI. Popis výrobku

LDo paměti přijímače může být zapsáno maximálně 256 kódů vysílačů. Tyto není PŘIJÍMAČ SMXI. Popis výrobku Návod SMXI PŘIJÍMAČ SMXI Popis výrobku Součástí řídícíjednotkyjerádiovýpřijímač dálkovéhoovládánípracujícíhonaprincipu plovoucího kódu, náležící k sérii FLOR avery firmy NICE. Charakteristické na této

Více

Doporučené nastavení prohlížeče MS Internet Explorer 7 a vyšší pro ČSOB InternetBanking 24 a ČSOB BusinessBanking 24 s využitím čipové karty

Doporučené nastavení prohlížeče MS Internet Explorer 7 a vyšší pro ČSOB InternetBanking 24 a ČSOB BusinessBanking 24 s využitím čipové karty Doporučené nastavení prohlížeče MS Internet Explorer 7 a vyšší pro ČSOB InternetBanking 24 a ČSOB BusinessBanking 24 s využitím čipové karty Obsah 1. Instalace SecureStore... 2 1.1. Instalace čtečky čipových

Více

Popis připojení elektroměru k modulům SDS Micro, Macro a TTC.

Popis připojení elektroměru k modulům SDS Micro, Macro a TTC. Popis připojení elektroměru k modulům SDS Micro, Macro a TTC. V tomhle případě předpokládáme, že modul SDS je již zapojen do sítě a zprovozněn. První zapojení a nastavení modulů SDS najdete v návodech

Více

Vedoucí bakalářské práce

Vedoucí bakalářské práce Univerzita Pardubice, Fakulta ekonomicko-správní, Ústav Posudek vedoucího bakalářské práce Jméno studenta Téma práce Cíl práce Vedoucí bakalářské práce Barbora RUMLOVÁ ANALÝZA A POTENCIÁLNÍ ROZVOJ CESTOVNÍHO

Více

(a) = (a) = 0. x (a) > 0 a 2 ( pak funkce má v bodě a ostré lokální maximum, resp. ostré lokální minimum. Pokud je. x 2 (a) 2 y (a) f.

(a) = (a) = 0. x (a) > 0 a 2 ( pak funkce má v bodě a ostré lokální maximum, resp. ostré lokální minimum. Pokud je. x 2 (a) 2 y (a) f. I. Funkce dvou a více reálných proměnných 5. Lokální extrémy. Budeme uvažovat funkci f = f(x 1, x 2,..., x n ), která je definovaná v otevřené množině G R n. Řekneme, že funkce f = f(x 1, x 2,..., x n

Více

Výukový materiál zpracován v rámci projektu EU peníze školám

Výukový materiál zpracován v rámci projektu EU peníze školám Výukový materiál zpracován v rámci projektu EU peníze školám Název školy: Střední zdravotnická škola a Obchodní akademie, Rumburk, příspěvková organizace Registrační číslo projektu: CZ.1.07/1.5.00/34.0649

Více

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 Střední odborná škola elektrotechnická, Centrum odborné přípravy Zvolenovská 537, Hluboká nad Vltavou Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 CZ.1.07/1.5.00/34.0448 1 Číslo projektu

Více

Kvadratické rovnice pro učební obory

Kvadratické rovnice pro učební obory Variace 1 Kvadratické rovnice pro učební obory Autor: Mgr. Jaromír JUŘEK Kopírování a jkaékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Kvadratické

Více