Úvod do Programování

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

Download "Úvod do Programování"

Transkript

1 Úvod do Programování Lukáš Stříteský, Marek Pechal 20. prosince 2007 Abstrakt V článku se dozvíte, jak začít programovat v jazyce Pascal. Jediné předpokládané znalosti jsou, že dokážete z internetu stáhnout program a nainstalovat si jej na svůj počítač. Vše ostatní se zde dočtete. K úspěchu stačí chuť dozvědět se něco nového, kterou jistě máte. Naučíme se také používat malování zvané Gnuplot. Závěrem si objasníme i některé základní numerické metody. A také jak naše výsledky elegantně publikovat. 1 Hned na to 1.1 První program Určitě jste netrpěliví a rádi byste už začali psát svůj první program. Nic nám v tom nebrání. Jediné, co je k tomu potřeba stáhnout, například z FYKOSího webu 1 je program FreePascal, takzvaný kompilátor (překladač) Pascalu. Jeho domovská stránka je kde se o něm případně dozvíte spoustu dalšího. 2 Máte-li jej stažený, stačí si ho jednoduše nainstalovat (popřípadě předem ještě rozbalit) a spustit. Klepněte na první záložku nahoře File a potom klepněte na New, jak je znázorněno na obrázku. Otevřelo se nám nové okno, napíšeme zde náš první program, opište do něj prosím tento text. Program Ahoj; Begin WriteLn( Ahoj! ); ReadLn; End. Potom stiskněte Ctrl-F9 (popřípadě Run a opět Run ). FreePascal vás vyzve k uložení Vašeho programu. Stačí napsat ahoj a stisknout ENTER, popřípadě kliknout na Ok. Náš první program je na světě, navíc se okamžitě spustil. Otevřela se konzole, ve které je napsáno něco jako Running c:\fcp\2.1.4\bin\i386-win32\ahoj.exe Ahoj! 1 nebo odkudkoli jinde 2 Stáhněte si prosím verzi FreePascalu (ta je na webu FYKOSu). Současná verze tohoto programu (červen 2007) v sobě bohužel obsahuje nepříjemnou chybu způsobující nefunkčnost unity Graph, která by vás třeba mohla lákat. Nebo by se dala použít ještě i verze beta (tzv aka), tam už je opět vše v pořádku a stabilní verze by měla být hotova v srpnu

2 Obrázek 1: Nový soubor ve FreePascalu 2

3 Gratuluji! Naprogramovali jste svůj první program v Pascalu! Jednoduché, že? Teď si vysvětlíme, co se to přesně stalo, co náš program zatím umí a naučíme ho toho ještě trochu více. Pascalovské programy začínají klíčovým slovem Program, za kterým je uveden jeho název (hlavička programu) 3. Potom následuje deklarační část, kterou jsme prozatím vypustili, neboť ji zatím nepotřebujeme. Poslední část je příkazová označená slovy Begin a End. Důležitá vlastnost Pascalu je, že není takzvaně case-sensitive, čili nerozlišuje velká a malá písmena. Napsali jsme dva příkazy (každý příkaz v Pascalu je ukončen středníkem ; ). První příkaz je WriteLn( Ahoj! ); Tento příkaz vypíše na obrazovku Ahoj!. Druhý příkaz ReadLn; slouží k tomu, aby se do programu načetl vstup z klávesnice. Napište v příkazové řádce našeho programu cokoliv a stiskněte ENTER. Do programu se načetl váš vstup, čímž se příkaz ReadLn; vykonal. A protože je to příkaz pro tuto chvíli poslední, tak se program ukončil. Pojďme jej tedy naučit mnohem více, třeba počítat. Bude to opět velmi jednoduché. 1.2 Ciferný součet Nyní si napíšeme program, který nám spočítá ciferný součet libovolného celého čísla. Například ciferný součet čísla 1987 je = 25. Opět si prosím přepište 4 zdrojový kód a zkuste si jej spustit. Vzápětí si jej vysvětlíme. Program CifernySoucet; Var X, Y: Integer; Begin WriteLn( CIFERNY SOUCET ); WriteLn( Napiste cislo a~stisknete Enter ); ReadLn(X); Y := 0; While X <> 0 do Begin Y := Y + X mod 10; X := X div 10 End; WriteLn(Y); ReadLn; end. Co je zde všechno nové? Řádek Var X, Y: Integer; nám takzvaně deklaruje dvě proměnné (angl. variables) X a Y. Co to znamená? Řekneme tím našemu programu, ať si zamluví určitou část paměti počítače pro nějaké dvě hodnoty, jež jsme si označili X a Y. Budou to dvě celá čísla, sdělili jsme to klíčovým slovem Integer. Příkaz ReadLn(X); načte vstup z klávesnice do naší již deklarované proměnné X. Čili vezme námi naťukané číslo a uloží ho do paměti počítače. Příkaz Y := 0; přiřadí proměnné Y hodnotu 0. Příkaz While X <> 0 do poručí našemu počítači: Prováděj níže uvedené výpočty (příkazy), dokud se X nebude rovnat nule! Je-li příkazů více, v našem případě dva, uzavřeme je opět mezi Begin a End;. 3 Je to nepovinný parametr. 4 Asi jste si již všimli, že ve FreePascalu nám nefunguje oblíbená sekvence CTRL-C, CTRL-V, neboť se jedná o DOSovský program, nikoliv Wokenní. Namísto těchto klávesových zkratek zkuste CTRL+INSERT, resp. SHIFT+INSERT. Druhou možností je si náš zdrojový soubor, který máme uložený, třeba ahoj.pas, otevřít pomocí Poznámkového bloku. Provedeme v něm požadované změny a uložíme. Novou upravenou verzi načteme do FreePascalu stiskem CTRL-ALT-F a R nebo File a Reload. 3

4 Tyto složené přiřazovací příkazy obsahují pro nás dva nové výrazy s operátory mod a div. Ty umí vydělit dvě čísla, avšak celočíselně se zbytkem, jak děti v první třídě 5. Prvním výrazem je X mod 10. Tento výraz nabude hodnoty (říká se spíše, že vrátí hodnotu) zbytku po celočíselném dělení čísla X desíti. Například pro X = 1987 je X mod 10 = 7 nebo 11 mod 3 = 2 apod. Naopak výraz X div 10 vrátí samotnou hodnotu celočíselného dělení desíti. Pro X = 1987 je X div 10 = 198 nebo 11 div 3 = 3 a pod. Ukažme si nyní na konkrétním příkladu, co náš program dělá. Dejme tomu, že uživatel naťuká 1987 a stiskne ENTER. Toto číslo se uloží do proměnné X. Proměnná Y má hodnotu 0. Poté vstoupíme do takzvaného podmíněného (While) cyklu. Cyklicky, tedy pořád dokola, budeme vykonávat příkazy Y := Y + X mod 10; a X := X div 10; dokud nenabude proměnná X hodnoty 0. A co že to ty příkazy provádí? Nejprve přiřadí do proměnné Y samotnou hodnotu Y (nyní nula) plus 1987 mod 10, čili sedm. Proměnná Y tedy nabyla hodnoty sedm. Do proměnné X se na dalším řádku přiřadí hodnota 1987 div 10, čili 198. Protože se X stále ještě nerovná 0, provedeme tyto příkazy znovu. Řádek Y := Y + X mod 10; nyní znamená Y = mod 10 = 15, čili proměnná Y má už hodnotu patnáct. Proměnná X vzápětí nabude hodnoty 198 div 10 = 19. Protože to však stále ještě není 0, tak musíme počítat zase znova. Y = mod 10 = 24 a X = 19 div 10 = 1. Jednička už je hodně málo, avšak stále ještě ne 0, proto proběhne cyklus ještě naposledy a jeho výsledkem je, že Y = mod 10 = 25 a X = 1 mod 10 = 0. Náš vydřený výsledek se vypíše příkazem WriteLn(Y); Příkaz ReadLn; nám nyní slouží vlastně pouze k tomu, aby se program neukončil okamžitě po vypsání výsledku, ale nechal nás si jej alespoň přečíst nebo vyfotografovat. 1.3 Rozklad na prvočísla Nyní si napíšeme program, který nám rozloží číslo na jeho prvočísla. Například 180 = Tento program vypadá následovně. Program Prvociselny_Rozklad; Var N: Integer; // zkoumane cislo D: Integer; // delitele Begin Write( Zkoumane kladne cele cislo vetsi nez 1: ); Readln(N); Write( Prvociselny rozklad: ); While N mod 2 = 0 do Begin N:=N div 2; Write(2, ) End; D:=3; // prvni lichy delitel While N > 1 do Begin While N mod D = 0 do Begin N:=N div D; 5 Přece jenom je náš program stále ještě takové dítě. 4

5 Write(D, ) End; D:=D+2 End; ReadLn; End. // dalsi mozny delitel 1.4 Hřeb naše nová kalkulačka Následujícím programem je kalkulačka. Program Kalkulacka; Var vyraz: String; //najde polohu operatoru s~nejvetsi prioritou //a odstrani prebytecne vnejsi zavorky Function Poloperatoru(var vyraz: String): Integer; Var plus, krat: Integer; //poloha posledniho operatoru zavorky: Integer; //bilance zavorek i: Integer; begin plus:=0; krat:=0; zavorky:=0; for i:=1 to length(vyraz) do case vyraz[i] of ( : zavorky := zavorky + 1; ) : zavorky := zavorky - 1; +, - : if zavorky = 0 then plus := i; *, / : if zavorky = 0 then krat := i; end; if plus > 0 then Operator := plus else if krat > 0 then Operator := krat else if vyraz [1] <> ( then Operator := 0 else //odstranime vnejsi zavorky begin vyraz := Copy(vyraz, 2, length(vyraz) - 2); Operator := Operator(vyraz) end end; //function Operator 5

6 //spocita rekurzivne hodnotu zadaneho vyrazu Function Hodnota(var vyraz: string): integer; Var poloha: Integer; //poloha operatoru vyraz1, vyraz2: String; //levy a~pravy usek od operatoru vysledek: Integer; //vysledna hodnota begin poloha := Poloperatoru(vyraz); if poloha = 0 then Val(vyraz, vysledek); else begin vyraz1 := Copy(vyraz, 1, poloha-1); vyraz2 := Copy(vyraz, ploha + 1, Length(vyraz)-poloha); case vyraz[poloha] of + : vysledek := Hodnota(vyraz1) + Hodnota(vyraz2); - : vysledek := Hodnota(vyraz1) - Hodnota(vyraz2); * : vysledek := Hodnota(vyraz1) * Hodnota(vyraz2); / : vysledek := Hodnota(vyraz1) div Hodnota(vyraz2); end end; Hodnota := vysledek; end; Begin WriteLn( Vitejte v~kalkulatoru! ); WriteLn( Prikazem {,,}+{ } muzete scitat ); WriteLn( Prikazem {,,}*{ } muzete nasobit ); WriteLn( Prikazem {,,}-{ } muzete odcitat ); WriteLn( Prikazem {,,}/{ } muzete delit ); WriteLn( Uzivejte zavorek {,,}({ }, {,,}){ } dle libosti ); WriteLn( Jen at Vas vyraz neprekroci delku 256 znaku. ); ReadLn(vyraz); WriteLn( Hodnota vyrazu je: ); WriteLn(Hodnota(vyraz)); ReadLn; end. 2 Teorie Nyní, poté co jsme si programování osahali na praktických příkladech, by vám mohla přijít vhod také nějaká ta teorie. Studujme na chvíli tedy jazyk Pascal. 6

7 2.1 Programovací jazyky Nejstaršími programovacími jazyky jsou jazyky strojové a jejich symbolické verze (asemblery). Této skupině jazyků se říká souhrnně strojově orientované jazyky. Tyto programy se skládají z posloupnosti elementárních příkazů, které nazýváme instrukce a které může přímo provádět procesor. I dlouhé programy napsané takovýmto jazykem jsou tedy dobře zvládnutelné počítačem, ovšem o to obtížnější je práce programátora. Hlavním důvodem, proč se v nich tak špatně vytváří programy je, že nejsou strukturované. Tento nedostatek odstranily vyšší programovací jazyky, mezi které patří i Pascal. Povíme si nyní něco o jejich základních rysech Typy dat Ve vyšších programovacích jazycích jsou vymezené typy dat, které určují jejich obor hodnot a možné operace nad nimi. Přirozeně to bude například typ celých čísel (v Pascalu Integer), reálných čísel (v Pascalu Real) nebo posloupnost alfanumerických znaků (v Pascalu String) Konstanty Konstanta je datový objekt, jehož hodnota se během celého výpočtu nemění. Podle toho, jak konstantu v programu identifikujeme, rozlišujeme dva druhy konstant. První jsou přímé konstanty neboli literály. Je jí přímý zápis hodnoty do programu, například 2, nebo 3,14593 nebo posloupnost neboli řetězec alfanumerických znaků. Pojmenované konstanty se identifikují svými svými jmény, takzvanými identifikátory a v programu se zavádějí deklarací Proměnné Proměnná je datový objekt, jehož hodnota se může v průběhu výpočtu měnit. Proměnné se nejčastěji identifikují pomocí jmen, takzvaných identifikátorů proměnných. Ty se opět zavádí deklaracemi, čímž se určí též jejich datový typ Deklarace Deklarace zavádí a pojmenovává určité součásti programu jako proměnné, konstanty, funkce, procedury a podobně. Deklarace se můžou lišit podle rozsahu jejich platnosti. Takto rozlišujeme deklarace globální, jenž platí v celém programu a deklarace lokální, které se uplatní pouze v jedné jeho části například pouze v jedné funkci. Deklarace lze rovněž dělit na statické a dynamické. Rozdíl je v tom, že dynamická deklarace může být ovlivněna za běhu programu například tím, jaký programu pošleme vstup. Naopak statická deklarace nezávisí na hodnotách proměnných a uskuteční se za všech okolností stejně. Spousta vyšší programovacích jazyků nepřipouští dynamické deklarace a Pascal mezi ně patří Výrazy Výraz je operační struktura, pomocí které se popisuje výpočet hodnoty. V programovacích jazycích mají většinou podobný tvar jako matematické výrazy například X := ( ) * 6. Skládají se z operátorů, operandů i závorek. Operandem může být konstanta, proměnná nebo hodnota funkce. Operátory se obvykle dělí na unární a binární podle počtu operandů a mohou působit pouze na přípustné typy operandů. Dále jsou pro ně určeny typy výsledných hodnot a také priority, podle kterých se určuje pořadí při provádění operací ve výrazu, v němž se vyskytuje více než jeden operátor. 7

8 Mezi operátory patří i relační operátory, kterými se tvoří relace. Relace je výraz, který nabývá jedné z logických hodnot 6 podle toho, zda hodnoty operandů v něm uvedených jsou či nejsou ve vztahu, který udává relační operátor. Ve většině vyšších programovacích jazyků musí být výraz vždy součástí nějaké vyšší jazykové konstrukce, zpravidla příkazu, z níž je zřejmé, co má být s hodnotou výrazu provedeno, například přiřazena proměnné Příkazy Pomocí příkazů se popisují jednotlivé výpočetní akce. Existují příkazy například přiřazovací (které přiřazují hodnotu proměnné), přikazy skoku, volání funkcí a procedur. Řídícími strukturami, kterými se vyjadřuje postupné, podmíněné či opakované provádění dílčích příkazů, jsou strukturované příkazy. V jazycích, které navazují na koncepci příkazů jazyka Algol 60, to je složený příkaz, podmíněné příkazy a příkazy cyklu. Většinou se skládají z dílčích příkazů a obsahují také výrazy udávající podmínky pro větvení či opakování. Ilustrativním příkladem je přiřazení proměnné Y absolutní hodnotu proměnné X. if X >= 0 then Y := X else X := - Y Syntaktický diagram Syntaxe je souhrn pravidel udávajících přípustné tvary dílčích konstrukcí a celého programu. Každý syntaktický diagram definuje všechny přípustné tvary konstrukce, jejíž název je uveden v nadpisu diagramu. Každý přípustný tvar této konstrukce získáme tak, že projdeme nějakou cestou vedoucí od začátku syntaktického diagramu do jeho konce. identifikator pismeno pismeno cislice Podprogramy Při hledání algoritmického řešení složitějšího problému si jej rozdělíme na několik podproblémů, kterým se pak věnujeme každému zvlášť a nakonec je všechny propojíme. Vyšší programovací jazyky umožňují aplikovat takovýto přístup při psaní programu jeho rozkladem na podprogramy. Podprogram je tedy popisem dílčího algoritmu, v němž konkrétní data mohou být zastoupena formálními parametry. Podprogramy se dělí na procedury a funkce. Procedura je popisem algoritmu, který nějakým způsobem transformuje data, funkce popisuje algoritmus výpočtu jedné hodnoty, která může být též použita jako operand ve výrazu. 6 pravda či nepravda 8

9 2.2 Jazyk Pascal V této kapitolce si povíme něco konkrétně k jazyku Pascal Jazyk Pascal Co s výstupem? Jakožto fyzikům nám občas nebude stačit výstup z našeho programu na obrazovku, protože budeme potřebovat získaná data dále zpracovávat (např. z nich vytvářet grafy v další kapitolce si ukážeme jak). Naštěstí nám operační systém (budeme teď chvíli mluvit konkrétně o Windows) umožňuje to, co program vypisuje, velmi jednoduše zapsat do textového souboru. Jak? 7 Spustíme si příkazový řádek v nabídce Start systému Windows zvolíme spustit, do textového pole zadáme cmd a stiskneme ENTER, případně klikneme na OK. Otevře se nám okno s černým pozadím windowsovský příkazový řádek. Na posledním řádku je vypsán název aktuálního adresáře. Ten musíme nejdříve změnit na adresář s naším programem (předpokládejme, že je to třeba C:\mujadresar\programky). V adresářové struktuře se můžeme pohybovat pomocí příkazu cd. Zápisem cd.. se přesuneme o adresář výš (je-li to možné), příkazem cd adresar vstoupíme z aktuálního adresáře do jeho podadresáře s názvem adresar. Je-li počáteční aktuální adresář C:\Documents and Settings\Moje, budeme postupovat takto: C:\Documents and Settings\Moje>cd.. C:\Documents and Settings>cd.. C:\>cd mujadresar C:\mujadresar>cd programky C:\mujadresar\programky> Teď bychom chtěli přesměrovat výstup programu fykos.exe do textového souboru vystup.txt. Do příkazového řádku jednoduše zadáme fykos > vystup.txt. To, co by program normálně vypisoval na obrazovku, se nyní tiše zapíše do textového souboru. Tohle celé lze samozřejmě zařídit i programově tedy přímo v pascalovském programu automaticky zapisovat do souboru (nemusíme se pak obtěžovat s příkazovým řádkem) a není to až tak složité. Posuďte sami. Než začneme zapisovat, musíme si deklarovat proměnnou, která bude náš výstupní soubor reprezentovat. Tato proměnná bývá typu text či textfile (podle toho, jakou verzi Pascalu používáte). Této proměnné pak musíme přiřadit název souboru a ten pak otevřít.... var f:text; begin assign(f, nazevmehosouboru.txt ); rewrite(f);... Příkaz rewrite přepíše veškerý dosavadní obsah našeho souboru (vyprázdní jej), a pokud soubor neexistuje, tak jej vytvoří. Pokud byste chtěli starý obsah souboru zachovat a pouze k němu připisovat další data, museli byste pro otevření použít příkaz append. V tomto okamžiku můžete do souboru zapisovat stejně jako na obrazovku tedy příkazy write a writeln, pouze musíte jako jejich první parametr udat identifikátor souboru. Například: 7 Pokročilejším čtenářům se omlouváme, za trochu velmi základního opakování. 9

10 Obrázek 2: Okno právě spuštěného Gnuplotu verze 4.0 writeln(f, Vypisu tam text a~cislo,x, a~zase text. ); Když už se souborem nehodláte dále pracovat, je dobré jej za sebou zavřít příkazem close(f). 3 Gnuplot Program Gnuplot je velmi užitečný nástroj, určený jak už jeho název napovídá ke kreslení všemožných typů grafů. Předpona GNU nám také říká, že program je vyvíjen pod stejnojmennou opensourceovou licencí a je tedy zdarma ke stažení (i s obsáhlou dokumentací) na internetových stránkách Po jednoduché instalaci a spuštění zjistíte, že se Gnuplot chová podobně jako například DOSovský příkazový řádek bliká na vás kurzor a čeká na váš příkaz, který je po stisknutí klávesy ENTER ihned vykonán. Nepíšete tedy celý program, který by se pak najednou provedl, jak je tomu v Pascalu (i když i to se dá v Gnuplotu dělat, jak uvidíme později). Dalšími důležitými rozdíly Gnuplotu oproti Pascalu, jejichž opomíjení se může škaredě vymstít 8, jsou jeho case sensitivnost (tzn. je důležité, jestli napíšete plot, nebo Plot, zatímco v Pascalu je to prašť jako uhoď) a jeho chování při dělení, které je pro uživatele neobeznámeného s jazykem C téměř zákeřné. Napíšete-li totiž příkaz plot [0:1] 1/3+x a budete očekávat, že vám Gnuplot poslušně naservíruje graf funkce 1/3 + x v intervalu [0, 1], překvapí vás vykreslením grafu funkce x a vy budete jistě dumat, jaký čert v tom vězí. Svízel je v tom, že Gnuplot používá znak / pro normální i pro celočíselné dělení a to, o které z nich se v tom kterém případě jedná, pozná z charakteru operandů. Jsou-li oba celočíselné, myslí si Gnuplot, že jde o dělení celočíselné, a tak konstantu 1/3 nevyhodnotí jako 0, , jak bychom zajisté chtěli, nýbrž jako prachsprostou nulu. To, že po něm žádáme jednu třetinu, oznámíme například zápisem 9 8 Vzpomeňte si, až budete zoufale lovit chybu, která jak se ukáže spočívala v jediném velkém písmenu na místě malého. 9 Stejně dobře by fungovalo i 1/3.0 nebo dokonce 1./3 či 1/3.. 10

11 Obrázek 3: Gnuplotí okna s výslednými grafy 1.0/3. Nyní už nejsou oba operandy celočíselné, a tak Gnuplot interpretuje zápis správně. 3.1 Základní příkazy Příkaz plot Jistě nejdůležitějším příkazem, který budete v Gnuplotu používat, je příkaz plot, který vykreslí graf zadané funkce nebo data z externího souboru. Jeho povinným parametrem je interval nezávislé proměnné (označené implicitně jako x), v němž se graf vykreslí, a samozřejmě samotná funkce. Interval se udává ve tvaru [a:b], kde a a b jsou jeho krajní body, a funkce ve formě číselného výrazu, podobného tomu z Pascalu (používané operátory a funkce blíže popíšeme později). Použití funkce plot může vypadat například takto: plot [0:1] x plot [-pi:pi] sin(x) plot [-1:1] sqrt(x**2+1) plot [2:3] sqrt(exp(x)/x**2+(1-x)*log(x)) Po zadání některého z těchto řádků do Gnuplotu a potvrzení ENTERem se otevře nové okno s výsledným grafem (viz obrázek 3) Konvence pro zápis výrazů v Gnuplotu je téměř stejná jako v Pascalu, pro elementární aritmetické operace se užívá operátorů +, -, *, /, jejich priorita je zcela obvyklá (tj. násobení a dělení má vyšší prioritu než sčítání a odčítání), stejně tak závorky fungují tak, jak jsme zvyklí. Oproti Pascalu existuje navíc binární operátor ** pro umocňování. Symboly matematických funkcí začínají malým písmenem, jejich argumenty se uzavírají do kulatých závorek. Několik nejzákladnějších uvádíme v tabulce 1. Pokud chceme, můžeme do jednoho grafu vykreslit i více funkcí. Stačí je od sebe oddělit čárkami, např. plot [0:1] x,x**2,x**3. Příkaz plot také umí vykreslovat do grafu data ze souboru, což jistě velmi oceníte, až se (možná) budete na matfyzu ve druhém semestru protloukat fyzikálním praktikem. Ukážeme si to na příkladu. Mějme textový soubor teplota.txt, obsahující ve dvou sloupcích 10 data z měření průběhu venkovní 10 oddělených mezerou či tabulátorem 11

12 Tabulka 1: Základní matematické funkce v Gnuplotu druhá odmocnina exponenciála přirozený logaritmus sinus (resp. hyperbolický) kosinus (resp. hyperbolický) tangens (resp. hyperbolický) arkussinus (resp. hyperbolický) arkuskosinus (resp. hyperbolický) arkustangens (resp. hyperbolický) sqrt exp log sin (resp. sinh) cos (resp. cosh) tan (resp. tanh) asin (resp. asinh) acos (resp. acosh) atan (resp. atanh) Obrázek 4: Plot dat z externího souboru teploty během dne (v prvním sloupci čas uplynulý od půlnoci v hodinách, ve druhém teplota ve stupních Celsia). Chceme-li z našeho měření vykreslit graf, jednoduše Gnuplotu zadáme příkaz plot teplota.txt. Než to ale uděláme, musíme správně nastavit pracovní adresář Gnuplotu na ten, ve kterém se soubor teplota.txt nachází. To uděláme pomocí příkazu cd (napíšeme např cd c:\mujadresar, je-li náš soubor umístěn na disku c: v adresáři mujadresar). Pak už nám nic nebrání přistoupit k samotnému vykreslování. Výsledek ukazuje obrázek 4. Dejme tomu, že v souboru teplota.txt máme kromě sloupce s časem a teplotou ještě třetí sloupec s naměřenými hodnotami atmosférického tlaku, jehož závislost na denní době bychom také chtěli vykreslit. Musíme tedy Gnuplotu nějak sdělit, že nechceme do grafu vykreslovat data z prvního a druhého sloupce, nýbrž z prvního a třetího. To uděláme připojením textu using 1:3. Náš příkaz tedy bude plot teplota.txt using 1:3. Klíčové slovo using můžeme také využít v situaci, kdy nechceme na svislou osu grafu vynášet přímo data ze souboru, ale nějakou hodnotu na nich závislou, například jejich druhou mocninu. Pak napíšeme using 1:($2**2). Symbol $2 zde zastupuje data z druhého sloupce (a pozor závorky zde nelze vynechat!). Stejný trik samozřejmě funguje i pro vodorovnou osu. Po zadání plot data.txt using (log($1)) :($1*$4) bychom získali graf, v němž na vodorovné ose je vynášen přirozený logaritmus čísel z prvního sloupce souboru data.txt, na svislé pak součin čísel 12

13 Obrázek 5: Plot dat z externího souboru s chybovými úsečkami z prvního a čtvrtého sloupce. Vraťme se nyní zpět k příkladu s výsledky měření teploty a tlaku. Jestliže bychom chtěli v grafu závislosti tlaku na čase vykreslené body pospojovat čárou (o to se ale v praktiku nikdy nepokoušejte, jinak skončíte ve fyzikálním pekle), jednoduše Gnuplotu řekneme plot teplota.txt using 1:3 with lines. Jsme-li jako experimentátoři alespoň trochu co k čemu, víme, že spolu s naměřenými hodnotami bychom měli uvést i jejich chyby. Mějme tedy ve čtvrtém sloupci našeho souboru zapsány chyby jednotlivých měření teploty. Ty dostaneme do grafu ve formě hezkých chybových úseček (errorbarů) příkazem plot data.txt using 1:2:4 with errorbars, kde tentokrát musíme specifikovat tři sloupce dat první s nezávisle proměnnou, druhý se závisle proměnnou a třetí s její chybou. Výsledek bude vypadat jako na obrázku 5. Nakonec je ještě třeba zmínit se o souvisejícím příkazu replot, který zadán bez parametrů zopakuje poslední provedený plot. Dokáže však do něj také přidat další graf, zadáme-li mu jako parametr požadovanou funkci či název souboru s daty (případně doplněné o další specifikace jako např. using 1:3 či with lines). Všimněme si však, že tentokrát již nezadáváme interval nezávislé proměnné, protože ten je dán z posledního provedení příkazu plot Pomocné příkazy Samozřejmě se nemusíme spokojit se vzhledem grafu, který nám Gnuplot poskytne na první pokus. Nabízí se nám totiž řada možností, jak jej dále upravovat můžeme přidat popisky os, legendu jednotlivých vykreslených závislostí, atd. To lze provádět nastavením nejrůznějších parametrů před samotným vykreslením grafu. Potřebný příkaz má většinou tvar set nazevparametru jehohodnota, chceme-li nastavit parametr nazevparametru na hodnotu jehohodnota, nebo unset nazevparametru, přejeme-li si jej vynulovat. Je-li tedy například naším cílem přidat popisek vodorovné osy t [ms], napíšeme příkaz set xlabel t [ms]. Obdobně pro svislou osu užijeme parametr ylabel. Pokud se nám popisek nelíbí, můžeme jej opět odstranit příkazem unset xlabel. Gnuplot nám také umožňuje upravovat legendu vykreslovaných závislostí, je-li jich v jediném grafu více. Její text nastavíme při volání příkazu plot přidáním klíčového slova title následova- 13

14 Obrázek 6: Dvě závislosti v jediném grafu opatřené legendou ného požadovaným textovým řetězcem. Tak například příkaz plot [0:1] x title prvni, x**2 title druha vykreslí v intervalu [0, 1] grafy funkcí x a x 2 opatřené popisky prvni a druha, jak vidíme na obrázku 6. Zobrazený výsledek však má nepříjemnou vadu. Legenda se bohužel vykreslila na tak nevhodném místě, že zasahuje do grafů. Naštěstí nám ale Gnuplot umožňuje její polohu nastavovat. V levém horním rohu máme docela dost místa, napíšeme tedy set key left top a při příštím vykreslení (například příkazem replot) se nám legenda poslušně přesune tam, kam jsme chtěli. Způsobů, jak lze manipulovat s podobou výsledného grafu, existuje nepřeberné množství a není v našich silách je zde všechny rozebrat. Věříme, že váš hlad po dalších informacích ukojí oficiální dokumentace. A nyní se již pusťme do dalšího důležitého tématu, kterým je výstup do souboru Možnosti výstupu To, co dělá z Gnuplotu pro nás tak zajímavý nástroj, je vedle jeho dostupnosti a bohatých vykreslovacích možností jistě i schopnost poskytovat výstup v široké škále různých formátů od rastrových obrázků přes vektorové (postscript, PDF) až po zdrojové texty pro MetaPost či L A TEX. Pro nás bude důležitý zejména výstup do formátu postscript, protože jej můžeme velmi snadno začlenit do TEXovských dokumentů. Zájemci o informace o ostatních formátech je mohou snadno získat z volně dostupné dokumentace ke Gnuplotu. Přejeme-li si tedy výstup v již zmíněném postscriptu, zajistíme to příkazem set term postscript. Jestliže na konec přidáme ještě slovo eps, bude použit takzvaný encapsulated (zapouzdřený) postscript. Když už máme nastaven formát výstupu, zbývá ještě určit název výstupního souboru. Zadáme tedy příkaz set output mujsoubor.eps. A nyní je už vše připraveno k tomu, abychom do souboru mujsoubor.eps kreslili. To můžeme provádět zcela přirozeně příkazem plot. Drobnou nevýhodou tohoto postupu však je skutečnost, že výsledný graf nevidíme (nekreslí se na obrazovku, ale do souboru). Zde nám může pomoci příkaz replot. Ještě před nastavením výstupu si graf vykreslíme na obrazovku a upravíme si jej postupně k obrazu svému. Když už jsme spokojeni, nastavíme výše popsaným způsobem výstup a necháme vše vykreslit znovu příkazem replot. Jakmile máme v souboru to, co chceme, měli bychom jej opět odpojit. Jinak totiž zůstane otevřený 14

15 a pokusíme-li se jej někam přesunout, přejmenovat či vymazat, nepodaří se nám to. Napišme tedy příkaz unset output a vše bude v pořádku. Náš první postscriptový obrázek z Gnuplotu je hotov! Příkaz fit Další velmi užitečnou schopností Gnuplotu je možnost fitování (prokládání) souboru dat funkční závislostí. Jednoduše řečeno jde o nalezení takové funkce z určité dané třídy funkcí (např. všech lineárních funkcí, polynomů čtvrtého řádu, exponenciálních funkcí, apod.), která v jistém smyslu co nejlépe vystihuje naměřená data. Zajímají-li vás bližší detaily, pak vězte, že Gnuplot používá nelineární metodu nejmenších čtverců a optimální parametry požadované funkční závislosti hledá metodou postupných iterací (tedy opakovaného provádění jistých operací za účelem postupného zpřesňování dosaženého výsledku). Výhodou je možnost fitování dat prakticky libovolnou třídou funkcí, nevýhodou pak to, že v určitých případech Gnuplot optimální parametry nemusí vůbec najít, případně s nimi dokonce může utéct do oblasti zcela nesmyslných hodnot 11. Příkaz fit se používá následujícím způsobem. Jako první parametr zadáme typ fitované funkční závislosti například a*x pro přímou úměrnost, a*x+b pro lineární funkci, a*x**2+b*x+c pro kvadratickou, a*exp(b*x) pro exponenciálu, atd. Symboly a, b, c, apod. (lze však použít téměř libovolný identifikátor kromě x) zde představují parametry funkce, které bude Gnuplot určovat. Jako druhý parametr zadáme název souboru s daty. Dále pak můžeme pomocí klíčového slova using stejně jako v případě příkazu plot specifikovat, které dva sloupce nás zajímají. Potom Gnuplot při fitování bere všechna data se stejnou váhou. Můžeme však také udat místou dvou sloupců tři, kde třetí obsahuje chyby závislé proměnné. Pak se přesnější hodnoty berou s větší váhou než ty, jejichž chyba je větší 12. Na závěr musíme Gnuplotu sdělit, které parametry má hledat, což uděláme uvedením slova via následovaného jejich seznamem. Po potvrzení příkazu ENTERem Gnuplot provede hromadu výpočtů a o svém snažení (a ve velké většině případů o jeho úspěchu) nám podá obsáhlou zprávu, kterou zároveň uloží do logovacího souboru (implicitně se jmenuje fit.log). Zde najdeme finální hodnoty hledaných parametrů včetně jejich chyb a korelační matice (tj. do jaké míry jsou spolu tyto hodnoty svázány). Hodnoty parametrů také zůstanou v paměti Gnuplotu uloženy až do jeho ukončení pod námi zvolenými identifikátory. Můžeme je tedy dále využít a například do grafu vykreslit spolu s daty ze souboru i jimi proloženou závislost. Demonstrujme si vše na příkladu. Zkusíme data z měření teploty během dne proložit polynomem čtvrtého řádu. Samotný fit provedeme příkazem fit a*x**4+b*x**3+c*x**2+d*x+e teplota.txt using 1:2:4 via a,b,c,d,e Následně vykreslíme do grafu naměřené teploty a pak do něj přidáme proloženou závislost. plot teplota.txt using 1:2:4 with errorbars replot a*x**4+b*x**3+c*x**2+d*x+e Grafy nám poněkud nešťastně zasahují do legendy a tak si ji příkazem set key left top přesuneme do levého horního rohu a vše vykreslíme znovu zadáním replot. Teď když už jsme s výsledkem spokojeni, si jej necháme vykreslit do postscriptového souboru: 11 I tuto situaci je ale někdy možno řešit můžeme Gnuplot trochu postrčit žádoucím směrem tak, že mu napovíme, jaké by zhruba hledané parametry měly být. K tomu je ovšem musíme umět nějakým způsobem odhadnout. 12 Přesněji váha každé hodnoty je rovna převrácené hodnotě kvadrátu její chyby. 15

16 30 28 teplota.txt using 1:2:3 a*x**4+b*x**3+c*x**2+d*x+e Obrázek 7: Naměřená data spolu s proloženou závislostí set term postscript eps set output teplota.eps replot Při bližším pohledu na získaný graf v obrázku 7 si všimneme, že námi navržená polynomiální závislost zvláště v podvečerních hodinách neaproximuje naměřená data příliš dobře. Stálo by tedy za to vyzkoušet i jiné typy závislostí. 3.2 Programy v Gnuplotu Pokud vás trápí, že ať už chcete v Gnuplotu udělat cokoliv, musíte mu to po každém spuštění vždy ručně zadat znovu, máme pro vás dobrou zprávu. Také v tomto případě si můžete napsat jednoduchý program, který pak necháte Gnuplotem zpracovat, kdy budete chtít. Docela dobře vám k tomu poslouží i obyčejný poznámkový blok. Jednoduše napíšete požadovanou posloupnost příkazů, textový soubor uložíte (nechť se nachází například v adresáři C:\mujadresar pod názvem program.txt). Pokud nyní z příkazového řádku zavoláte Gnuplot s parametrem obsahujícím cestu k danému programu, bude v něm obsažená posloupnost příkazů postupně vykonána, načež se Gnuplot automaticky ukončí. Jak se to celé provede? Předpokládejme, že máme Gnuplot nainstalován v adresáři C:\gnuplot. Spustíme si příkazový řádek a dostaneme se do adresáře C:\gnuplot\bin. Skončili jsme v podadresáři bin gnuplotího kořenového adresáře, protože právě zde se nachází vlastní program Gnuplotu s názvem wgnuplot.exe. Kdybychom nyní do příkazového řádku zadali wgnuplot, spustil by se Gnuplot ve windowsovském okně tak, jak jej známe. Protože však chceme pouze zpracovat náš programu, napíšeme do příkazového řádku wgnuplot C:\mujadresar\program.txt 16

17 a potvrdíme ENTERem. Možná se vám bude zdát, že se vůbec nic nestalo. Pokud ale zkontrolujete adresář C:\mujadresar, najdete tam výsledný obrázek, který vám Gnuplot nakreslil 13. Tolik k úvodní teorii, jistě jste už ale nedočkaví si to vše vyzkoušet v praxi. Zde je náš první příklad. Mějme v souboru teplota.txt zaznamenány výsledky měření teploty ve dvou dnech. V prvním sloupci čas v hodinách, v druhém a třetím teploty z obou dnů, ve čtvrtém a pátém jejich chyby (to vše ve stupních Celsia). Následující sekvence příkazů slouží k automatickému zpracování tohoto měření do formy grafu. Výsledkem bude graf závislosti teploty v kelvinech na čase v minutách, včetně příslušných popisků a legendy, ve formátu encapsulated postscript (EPS). set key left top set xlabel t [min] set ylabel T [K] plot teplota.txt using ($1*60):($ ):4 with errorbars title den 1. replot teplota.txt using ($1*60):($ ):5 with errorbars title den 2. set term postscript eps set output teplota.eps replot Smysl jednotlivých řádků 14 je poměrně jednoduchý. První nastaví pozici legendy grafů do levého horního rohu. Druhý a třetí určují popisky os. Ve čtvrtém se vykreslí graf závislosti teplot z druhého sloupce (první den), v pátém je přidán obdobný graf pro teploty z třetího sloupce (druhý den). Příkazem na šestém řádku je určen formát výstupu enhanced postscript. Sedmý udává název výstupního souboru. Poslední řádek pak zajistí překreslení výsledných grafů, tentokrát již do postscriptového souboru (nezapomenout! bez posledních tří řádků bychom neměli žádný výstup). Přímo výstavní výsledek, který získáme zpracováním výše uvedeného programu, můžete obdivovat na obrázku 8. A na závěr ještě jeden příklad, tentokrát ze života konkrétně z měření viskozity škrobové suspenze rotačním viskozimetrem ve fyzikálním praktiku. Vzhledem k tomu, že jde o takzvanou nenewtonovskou kapalinu, závisí její viskozita na rychlosti otáčení hřídele měřícího přístroje. Tato závislost je přibližně mocninná a exponent této mocniny lze určit měřením. Soubor skrob_visc_l3.txt obsahuje následující naměřená data První sloupec udává rychlost otáčení měřící hřídele v otáčkách za minutu, druhý pak naměřenou viskozitu v mpa s a třetí chybu měření opět ve stejných jednotkách. Skript pro Gnuplot, který tato data úhledně zpracuje a poskytne nám graf i parametry nafitované mocninné závislosti, může vypadat třeba takto: 13 Pokud jste samozřejmě nezapomněli v programu zajistit výstup do souboru implicitní výstup na obrazovku by vám nebyl příliš platný vzhledem k tomu, že se Gnuplot po vykonání příkazů opět ihned vypne. 14 Pozor čtvrtý a pátý řádek se nám nevešly na stránku, takže jsou oba rozlomeny do dvou řádků. V programu však musejí být celistvé. 17

18 305 den 1. den T [K] t [min] Obrázek 8: Výsledek demonstračního gnuplotího programu set key box set key right top set key title Legenda set xlabel otacky [rpm] set ylabel viskozita [mpa.s] fit a*x**b skrob_visc_l3.txt using 1:2:3 via a,b plot [10:110] skrob_visc_l3.txt using 1:2:3 title namerena data with errorbars replot a*x**b title mocninna zavislost set term postscript mono eps set output graf.eps replot První řádek Gnuplotu říká, že kolem legendy chceme vykreslit rámeček, druhý ji pak umisťuje do pravého horního rohu a třetí nastavuje její nadpis na Legenda. Další dva řádky se starají o popisky os, šestý provádí fitování měřených dat funkcí ax b. Sedmý vykreslí naměřená data a osmý nafitovanou mocninnou závislost. Poslední tři řádky už jen zajistí výstup do souboru graf.eps v černobílém zapouzdřeném postscriptu. Výsledek vidíme na obrázku 9. Charakter mocninné závislosti proložené získanými daty můžeme následně vyčíst z logovacího souboru. Jeho nejdůležitější část, která nás především zajímá, vypadá asi takto: Final set of parameters Asymptotic Standard Error ======================= ========================== a = / (4.552%) b = / (2.175%) 18

19 3500 Legenda namerena data mocninna zavislost viskozita [mpa.s] otacky [rpm] Obrázek 9: Závislosti viskozity na rychlosti otáčení hřídele correlation matrix of the fit parameters: a b a b Jsou zde uvedeny hodnoty parametrů a a b nafitované funkce včetně jejich směrodatných i relativních odchylek a korelační matice. Co víc bychom si mohli přát? 3.3 Pár tipů závěrem Jednodušší zpracování programů v Gnuplotu Jste-li již maličko zběhlejší v práci s počítačem, poradíme vám trik, jak si výrazně zjednodušit zpracovávání gnuplotích programů. Zcela tak odpadne práce s příkazovým řádkem. Zvolte si nějakou souborovou příponu, kterou zatím žádný z programů na vašem počítači nepoužívá například.gpl,.gpt atd. Tuto příponu pak asociujte s Gnuplotem ve Windows XP se to dělá v Průzkumníku přes Nástroje Možnosti složky a záložku typy souborů. Pak již jen stačí, když gnuplotí programy místo standardní přípony textových souborů.txt ukládáte pod vámi zvolenou příponou a zpracováváte v Průzkumníku (nebo třeba Total Commanderu, chcete-li) jediným dvojklikem. Vaše touha po zjednodušování může jít ještě dál a vytváření souborů s programy pro Gnuplot můžete zcela přenechat vašemu programu v (například) Pascalu, který se tak postará nejen o numerickou simulaci daného fyzikálního problému a o výstup dat do souboru, ale i o zavolání Gnuplotu a předání vytvořeného instrukčního souboru. Jestliže si tedy trochu pohrajete, můžete jediným spuštěním vašeho pascalovského programu získat cenná numerická data i jejich pěkné grafické zpracování. 19

20 3.3.2 PSfrag Jestliže vytváříte grafy v Gnuplotu za účelem jejich umístění do L A TEXovského dokumentu a jste-li k tomu navíc esteticky citlivější povahy, může vám vadit fakt, že Gnuplot nedisponuje příliš pěknými fonty. A vy byste přitom tak moc chtěli, aby t v popisku vodorovné osy grafu bylo stejné jako t ve vzorci y = A sin(ωt). Gnuplot sice umožňuje výstup grafů v TEXovském formátu, ale žel bohu jsou vykreslovací možnosti samotného TEXu poměrně chabé (vyzkoušejte si to a zděsíte se zubatých grafů a podobných ošklivostí). Tudy tedy cesta nepovede. Naštěstí však existuje pomoc ve formě přídavného balíčku pro TEXjménem PSfrag. Použijeme-li jej v našem dokumentu, prohledají se veškeré texty ve vkládaných postscriptových obrázcích a je-li nalezen text ve formátu \tex{cokoliv}, vypíše se na jeho místě cokoliv, tentokrát ale TEXovským písmem (je možné i vkládání matematických formulí). Graf tedy můžeme s použitím PSfragu opatřit dobře vypadajícími popisky os například takto. set xlabel \tex{$\tau$ [s]} set ylabel \tex{$t$ [$^{\circ}$c]} 4 Numerické metody Z předchozích kapitol jste si snad přinejmenším teoreticky osvojili práci v programech Freepascal a Gnuplot. Aby se vám však otevřely dveře k jejich plnohodnotnému fyzikálnímu využití, budete potřebovat znát i pár chytrých numerických metod, které umožňují řešit matematické problémy (a tedy i problémy fyzikální, zapsané matematickým jazykem) numericky. Nejdůležitější z těchto metod si nyní stručně popíšeme. Úvodem však ještě několik slov o tom, kde může zvídavý čtenář utišit svůj hlad po dalších vědomostech, jež mu neposkytne tento studijní text. O numerických výpočetních metodách velmi obsáhle pojednává například anglickojazyčný text [1], poněkud stručněji pak již poněkud letitá česká kniha [2]. Pevně doufáme, že vám následující kapitoly poskytnou alespoň určitý základ a umožní vám začít psát první zajímavé programy. 4.1 Numerické řešení rovnic Nejdříve se podívejme na to, jak se dají numericky řešit obyčejné rovnice. Někdy se zkrátka dostaneme do situace, kdy bychom chtěli řešit rovnici, která analyticky řešitelná není (možná s výjimkou nějakých pokročilejších technik, jako je použití nekonečných řad). Potom nám může pomoci některá z numerických metod Metoda půlení intervalů Jednou z nejjednodušších, ale přesto poměrně účinných, je metoda půlení intervalů. Využívá toho, že rozumná funkce (konkrétně spojitá), která v bodě a nabývá záporné a v bodě b kladné hodnoty, musí někde mezi body a a b projít nulou. Jestliže tedy máme řešit rovnici f(x) = 0 (uvědomme si, že každou rovnici o jedné neznámé lze na tento tvar převést) a jsou dány dva body a, b takové, že f(a)f(b) < 0, nachází se mezi nimi zcela jistě alespoň jeden kořen naší rovnice. 20

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Paměť počítače. alg2 1

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

Více

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel 2007. Výpočet budeme demonstrovat

Více

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM CÍLE KAPITOLY Využívat pokročilé možnosti formátování, jako je podmíněné formátování, používat vlastní formát čísel a umět pracovat s listy. Používat

Více

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 21. září 2009 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Organizace předmětu Přednášky 1. 5. Základní

Více

Obr. P1.1 Zadání úlohy v MS Excel

Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel. Výpočet budeme demonstrovat

Více

StatSoft Jak vyzrát na datum

StatSoft Jak vyzrát na datum StatSoft Jak vyzrát na datum Tento článek se věnuje podrobně možnostem práce s proměnnými, které jsou ve formě datumu. A že jich není málo. Pokud potřebujete pracovat s datumem, pak se Vám bude tento článek

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 IV/2 Inovace a

Více

Jednoduché cykly 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.

Jednoduché cykly 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. Jednoduché cykly Tento oddíl obsahuje úlohy na první procvičení práce s cykly. Při řešení každé ze zde uvedených úloh stačí použít vedle podmíněných příkazů jen jediný cyklus. Nepotřebujeme používat ani

Více

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití Proč Excel? Práce s Excelem obnáší množství operací s tabulkami a jejich obsahem. Jejich jednotlivé buňky jsou uspořádány do sloupců

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28. Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 6 1 Obsah Kontingenční tabulky... 3 Zdroj dat... 3 Příprava dat... 3 Vytvoření kontingenční tabulky... 3 Možnosti v poli Hodnoty... 7 Aktualizace

Více

Stručný návod k programu Octave

Stručný návod k programu Octave Stručný návod k programu Octave Octave je interaktivní program vhodný pro technické výpočty. Je nápadně podobný programu MATLAB, na rozdíl od něho je zcela zadarmo. Jeho domovská vebová stránka je http://www.octave.org/,

Více

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

Úvod do programování

Úvod do programování Úvod do programování Základní literatura Töpfer, P.: Algoritmy a programovací techniky, Prometheus, Praha učebnice algoritmů, nikoli jazyka pokrývá velkou část probíraných algoritmů Satrapa, P.: Pascal

Více

MAXScript výukový kurz

MAXScript výukový kurz MAXScript výukový kurz Díl čtvrtý jazyk MAXScript, část I. Jan Melichar, březen 2008 Jan Melichar (aka JME) strana 1 OBSAH ÚVOD... 4 ZÁKLADNÍ PŘÍKAZY... 5 OPERÁTORY... 6 PROMĚNNÉ... 6 POLE... 7 ZÁVĚREM...

Více

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý Autor: Mgr. Dana Kaprálová VZORCE A VÝPOČTY Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového

Více

Základní vzorce a funkce v tabulkovém procesoru

Základní vzorce a funkce v tabulkovém procesoru Základní vzorce a funkce v tabulkovém procesoru Na tabulkovém programu je asi nejzajímavější práce se vzorci a funkcemi. Když jednou nastavíte, jak se mají dané údaje zpracovávat (některé buňky sečíst,

Více

Programování v jazyku LOGO - úvod

Programování v jazyku LOGO - úvod Programování v jazyku LOGO - úvod Programovací jazyk LOGO je určen pro výuku algoritmizace především pro děti školou povinné. Programovací jazyk pracuje v grafickém prostředí, přičemž jednou z jeho podstatných

Více

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Výroková logika II Negace Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Na konkrétních příkladech si ukážeme, jak se dají výroky negovat. Obecně se výrok dá negovat tak, že před

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Mgr. Ladislav Zemánek Maturitní okruhy Matematika 2013-2014. 1. Obor reálných čísel

Mgr. Ladislav Zemánek Maturitní okruhy Matematika 2013-2014. 1. Obor reálných čísel Mgr. Ladislav Zemánek Maturitní okruhy Matematika 2013-2014 1. Obor reálných čísel - obor přirozených, celých, racionálních a reálných čísel - vlastnosti operací (sčítání, odčítání, násobení, dělení) -

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

Programy na PODMÍNĚNÝ příkaz IF a CASE

Programy na PODMÍNĚNÝ příkaz IF a CASE Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak

Více

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE

Více

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení

Více

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů

Více

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1. Prvocisla: Kratky ukazkovy priklad na demonstraci baliku WEB. Nasledujici program slouzi pouze jako ukazka nekterych moznosti a sluzeb,

Více

8 Střední hodnota a rozptyl

8 Střední hodnota a rozptyl Břetislav Fajmon, UMAT FEKT, VUT Brno Této přednášce odpovídá kapitola 10 ze skript [1]. Také je k dispozici sbírka úloh [2], kde si můžete procvičit příklady z kapitol 2, 3 a 4. K samostatnému procvičení

Více

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28.

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28. Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

Řešení úloh z TSP MU SADY S 1

Řešení úloh z TSP MU SADY S 1 Řešení úloh z TSP MU SADY S 1 projekt RESENI-TSP.CZ úlohy jsou vybírány z dříve použitých TSP MU autoři řešení jsou zkušení lektoři vzdělávací agentury Kurzy-Fido.cz Masarykova univerzita nabízí uchazečům

Více

Kód. Proměnné. #include using namespace std; int main(void) { cout << "Hello world!" << endl; cin.get(); return 0; }

Kód. Proměnné. #include <iostream> using namespace std; int main(void) { cout << Hello world! << endl; cin.get(); return 0; } Jazyk C++ Jazyk C++ je nástupcem jazyka C. C++ obsahuje skoro celý jazyk C, ale navíc přidává vysokoúrovňové vlastnosti vyšších jazyků. Z toho plyne, že (skoro) každý platný program v C je také platným

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 19. září 2011 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Doporučená literatura web: http://marian.fsik.cvut.cz/zapg

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

STATISTICA Téma 1. Práce s datovým souborem

STATISTICA Téma 1. Práce s datovým souborem STATISTICA Téma 1. Práce s datovým souborem 1) Otevření datového souboru Program Statistika.cz otevíráme z ikony Start, nabídka Programy, podnabídka Statistika Cz 6. Ze dvou nabídnutých možností vybereme

Více

Numerické řešení rovnice f(x) = 0

Numerické řešení rovnice f(x) = 0 Numerické řešení rovnice f(x) = 0 Přemysl Vihan 9.10.2003 Katedra fyziky, Pedagogická fakulta Univerzity J.E. Purkyně v Ústí n.l. 2. ročník, PMVT-mag. Abstrakt Seminární práce se zabývá numerickým řešením

Více

Voltampérová charakteristika diody

Voltampérová charakteristika diody Voltampérová charakteristika diody Pozn.: Voltampérovou charakteristiku diod, resp. i rezistorů, žárovek aj. lze proměřovat se soupravou ISES-PCI a též i s ISES-USB. Souprava ISES-PCI, resp. ISES-PCI Professional

Více

ŘEŠENÍ KVADRATICKÝCH A ZLOMKOVÝCH NEROVNIC V ŠESTI BODECH

ŘEŠENÍ KVADRATICKÝCH A ZLOMKOVÝCH NEROVNIC V ŠESTI BODECH (Tento text je součástí výkladu k definičním oborům, tam najdete další příklady a pokud chcete část tohoto textu někde použít, můžete čerpat ze stažené kompletní verze definičních oborů ve formátu.doc.)

Více

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu. Břetislav Fajmon, UMAT FEKT, VUT Brno Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu. Na jiných příkladech je téma podrobně zpracováno ve skriptech

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Výsledný graf ukazuje následující obrázek.

Výsledný graf ukazuje následující obrázek. Úvod do problematiky GRAFY - SPOJNICOVÝ GRAF A XY A. Spojnicový graf Spojnicový graf používáme především v případě, kdy chceme graficky znázornit trend některé veličiny ve zvoleném časovém intervalu. V

Více

Program a životní cyklus programu

Program a životní cyklus programu Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25 Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

František Batysta batysfra@fjfi.cvut.cz 19. listopadu 2009. Abstrakt

František Batysta batysfra@fjfi.cvut.cz 19. listopadu 2009. Abstrakt Automatický výpočet chyby nepřímého měření František Batysta batysfra@fjfi.cvut.cz 19. listopadu 2009 Abstrakt Pro správné vyhodnocení naměřených dat je třeba také vypočítat chybu měření. Pokud je neznámá

Více

Informatika 8. třída/6

Informatika 8. třída/6 Rekurze Jedním z důležitých principů pro návrh procedur je tzv. rekurze. Nejlépe uvidíme tento princip na příkladech dvou velmi jednoduchých procedur (hvězdička označuje násobení). Rekurze vlastně označuje

Více

11.1 Jedna rovnice pro jednu neznámou

11.1 Jedna rovnice pro jednu neznámou 52. ešení rovnic Mathcad je schopen řešit i velmi složité rovnice, kdy hledaná neznámá je obsažena současně v několika různých funkcích apod.. Jedna rovnice pro jednu neznámou.. Funkce root Před vlastním

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

MATURITNÍ TÉMATA Z MATEMATIKY

MATURITNÍ TÉMATA Z MATEMATIKY MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické

Více

Učební plán 4. letého studia předmětu matematiky. Učební plán 6. letého studia předmětu matematiky

Učební plán 4. letého studia předmětu matematiky. Učební plán 6. letého studia předmětu matematiky Učební plán 4. letého studia předmětu matematiky Ročník I II III IV Dotace 3 3+1 2+1 2+2 Povinnost povinný povinný povinný povinný Učební plán 6. letého studia předmětu matematiky Ročník 1 2 3 4 5 6 Dotace

Více

1/2. pro začátečníky. Ing. Zbyněk Sušil, MSc.

1/2. pro začátečníky. Ing. Zbyněk Sušil, MSc. 1/2 pro začátečníky Ing. Zbyněk Sušil, MSc. Průběh lekce Základní informace Seznamy Formátování buněk Operace s řádky a sloupci Příprava tisku Matematické operace Vzorce Absolutní a relativní adresování

Více

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97 Vybrané části Excelu Ing. Petr Adamec Brno 2010 Cílem předmětu je seznámení se s programem Excel

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Limita a spojitost funkce

Limita a spojitost funkce Limita a spojitost funkce Základ všší matematik Dana Říhová Mendelu Brno Průřezová inovace studijních programů Lesnické a dřevařské fakult MENDELU v Brně (LDF) s ohledem na disciplin společného základu

Více

15. KubickÈ rovnice a rovnice vyööìho stupnï

15. KubickÈ rovnice a rovnice vyööìho stupnï 15. KubickÈ rovnice a rovnice vyööìho stupnï Čas od času je možné slyšet v pořadech o počasí jména jako Andrew, Mitch, El Ňiňo. otom následuje zpráva o katastrofálních vichřicích, uragánech a jiných mimořádných

Více

O FUNKCÍCH. Obsah. Petr Šedivý www.e-matematika.cz Šedivá matematika

O FUNKCÍCH. Obsah. Petr Šedivý www.e-matematika.cz Šedivá matematika O FUNKCÍCH Obsah Nezbytně nutná kapitola, kterou musíte znát pro studium limit, derivací a integrálů. Základ, bez kterého se neobejdete. Nejprve se seznámíte se všemi typy funkcí, které budete potřebovat,

Více

MATEMATIKA Maturitní témata společná část MZ základní úroveň (vychází z Katalogu požadavků MŠMT)

MATEMATIKA Maturitní témata společná část MZ základní úroveň (vychází z Katalogu požadavků MŠMT) MATEMATIKA Maturitní témata společná část MZ základní úroveň (vychází z Katalogu požadavků MŠMT) 1. Číselné obory 1.1 Přirozená čísla provádět aritmetické operace s přirozenými čísly rozlišit prvočíslo

Více

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy Koza se pase na polovině zahrady, Jaroslav eichl, 011 K OZA E PAE NA POLOVINĚ ZAHADY Zadání úlohy Zahrada kruhového tvaru má poloměr r = 10 m. Do zahrady umístíme kozu, kterou přivážeme provazem ke kolíku

Více

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. 1 Disky, adresáře (složky) a soubory Disky Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. A:, B: C:, D:, E:, F: až Z: - označení disketových mechanik - ostatní disky

Více

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Otevře se tabulka, v které si najdete místo adresář, pomocí malé šedočerné šipky (jako na obrázku), do kterého

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

3. Optimalizace pomocí nástroje Řešitel

3. Optimalizace pomocí nástroje Řešitel 3. Optimalizace pomocí nástroje Řešitel Rovnováha mechanické soustavy Uvažujme dvě různé nehmotné lineární pružiny P 1 a P 2 připevněné na pevné horizontální tyči splývající s osou x podle obrázku: (0,0)

Více

PHP tutoriál (základy PHP snadno a rychle)

PHP tutoriál (základy PHP snadno a rychle) PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2 Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných

Více

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy: Opakování středoškolské matematiky Slovo úvodem: Tato pomůcka je určena zejména těm studentům presenčního i kombinovaného studia na VŠFS, kteří na středních školách neprošli dostatečnou průpravou z matematiky

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy

MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy MQL4 COURSE By Coders guru www.forex-tsd.com -4 Operace & Výrazy Vítejte ve čtvrté lekci mého kurzu MQL4. Předchozí lekce Datové Typy prezentovaly mnoho nových konceptů ; Doufám, že jste všemu porozuměli,

Více

Vytvoření tiskové sestavy kalibrace

Vytvoření tiskové sestavy kalibrace Tento návod popisuje jak v prostředí WinQbase vytvoříme novou tiskovou sestavu, kterou bude možno použít pro tisk kalibračních protokolů. 1. Vytvoření nového typu sestavy. V prvním kroku vytvoříme nový

Více

Normální (Gaussovo) rozdělení

Normální (Gaussovo) rozdělení Normální (Gaussovo) rozdělení Normální (Gaussovo) rozdělení popisuje vlastnosti náhodné spojité veličiny, která vzniká složením různých náhodných vlivů, které jsou navzájem nezávislé, kterých je velký

Více

2. spojitost (7. cvičení) 3. sudost/lichost, periodicita (3. cvičení) 4. první derivace, stacionární body, intervaly monotonie (10.

2. spojitost (7. cvičení) 3. sudost/lichost, periodicita (3. cvičení) 4. první derivace, stacionární body, intervaly monotonie (10. MA. cvičení průběh funkce Lukáš Pospíšil,202 Průběh funkce Pod úkolem vyšetřete průběh funkce budeme rozumět nalezení všech kvalitativních vlastností zadané funkce - tedy bude potřeba zjistit o funkci

Více

2. Numerické výpočty. 1. Numerická derivace funkce

2. Numerické výpočty. 1. Numerická derivace funkce 2. Numerické výpočty Excel je poměrně pohodlný nástroj na provádění různých numerických výpočtů. V příkladu si ukážeme možnosti výpočtu a zobrazení diferenciálních charakteristik analytické funkce, přičemž

Více

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení 2 Zpracování naměřených dat Důležitou součástí každé experimentální práce je statistické zpracování naměřených dat. V této krátké kapitole se budeme věnovat určení intervalů spolehlivosti získaných výsledků

Více

Testování prvočíselnosti

Testování prvočíselnosti Dokumentace zápočtového programu z Programování II (NPRG031) Testování prvočíselnosti David Pěgřímek http://davpe.net Úvodem V různých oborech (například v kryptografii) je potřeba zjistit, zda je číslo

Více

Komisionální přezkoušení 1T (druhé pololetí) 2 x. 1) Z dané rovnice vypočtěte neznámou x:. 2) Určete, pro která x R není daný výraz definován:

Komisionální přezkoušení 1T (druhé pololetí) 2 x. 1) Z dané rovnice vypočtěte neznámou x:. 2) Určete, pro která x R není daný výraz definován: 1) Z dané rovnice vypočtěte neznámou :. ) Určete, pro která R není daný výraz definován: 3) Určete obor hodnot funkce Komisionální přezkoušení 1T (druhé pololetí) f : y 4 3. 4 8 5 1 4) Vyšetřete vzájemnou

Více

Požadavky k opravným zkouškám z matematiky školní rok 2013-2014

Požadavky k opravným zkouškám z matematiky školní rok 2013-2014 Požadavky k opravným zkouškám z matematiky školní rok 2013-2014 1. ročník (první pololetí, druhé pololetí) 1) Množiny. Číselné obory N, Z, Q, I, R. 2) Absolutní hodnota reálného čísla, intervaly. 3) Procenta,

Více

Excel tabulkový procesor

Excel tabulkový procesor Pozice aktivní buňky Excel tabulkový procesor Označená aktivní buňka Řádek vzorců zobrazuje úplný a skutečný obsah buňky Typ buňky řetězec, číslo, vzorec, datum Oprava obsahu buňky F2 nebo v řádku vzorců,

Více

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již

Více

2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013

2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013 2. úkol MI-PAA Jan Jůna (junajan) 3.11.2013 Specifikaci úlohy Problém batohu je jedním z nejjednodušších NP-těžkých problémů. V literatuře najdeme množství jeho variant, které mají obecně různé nároky

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

Praha & EU: investujeme do vaší budoucnosti. Daniel Turzík, Miroslava Dubcová,

Praha & EU: investujeme do vaší budoucnosti. Daniel Turzík, Miroslava Dubcová, E-sbírka příkladů Seminář z matematiky Evropský sociální fond Praha & EU: investujeme do vaší budoucnosti Daniel Turzík, Miroslava Dubcová, Pavla Pavlíková Obsah 1 Úpravy výrazů................................................................

Více

Excel tabulkový procesor

Excel tabulkový procesor Pozice aktivní buňky Excel tabulkový procesor Označená aktivní buňka Řádek vzorců zobrazuje úplný a skutečný obsah buňky Typ buňky řetězec, číslo, vzorec, datum Oprava obsahu buňky F2 nebo v řádku vzorců,

Více

Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar

Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Základy programování Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Počítačový kurs Univerzity třetího věku na FJFI ČVUT Pokročilý 21. května 2009 Dnešní přednáška 1 Počátky

Více

Lokální definice (1) plocha-kruhu

Lokální definice (1) plocha-kruhu Lokální definice (1) syntaxe: (local (seznam definic) výraz) definice jsou dostupné pouze uvnitř příkazu local příklad: (local ( (define Pi 3.1415926) (define (plocha-kruhu r) (* Pi r r)) ) (plocha-kruhu

Více

Programujeme v softwaru Statistica

Programujeme v softwaru Statistica Programujeme v softwaru Statistica díl druhý Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody V tomto článku si ukážeme další možnosti při psaní maker v softwaru Statistica.

Více

Cykly a pole 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116.

Cykly a pole 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. Cykly a pole Tato část sbírky je tvořena dalšími úlohami na práci s cykly. Na rozdíl od předchozího oddílu se zde již v řešeních úloh objevuje více cyklů, ať už prováděných po sobě nebo vnořených do sebe.

Více

3 Co je algoritmus? 2 3.1 Trocha historie... 2 3.2 Definice algoritmu... 3 3.3 Vlastnosti algoritmu... 3

3 Co je algoritmus? 2 3.1 Trocha historie... 2 3.2 Definice algoritmu... 3 3.3 Vlastnosti algoritmu... 3 Obsah Obsah 1 Program přednášek 1 2 Podmínky zápočtu 2 3 Co je algoritmus? 2 3.1 Trocha historie............................ 2 3.2 Definice algoritmu.......................... 3 3.3 Vlastnosti algoritmu.........................

Více

Tvorba fotogalerie v HTML str.1

Tvorba fotogalerie v HTML str.1 Tvorba fotogalerie v HTML str.1 obr. A obr. B 1) Spustíme PsPad, vytvoříme nový dokument a otevře se nám okno nový soubor, kde si můžeme zvolit jaký chceme typ. My označíme HTML a potvrdíme. 2) Pro správné

Více

Vlastnosti dokumentu/stránky

Vlastnosti dokumentu/stránky Vlastnosti dokumentu/stránky Formát stránky papíru pro tisk V záložce Rozložení stránky na pásu karet najdeme vše potřebné pro přípravu dokumentu před tiskem. 1) Záložka Rozložení stránky 2) Změna Orientace

Více

Základní orientace v MS Excel

Základní orientace v MS Excel Základní orientace v MS Excel Umíte-li ovládat textový editor MS Word, nebude Vám činit žádné potíže ovládání programu MS Excel. Panel nabídek, panel nástrojů, posuvníky, to všechno již znáte. Jen pracovní

Více

Funkce - pro třídu 1EB

Funkce - pro třídu 1EB Variace 1 Funkce - pro třídu 1EB Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv využití výukového materiálu je povoleno pouze s odkazem na www.jarjurek.cz. 1. Funkce Funkce je přiřazení, které každému

Více

Nejprve si uděláme malé opakování z kurzu Množiny obecně.

Nejprve si uděláme malé opakování z kurzu Množiny obecně. @021 3. Řešení grafické přímka v kartézské soustavě souřadnic Nejprve si uděláme malé opakování z kurzu Množiny obecně. Rovnice ax + by + c = 0, kde aspoň jedno z čísel a,b je různé od nuly je v kartézské

Více

B) výchovné a vzdělávací strategie jsou totožné se strategiemi vyučovacího předmětu Matematika.

B) výchovné a vzdělávací strategie jsou totožné se strategiemi vyučovacího předmětu Matematika. 4.8.3. Cvičení z matematiky Předmět Cvičení z matematiky je vyučován v sextě a v septimě jako volitelný předmět. Vzdělávací obsah vyučovacího předmětu Cvičení z matematiky vychází ze vzdělávací oblasti

Více

Jak pracovat s absolutními hodnotami

Jak pracovat s absolutními hodnotami Jak pracovat s absolutními hodnotami Petr Matyáš 1 Co to je absolutní hodnota Absolutní hodnota čísla a, dále ji budeme označovat výrazem a, je jeho vzdálenost od nuly na ose x, tedy je to vždy číslo kladné.

Více