Algoritmizace a programování

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

Download "Algoritmizace a programování"

Transkript

1 Algoritmizace a programování Procedurální programování Rekurze Jazyk C České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Procedurální programování - zásady Postupný návrh programu rozkladem řešeného problému na podproblémy zadaný problém rozložíme na podproblémy pro řešení podproblémů zavedeme abstraktní příkazy pomocí abstraktních příkazů sestavíme hrubé řešení abstraktní příkazy realizujeme pomocí metod (funkcí, procedur) Navržené metody propojíme pomocí předávání parametrů Rozklad problému na podproblémy ukážeme na jednoduchých příkladech A8B14ADP Jazyk C - procedurální programovaní 2 1

2 Řešený problém Rozklad problému na podproblémy main() Začátek programu funkcea ( ) funkceb ( ) funkcec ( ) funkced ( ) Konec programu funkcea( ) Vstup dat od uživatele Výstupní Parametr(y) funkced( ) Vstupní parametry Výstup výsledku pro uživatele funkceb( ) funkcec( ) Vstupní parametry Dílčí výpočet 1 Dílčí výpočet 2 A8B14ADP Jazyk C - procedurální programovaní 3 Příklad 1 Výpočet s volbou metody (1) Navrhněte řešení programu, který vypočítá buď obsah obdélníku nebo kruhu. Druh výpočtu lze volit z klávesnice z nabídkového menu (volba čísly) Výpočet lze spouštět z klávesnice opakovaně pro různé parametry Výsledky výpočtu se zobrazují na obrazovce Dílčí podproblémy (pro identifikované části zvolíme název budoucí funkce): Nabídkové menu s volbou obsluhy (1) ctiprikaz Vykonání příkazu obsluhy (2) cmdobdelnik (3) cmdkruh Vlastní matematický výpočet (4) obsahobdelniku (5) obsahkruhu Pomocné metody Zjištění parametrů pro výpočet (6) prectikladnydouble Tisk nápovědy, pokynů a výsledků (7) tisknaobrazovku Řídicí program celého řešení,zapíšeme v: (8) main Identifikovali jsme 8 dílčích bloků, ty zapíšeme pomocí funkcí A0B36PRI A8B14ADP PROGRAMOVÁNÍ Jazyk C - procedurální 06 programovaní 44 2

3 Příklad 1 Výpočet s volbou metody (2) Hrubé řešení (zapsané pseudojazykem ten si volíme) Opakuj { switch (ctiprikaz) pocitat-obdelnik: cmdobdelnik tisknaobrazovku // napoveda prectikladnydouble // cti parametry vypoctu obsahobdelniku // vlastni vypocet tisknaobrazovku // zobraz vysledek break pocitat-kruh: cmdkruh tisknaobrazovku // napoveda prectikladnydouble // cti parametry vypoctu obsahkruhu // vlastni vypocet tisknaobrazovku // zobraz vysledek break konec-programu: return A8B14ADP Jazyk C - procedurální programovaní 5 Příklad 1 Vstup a vyhodnocení příkazu (3) int ctiprikaz(void){ int cmd; while(true){ tisknaobrazovku ("\nobsah-obdelniku=1,obsah-kruhu=2,konec=3","\n,-1); tisknaobrazovku("prikaz = ",",-1); switch(scanf("%d", &cmd)){ case CMD_KRUH: ; case CMD_OBDELNIK:..; case CMD_KONEC: return (cmd); default: tisknaobrazovku("neznamy prikaz","\n,-1); break; A8B14ADP Jazyk C - procedurální programovaní 6 3

4 Příklad 1 Příkaz pro výpočet obsahu obdélníku (4) void cmdobdelnik(void){ // Akce "Obdelnik" double a,b,p; tisknaobrazovku("vypocet obsahu OBDELNIKU","\n,-1); // Vstup dat a = prectikladnydouble("a ="); b = prectikladnydouble("b ="); // Vypocet p = obsahobdelniku(a, b); // Vystup dat tisknaobrazovku("obsah Obdelniku = ","",p); A8B14ADP Jazyk C - procedurální programovaní 7 Příklad 1 Příkaz pro výpočet obsahu kruhu (5) void cmdkruh(void){ // Akce "Kruh double r,p; tisknaobrazovku("vypocet obsahu KRUHU","\n,-1); // Vstup dat r = prectikladnydouble("r ="); // Vypocet p = obsahkruhu(r); // Vystup dat tisknaobrazovku("obsah KRUHU = ","",p); A8B14ADP Jazyk C - procedurální programovaní 8 4

5 Příklad 1 Vlastní výpočet obsahů obrazců (6) double obsahobdelniku(double a, double b){ // Vypocet double obsahobdelniku; obsahobdelniku = a * b; return(obsahobdelniku); double obsahkruhu (double r) { // Vypocet double obsahkruhu; obsahkruhu = 2 * 3.14 * r; return (obsahkruhu); A8B14ADP Jazyk C - procedurální programovaní 9 Příklad 1 Zjištění parametrů výpočtu (7) double prectikladnydouble(char napis[]){ // Vstup dat (kladne racionalni cislo) double din; while(true){ tisknaobrazovku("zadej kladne cislo","\n,-1); tisknaobrazovku(napis,",-1); scanf("%d", &din); if (din >= 0) return(d); tisknaobrazovku("chyba","\n,-1); A8B14ADP Jazyk C - procedurální programovaní 10 5

6 Příklad 1 Tisk nápovědy a výsledků (8) void tisknaobrazovku(char s[],char lf[],double d){ if(d < 0){ printf("%s %s", s, lf); else{ printf("%s%3.2f %s", s, d, lf); A8B14ADP Jazyk C - procedurální programovaní 11 Příklad 1 Řídicí program celého řešení (9) #include <stdio.h> #include <stdlib.h> enum {CMD_KRUH,CMD_OBDELNIK,CMD_KONEC; int main(int argc, char** argv) { while(true){ switch(ctiprikaz()){ case CMD_KRUH: cmdkruh();break; case CMD_OBDELNIK: cmdobdelnik();break; case CMD_KONEC: tisknaobrazovku("konec","\n,-1);return; A8B14ADP Jazyk C - procedurální programovaní

7 Příklad 2 Hra NIM (1) [1] Navrhněte řešení programu pro hru NIM počítač-člověk Pravidla hry NIM: hráč zadá počet zápalek (např. od 15 do 35) pak se střídá se strojem v odebírání; odebrat lze 1, 2 nebo 3 zápalky, prohraje ten, kdo odebere poslední zápalku. Dílčí podproblémy: zadání počtu zápalek odebrání zápalek hráčem odebrání zápalek strojem A8B14ADP Jazyk C - procedurální programovaní 13 Příklad 2 Hra NIM (2) Pravidla pro odebírání zápalek strojem, která vedou k vítězství (je-li to možné): počet zápalek nevýhodných pro protihráče je 1, 5, 9, atd., obecně 4n+1, kde n >0, stroj musí z počtu p zápalek odebrat x zápalek tak, aby platilo p x = 4n + 1 z tohoto vztahu po úpravě a s ohledem na omezení pro x dostaneme x = (p 1) mod 4 vyjde-li x=0, znamená to, že okamžitý počet zápalek je pro stroj nevýhodný a bude-li protihráč postupovat správně, stroj prohraje. A8B14ADP Jazyk C - procedurální programovaní 14 7

8 Příklad 2 Hra NIM (3) Hrubé řešení: typedef unsigned Tboolean; int pocet; Tboolean stroj = FALSE; // zadání počtu zápalek do{ if (stroj) odebrání zápalek strojem else odebrání zápalek hráčem stroj =!stroj; while (pocet > 0); if (stroj) vyhrál stroj else vyhrál hráč Podproblémy zadání počtu zápalek, odebrání zápalek strojem a odebrání zápalek hráčem budeme realizovat funkcemi, proměnné pocet a stroj pro ně budou statickými proměnnými A8B14ADP Jazyk C - procedurální programovaní 15 Příklad 2 Hra NIM (3) #define TRUE 1 #define FALSE 0 int main(int argc, char** argv){ int pocet, stroj=false; pocet = zadanipoctu(); do { if (stroj) pocet = berestroj(pocet); else pocet = berehrac(pocet); stroj =!stroj; while(pocet > 0); printf("vsechny zapalky odebrany \n"); if(!stroj) printf("vyhral jsem \n\n"); else printf("\nvyhral jste, gratuluji \n\n"); return (EXIT_SUCCESS); A8B14ADP Jazyk C - procedurální programovaní 16 8

9 Příklad 2 Hra NIM (4) int zadanipoctu(void){ int pocet = 0; do { printf("zadejte pocet zapalek (od 15 do 35) = "); scanf("%d", &pocet); while (pocet < 15 pocet > 30); return (pocet); A8B14ADP Jazyk C - procedurální programovaní 17 Příklad 2 Hra NIM (5) int berehrac(int pocet) { int x, chyba; do { chyba = FALSE; printf("pocet zapalek = %d \n\n", pocet); printf("kolik odeberete (1..3)? "); scanf("%d", &x); if (x < 1) { printf("prilis malo \n"); chyba = TRUE; else if (x > 3 x > pocet) { printf("prilis mnoho \n"); chyba = TRUE; while (chyba); pocet -= x; return (pocet); A8B14ADP Jazyk C - procedurální programovaní 18 9

10 Příklad 2 Hra NIM int berestroj(int pocet) { int x; printf("pocet zapalek = %d \n\n", pocet); x = (pocet-1) % 4; if(x == 0) x = 1; printf("odebiram %d \n", x); pocet -= x; return(pocet); A8B14ADP Jazyk C - procedurální programovaní 19 Rekurze Definice ze slovníku (pozor vtip) Rekurze viz Rekurze.nekonečná rekurze, lépe: pokud neznáte význam tohoto pojmu, pokračujte pojmem Rekurze Rekurze - algoritmus, který volá v průběhu svého běhu sama sebe Příklad: výpočet faktoriálu: n! 0! = 1, 1! = 1, pro zápornéčíslo x budiž x! = 1 pro n>1, n! = n(n-1)! A8B14ADP Jazyk C - procedurální programovaní 20 10

11 Rekurze [1] Rekurzivní funkce (procedury) jsou přímou realizací rekurzivních algoritmů Rekurzivní algoritmus předepisuje výpočet shora dolů v závislosti na velikosti (složitosti) vstupních dat: pro nejmenší (nejjednodušší) data je výpočet předepsán přímo pro obecná data je výpočet předepsán s využitím téhož algoritmu pro menší (jednodušší) data Výhodou rekurzivních funkcí (procedur) je jednoduchost a přehlednost Nevýhodou může být časová náročnost způsobená např. zbytečným opakováním výpočtu Řadu rekurzívních algoritmů lze nahradit iteračními, které počítají výsledek zdola nahoru, tj, od menších (jednodušších) dat k větším (složitějším) Pokud algoritmus výpočtu zdola nahoru nenajdeme (např. při řešení problému Hanojských věží), lze rekurzivitu odstranit pomocí tzv. zásobníku A8B14ADP Jazyk C - procedurální programovaní 21 Rekurzivní algoritmus Rekurzivní algoritmus v některém kroku volá sám sebe Rekurzivní metoda v některém příkazu volá sama sebe ( i nepřímo ) Příklad faktoriál : Rekurse n! = 1 pro n 1 n! = n*(n-1)! pro n>1 Iterace n! = n*(n-1)*(n-2)* *2*1 A8B14ADP Jazyk C - procedurální programovaní 22 11

12 Rekurze n! = 1 pro n 1 n! = n*(n-1)! pro n>1 Iterace n! = n*(n-1)*(n-2)* *2*1 Faktoriál pomocí rekurze a iterace int fakt(int n) { int fakt(int n) { int fakt(int n) { if (n<=1) return 1; if (n<=1) return 1; int f = 1; return n*fakt(n-1); while (n>1){ else return n*fakt(n-1); f *= n; n--; int fakt(int return n) { f; return n<=1?1:n*fakt(n-1); // ternární operátor A8B14ADP Jazyk C - procedurální programovaní 23 Rekurze a rozklad problému na podproblémy Program, který přečte posloupnost čísel zakončenou nulou a vypíše ji obráceně Rozklad problému: zavedeme abstraktní příkaz přečti,vypiš a obrať posloupnost příkaz rozložíme do tří kroků: obrať posloupnost : přečti číslo (a ulož ho) if (přečtené číslo není nula) obrať posloupnost (zbytek) vypiš číslo (uložené) A8B14ADP Jazyk C - procedurální programovaní 24 12

13 Příklad 3 - Rekurze Obrať posloupnost [1] obrať posloupnost přečti číslo if (přečtené číslo není nula) obrať posloupnost, tj. zbytek vypiš číslo cti x if() piš x 2 2 cti x if() piš x 4 4 cti x if() piš x 6 6 cti x if() piš x 8 8 cti x if() piš x 0 0 A8B14ADP Jazyk C - procedurální programovaní 25 Příklad 3 - Rekurze obrat() posloupnost Řešení: int main(int argc, char** argv){ printf( Zadejte posloupnost zakončenou nulou"); obrat(); return (EXIT_SUCCESS); static void obrat() { int x; scanf("%d", &x); if(x!=0) obrat(); printf(("%d ", x); // načtení // otočení zbytku // vypsani cisla A8B14ADP Jazyk C - procedurální programovaní 26 13

14 Příklad 4 - Rekurze - Hanojské věže [1] Zavedeme abstraktní příkaz přenes_věž(n,1,2,3) který interpretujeme jako "přenes n disků z jehly 1 na jehlu 2 s použitím jehly 3". Pro n > 0 lze příkaz rozložit na tři jednodušší příkazy přenes_věž(n-1,1,3,2) "přenes disk z jehly 1 na jehlu 2", přenes_věž(n-1,3,2,1) A8B14ADP Jazyk C - procedurální programovaní 27 Příklad 4 - Rekurze - Hanojské věže void main(string[] args) { printf( Zadejte výšku věže"); int pocetdisku; scanf("%d", &pocetdisku); prenesvez(pocetdisku, 1, 2, 3); 3 přenes disk z 1 na 2 přenes disk z 1 na 3 přenes disk z 2 na 3 přenes disk z 1 na 2 přenes disk z 3 na 1 přenes disk z 3 na 2 přenes disk z 1 na 2 void prenesvez(int vyska,int odkud,int kam,int pomoci){ if(vyska>0) { prenesvez(vyska-1,odkud,pomoci,kam); printf( Přenes disk z %d na %d,odkud,kam); prenesvez(vyska-1,pomoci,kam,odkud); A8B14ADP Jazyk C - procedurální programovaní 28 14

15 Příklad rekurze - Hanojské věže prenesvez(3, 1, 2, 3); prenesvez(2, 1, 3, 2); (1, 2); prenesvez(2, 3, 2, 1); prenesvez(1, 1, 2, 3); (1, 3); prenesvez(1, 2, 3, 1); prenesvez(1, 3, 1, 2); (3, 2); prenesvez(1, 1, 2, 3); (1, 2); (2, 3); (3, 1); (1, 2); prenesvez(int vyska, int odkud, int kam, int pomoci) { if(vyska > 0){ prenesvez(vyska-1,odkud,pomoci,kam); printf( Přenes disk z %d na %d,odkud,kam); prenesvez(vyska-1,pomoci,kam,odkud); 3 přenes disk z 1 na 2 přenes disk z 1 na 3 přenes disk z 2 na 3 přenes disk z 1 na 2 přenes disk z 3 na 1 přenes disk z 3 na 2 přenes disk z 1 na 29 A8B14ADP Jazyk C - procedurální programovaní 29 Obecně k rekurzivitě Rekurzivní metody jsou přímou realizací rekurzivních algoritmů Rekurzivní algoritmus předepisuje výpočet shora dolů v závislosti na velikosti (složitosti) vstupních dat: pro nejmenší ( nejjednodušší ) data je výpočet předepsán přímo pro obecná data je výpočet předepsán s využitím téhož algoritmu pro menší ( jednodušší ) data Výhodou rekurzivních metod je jednoduchost a přehlednost Nevýhodou může být časová náročnost způsobená např. zbytečným opakováním výpočtu A8B14ADP Jazyk C - procedurální programovaní 30 15

16 Fibonacciho posloupnost historie [1] Maatraameru (Chhandah-shāstra, the Art of Prosody, 450 or 200 BC) Leonardo Pisano (Leonardo z Pisy), známý také jako Fibonacci (cca ) - králíci Henry E. Dudeney ( ) - krávy Jestliže každá kráva vyprodukuje své první tele (jalovici) ve věku dvou let a poté každý rok jednu další jalovici, kolik budete mít krav za 12 let, jestliže Vám žádná nezemře? Rok - počet krav (jalovic) (20 miliard) Počet krav = počet krav vloni + počet narozených (odpovídá počtu krav předloni) f n = f n-1 + f n-2 A8B14ADP Jazyk C - procedurální programovaní 31 Fibonacciho posloupnost - rekurzivně Platí: f 0 = 1 f 1 = 1 f n = f n-1 + f n-2 pro n > 1 Rekurzivní funkce: int fib(int i) { if (i < 2) return 1; return fib(i-1)+fib(i-2); Rekurze je hezká - zápis odpovídá rekurentní definici. Je ale i efektivní? A8B14ADP Jazyk C - procedurální programovaní 32 16

17 Složitost výpočtu Fibonacciho čísla - rekurzivně Příklad pro fib(10): fib(10) fib(9) + fib(8) fib(8) + fib(7) fib(7) + fib(6) fib(7)+ fib(6) fib(6)+ fib(5) fib(6) + fib(5) fib(5)+ fib(4) f (20 miliard) int fib(int i) { if (i < 2) return 1; return fib(i-1)+fib(i-2); Složitost je exponenciální!!!! A8B14ADP Jazyk C - procedurální programovaní 33 Fibonacciho posloupnost - iteračně Platí: f 0 = 1 f 1 = 1 f n = f n-1 + f n-2, pro n > 1 Iteračně: int fibonacci(int n){ int i,fn_2 = 1; int fn_1 = 1, fn = 1; for (i = 2;i <= n; i++){ fn_2 = fn_1; fn_1 = fn; fn = fn_1 + fn_2; return fn; fn_2 fn_1 fn Složitost: 3*n 1 2 i A8B14ADP Jazyk C - procedurální programovaní 34 17

18 Reference [1] Jelinek,I.- Zděnek, J.: Presentace k přednáškám A0B36PRI, 2012 A8B14ADP Jazyk C - procedurální programovaní 35 Algoritmizace a programování Procedurální programování Rekurze KONEC České vysoké učení technické Fakulta elektrotechnická 18

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Procedurální programování Rekurze Jazyk C České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Procedurální programování - zásady Postupný návrh programu

Více

Rozklad problému na podproblémy

Rozklad problému na podproblémy Rozklad problému na podproblémy Postupný návrh programu rozkladem problému na podproblémy zadaný problém rozložíme na podproblémy pro řešení podproblémů zavedeme abstraktní příkazy s pomocí abstraktních

Více

5. přednáška - Rozklad problému na podproblémy

5. přednáška - Rozklad problému na podproblémy 5. přednáška - Rozklad problému na podproblémy Obsah přednášky: Rozklad problému na podproblémy. Rekurze. Algoritmizace (Y36ALG), Šumperk - 5. přednáška 1 Rozklad problému na podproblémy Postupný návrh

Více

Rozklad problému na podproblémy, rekurze

Rozklad problému na podproblémy, rekurze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Rozklad problému na podproblémy, rekurze BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních

Více

Rozklad problému na podproblémy, rekurze

Rozklad problému na podproblémy, rekurze Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Rozklad problému

Více

8. Rekurze. doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze

8. Rekurze. doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 8 1 Základy algoritmizace 8. Rekurze doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří Vokřínek,

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C funkce České vysoké učení technické Fakulta elektrotechnická A8B14ADP Algoritmizace a programovaní -Jazyk C -Ver.1.00 funkce J. Zděnek 20151 - černá (programová) skřínka

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba

Více

Dekompozice problému, rekurze

Dekompozice problému, rekurze Dekompozice problému, rekurze BI-PA1 Programování a Algoritmizace 1 Ladislav Vagner, Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních technologíı České

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C funkce České vysoké učení technické Fakulta elektrotechnická A8B14ADP Algoritmizace a programovaní -Jazyk C -Ver.1.00 funkce J. Zděnek 20151 Funkce Funkce - černá (programová)

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

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++ C++ Akademie SH 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory Za áte níci C++ 20. b ezna 2011 Obsah 1 Prom nné - primitivní typy Celá ísla ƒísla s pohyblivou desetinnou árkou, typ bool 2 Podmínka

Více

5 Rekurze a zásobník. Rekurzivní volání metody

5 Rekurze a zásobník. Rekurzivní volání metody 5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení

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

Třídy a objekty -příklady

Třídy a objekty -příklady Třídy a objekty -příklady doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Příklad 1 Kvadratická rovnice static void

Více

1. Programování, typy programovacích jazyků, historie.

1. Programování, typy programovacích jazyků, historie. 1. Programování, typy programovacích jazyků, historie. třída Console metody Write, WriteLina, ReadLine, ResetColor vlastnosti ForegroundColor, Backgroundcolor třída Form objekt Label vlastnost Text význam

Více

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti 3. přednáška nalezení největšího prvku, druhého nejvyššího prvku, algoritmus shozeného praporku. Algoritmizace

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

ELEKTROTECHNICKÁ MĚŘENÍ PRACOVNÍ SEŠIT 2-3

ELEKTROTECHNICKÁ MĚŘENÍ PRACOVNÍ SEŠIT 2-3 ELEKTROTECHNICKÁ MĚŘENÍ PRACOVNÍ SEŠIT - Název úlohy: Měření vlastností regulačních prvků Listů: List: Zadání: Pro daný regulační prvek zapojený jako dělič napětí změřte a stanovte: a, Minimálně regulační

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

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

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce. Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Strukturované proměnné Pole (array), ukazatele (pointer) Jazyk C České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Pole (array) (1) Pole je množina

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

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

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

Řídicí struktury. alg3 1

Řídicí struktury. alg3 1 Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení

Více

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí Velké projekty v C velký = 100ky a více řádek udržovatelnost, bezpečnost, přehlednost kódu rozdělení programu do více souborů další prvky globální proměnné, řízení viditelnosti proměnných, funkcí Globální

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

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

4. Rekurze. BI-EP1 Efektivní programování Martin Kačer

4. Rekurze. BI-EP1 Efektivní programování Martin Kačer 4. Rekurze BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)

Více

Rekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Rekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Rekurze doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Rekurze 161 / 344 Osnova přednášky

Více

Syntaxí řízený překlad

Syntaxí řízený překlad Překlad Syntaxí řízený překlad Miroslav Beneš Dušan Kolář Definice: Překlad je relace TRAN: L 1 -> L 2 L 1 Σ* Σ - vstupní abeceda L 2 * - výstupní abeceda L 1 jazyk infixových výrazů L 2 jazyk postfixových

Více

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Programová realizace DKA typedef enum {q0, q1,... qn,

Více

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy

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

Programování v C++ 1, 1. cvičení

Programování v C++ 1, 1. cvičení Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených

Více

Paradigmata programování 1

Paradigmata programování 1 Paradigmata programování 1 Akumulace Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 7 V. Vychodil (KI, UP Olomouc) Akumulace Přednáška 7 1 / 33 Přednáška 7: Přehled 1 Akumulace pomocí foldr

Více

Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 1 (celkem 7) Číselné soustavy

Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 1 (celkem 7) Číselné soustavy Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana (celkem 7) Polyadické - zobrazené mnohočlenem desítková soustava 3 2 532 = 5 + 3 + 2 + Číselné soustavy Číslice tvořící zápis čísla jsou vlastně

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

Základní stavební prvky algoritmu

Základní stavební prvky algoritmu Základní stavební prvky algoritmu Podmínka. Cyklus for, while, do-while. Funkce, metody. Přetěžování. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká

Více

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44 Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251

Více

Funkce a procedury. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 5 A0B36PR1 Programování 1

Funkce a procedury. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 5 A0B36PR1 Programování 1 Funkce a procedury Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 5 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 5: Funkce a procedury

Více

KIV/ZI Základy informatiky. MS Excel maticové funkce a souhrny

KIV/ZI Základy informatiky. MS Excel maticové funkce a souhrny KIV/ZI Základy informatiky MS Excel maticové funkce a souhrny cvičící: Michal Nykl zimní semestr 2012 MS Excel matice (úvod) Vektor: (1D) v = [1, 2, 3, 5, 8, 13] Např.: matice sousednosti Matice: (2D)

Více

Část 1 Funkce, lokální proměnné a přidělování paměti. Funkce a procedury. Část 2 Cykly a řízení jejich průchodu. Část 3 Příklady

Část 1 Funkce, lokální proměnné a přidělování paměti. Funkce a procedury. Část 2 Cykly a řízení jejich průchodu. Část 3 Příklady Část 1 Funkce, lokální proměnné a přidělování paměti Funkce a procedury Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 5 A0B36PR1 Programování 1 Jména

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

Pracovní ukázka vstupního testu DSA 1.

Pracovní ukázka vstupního testu DSA 1. Pracovní ukázka vstupního testu DSA 1. Celkem můžete získat 6 bodů, k úspěšnému vyřešení testu je nutno získat alespoň 4 body. V úloze 1. získáte 1 bod za každou správně určenou hodnotu. V úlohách 2. a

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

Operační systémy. Cvičení 4: Programování v C pod Unixem

Operační systémy. Cvičení 4: Programování v C pod Unixem Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné

Více

Metodika - Postupy optimálního využití moderních komunikačních kanálů

Metodika - Postupy optimálního využití moderních komunikačních kanálů Informatika v telemedicíně FBMI ČVUT Metodika - Postupy optimálního využití moderních komunikačních kanálů Kolektiv autorů: David Gillar, Jiří Brada, Mikuláš Miček, Miroslav Poledňák, Marie Tichá, Martin

Více

Př. 3: Dláždíme čtverec 12 x 12. a) dlaždice 2 x 3 12 je dělitelné 2 i 3 čtverec 12 x 12 můžeme vydláždit dlaždicemi 2 x 3.

Př. 3: Dláždíme čtverec 12 x 12. a) dlaždice 2 x 3 12 je dělitelné 2 i 3 čtverec 12 x 12 můžeme vydláždit dlaždicemi 2 x 3. 1..20 Dláždění III Předpoklady: 01019 Př. 1: Najdi n ( 84,96), ( 84,96) D. 84 = 4 21 = 2 2 7 96 = 2 = 4 8 = 2 2 2 2 2 D 84,96 = 2 2 = 12 (společné části rozkladů) ( ) n ( 84,96) = 2 2 2 2 2 7 = 672 (nejmenší

Více

Kapitola 7: Integrál. 1/14

Kapitola 7: Integrál. 1/14 Kapitola 7: Integrál. 1/14 Neurčitý integrál. Definice: Necht f je funkce definovaná na intervalu I. Funkci F definovanou na intervalu I, pro kterou platí F (x) = f (x) x I nazýváme primitivní funkcí k

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

Řídící struktury, if, while, switch

Řídící struktury, if, while, switch Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Řídící struktury, if, while, switch BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních

Více

3 KTE / ZPE Informační technologie

3 KTE / ZPE Informační technologie 3 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Komentáře

Více

5. Dynamické programování

5. Dynamické programování 5. Dynamické programování BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické

Více

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT; Programovací jazyk C(++) static struct vm_area_struct * unmap_fixup(struct mm_struct *mm, struct vm_area_struct *area, unsigned long addr, size_t len, struct vm_area_struct 1. *extra) Základy { struct

Více

STEREOMETRIE. Vzdálenost bodu od přímky. Mgr. Jakub Němec. VY_32_INOVACE_M3r0113

STEREOMETRIE. Vzdálenost bodu od přímky. Mgr. Jakub Němec. VY_32_INOVACE_M3r0113 STEREOMETRIE Vzdálenost bodu od přímky Mgr. Jakub Němec VY_32_INOVACE_M3r0113 VZDÁLENOST BODU OD PŘÍMKY V PROSTORU Při hledání vzdálenosti bodu od geometrického útvaru v prostoru je nutné si vždy úlohu

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší

Více

Lokální a globální extrémy funkcí jedné reálné proměnné

Lokální a globální extrémy funkcí jedné reálné proměnné Lokální etrémy Globální etrémy Použití Lokální a globální etrémy funkcí jedné reálné proměnné Nezbytnou teorii naleznete Breviáři vyšší matematiky (odstavec 1.). Postup při hledání lokálních etrémů: Lokální

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. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Čí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

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48 LED_007.c Strana: 1/5 Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů, zbývá nám

Více

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské

Více

IUJCE 07/08 Přednáška č. 1

IUJCE 07/08 Přednáška č. 1 Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming

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

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

PHP formátování řetězců

PHP formátování řetězců PHP formátování řetězců V této části se budeme zabývat relativně podrobně formátováním řetězců v PHP. Kdy se nám může formátování řetězců hodit? Například při generování loginů, jako jednoznačných identifikátorů

Více

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1 Rekurze V programování ve dvou hladinách: - rekurzivní algoritmus (řešení úlohy je definováno pomocí řešení podúloh stejného charakteru) - rekurzivní volání procedury nebo funkce (volá sama sebe přímo

Více

Programovanie v jazyku C stromy

Programovanie v jazyku C stromy CVIČENIE 10/13 (S7) Programovanie v jazyku C stromy Binarne stromy: - zlozene z nula alebo viac prvkov - kazdy prvok obsahuje o nejaku hodnotu (data) o smernik na laveho potomka o smernik na praveho potomka

Více

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice Řídicí příkazy V této kapitole se seznámíte s příkazy, které řídí postup provádění programu Příkazy řízení programu se řadí do třech kategorií: příkazy výběru, kam patří příkazy if a switch, příkazy iterace,

Více

Kvantové počítače algoritmy (RSA a faktorizace čísla) http://marble.matfyz.cz

Kvantové počítače algoritmy (RSA a faktorizace čísla) http://marble.matfyz.cz Kvantové počítače algoritmy (RSA a faktorizace čísla) http://marble.matfyz.cz 14. 4. 2004 1. Algoritmus RSA Asymetrické šifrování. Existuje dvojice tajného a veřejného klíče, takže není nutné předat klíč

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

Integrovaná střední škola, Sokolnice 496

Integrovaná střední škola, Sokolnice 496 Název projektu: Moderní škola Registrační číslo: CZ.1.07/1.5.00/34.0467 Integrovaná střední škola, Sokolnice 496 Název klíčové aktivity: III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT Kód výstupu:

Více

Učební dokument FUNKCE. Vyšetřování průběhu funkce. Mgr. Petra MIHULOVÁ. 4.roč.

Učební dokument FUNKCE. Vyšetřování průběhu funkce. Mgr. Petra MIHULOVÁ. 4.roč. Učební dokument FUNKCE Vyšetřování průběhu funkce Mgr. Petra MIHULOVÁ.roč. Evropský sociální fond Praha a EU Investujeme do vaší budoucnosti Vyš etř ová ní přů be hů fůnkce á šeštřojení její ho gřáfů Určování

Více

INŽENÝRSKÁ MATEMATIKA LOKÁLNÍ EXTRÉMY

INŽENÝRSKÁ MATEMATIKA LOKÁLNÍ EXTRÉMY INŽENÝRSKÁ MATEMATIKA LOKÁLNÍ EXTRÉMY FUNKCÍ DVOU PROMĚNNÝCH Robert Mařík 2. října 2009 Obsah z = x 4 +y 4 4xy + 30..................... 3 z = x 2 y 2 x 2 y 2........................ 18 z = y ln(x 2 +y)..........................

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

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

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

Abstrakt. Následující text obsahuje detailní popis algoritmu Minimax, který se používá při realizaci rozhodování

Abstrakt. Následující text obsahuje detailní popis algoritmu Minimax, který se používá při realizaci rozhodování Abstrakt Následující text obsahuje detailní popis algoritmu Minimax, který se používá při realizaci rozhodování počítačového hráče v jednoduchých deskových hrách, a jeho vylepšení Alfa-Beta ořezávání,

Více

Řídící struktury, if, while, switch

Řídící struktury, if, while, switch Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Řídící struktury,

Více

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů. Příkazy cyklu v C# Kapitola vysvětluje použití tří typů cyklů for, while a -while a plňuje jejich použití řau příkladů programů v jazyku C#. V jazyku C by šlo pouze k záměně funkcí pro vstup a výstup.

Více

Programovací jazyk C++ Hodina 1

Programovací jazyk C++ Hodina 1 Programovací jazyk C++ Hodina 1 Používané překladače Bloodshed Dev C++ http://www.bloodshed.net/devcpp.html CodeBlocks http://www.codeblocks.org pokud nemáte již nainstalovaný překladač, stáhněte si instalátor

Více

A7B39PDA Deliverable D3 ČVUT FEL, 2014/2015 Daniil Barabash, Adam Samec, Tatiana Okonechnikova. Principy tvorby mobilních aplikací (A7B39PDA)

A7B39PDA Deliverable D3 ČVUT FEL, 2014/2015 Daniil Barabash, Adam Samec, Tatiana Okonechnikova. Principy tvorby mobilních aplikací (A7B39PDA) Principy tvorby mobilních aplikací (A7B39PDA) Deliverable D3 Staročeská šibenice ITJ HGM Daniil Barabash Adam Samec Tatiana Okonechnikova České vysoké učení technické v Praze Fakulta elektrotechnická 2014/2015

Více

Příklady a návody. Databázová vrstva

Příklady a návody. Databázová vrstva Příklady a návody Databázová vrstva Konceptuální datový model Popis dat.struktur pomocí entit, atributů, vazeb a integritních omezení ER-model nebo OO-diagramy (class diagram) ER model zdůrazňuje vztahy

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

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

Více

Úvod Petr Kropík pkropik@kte.zcu.cz. viz: http://home.zcu.cz/~pkropik/zpe

Úvod Petr Kropík pkropik@kte.zcu.cz. viz: http://home.zcu.cz/~pkropik/zpe Úvod Petr Kropík pkropik@kte.zcu.cz 1. viz: http://home.zcu.cz/~pkropik/zpe Základy programování pro elektrotechniku (KTE/ZPE) http://portal.zcu.cz - potřebné informace o předmětu > Portál ZČU > Courseware

Více

Funkce, intuitivní chápání složitosti

Funkce, intuitivní chápání složitosti Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Funkce, intuitivní

Více

Základy algoritmizace 4. Problémy, algoritmy, data

Základy algoritmizace 4. Problémy, algoritmy, data Jiří Vokřínek, 2015 B6B36ZAL - Přednáška 4 1 Základy algoritmizace 4. Problémy, algoritmy, data doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze

Více

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016 ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce

Více

Funkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr

Funkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr Funkce pokročilé možnosti Úvod do programování 2 Tomáš Kühr Funkce co už víme u Nebo alespoň máme vědět... J u Co je to funkce? u Co jsou to parametry funkce? u Co je to deklarace a definice funkce? K

Více

: Teoretická informatika(ti)

: Teoretická informatika(ti) 460-4065: Teoretická informatika(ti) prof. RNDr Petr Jančar, CSc. katedra informatiky FEI VŠB-TUO www.cs.vsb.cz/jancar Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) 460-4065 1/ 25 Základní informace

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

Rekurze. Jan Hnilica Počítačové modelování 12

Rekurze. Jan Hnilica Počítačové modelování 12 Rekurze Jan Hnilica Počítačové modelování 12 1 Rekurzivní charakter úlohy Výpočet faktoriálu faktoriál : n! = n (n - 1) (n - 2)... 2 1 (0! je definován jako 1) můžeme si všimnout, že výpočet n! obsahuje

Více