Základy algoritmizace

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

Download "Základy algoritmizace"

Transkript

1 Základy algoritmizace

2 Algoritmus Algoritmus je postup pro řešení určité úlohy, který v každém kroku říká, jak dále postupovat. ALGORITMUS MNOŽINA VSTUPNÍCH DAT transformace množiny vstupních dat na množinu výstupních dat MNOŽINA VÝSTUPNÍCH DAT Počítače a programování 1 2

3 Elementárnost Vlastnosti algoritmu Skládá se z konečného počtu jednoduchých (elementárních) činností (kroků). Determinovanost V každém kroku lze rozhodnout, jak se má pokračovat (a jestli nenastal konec). Konečnost Algoritmus vždy skončí po konečném počtu kroků. Rezultativnost Vede ke správnému výsledku (k nějakému ). Hromadnost Použitelný pro celou třídu podobných problémů. Opakovatelnost Pro stejné vstupy vždy stejný výstup. Souvisí s determinovaností a rezultativností. Počítače a programování 1 3

4 Algoritmické jazyky Představují souhrn prostředků a pravidel způsobilých vyjadřovat výpočetní algoritmy. Mezi algoritmické jazyky patří : vývojovédiagramy Představují normou (dnes již nadnárodní) definované symbolické značky a pravidla pro jejich používání, sloužící k jednoznačnému grafickému vyjadřování výpočetních operací a postupů. Vývojový diagram tak slouží jednak k popisu výpočetního algoritmu a zároveň jako podklad pro sestavení programu pro počítač. programovací jazyky Programovací jazyky jsou důsledně formalizované algoritmické jazyky, určené pro zápis algoritmu pro počítač. Zápis algoritmu v programovacím jazyku nazýváme program. počítačově orientované» strojový kód (závislý na typu procesoru, instrukce ve formě čísel)» assembler (jazyk symbolických adres) vyšší programovací jazyky Počítače a programování 1 4

5 Vyšší programovací jazyky Jazyky s výrazně propracovanou syntaxí. Zahrnují v sobě složité programové konstrukce - struktury a objekty. Vzhledem k obecnosti nejsou tyto jazyky vázané na žádný konkrétní typ počítače. Transformace programu, napsaném v některém z těchto jazyků, se provádí speciálním programem, nazývaným překladač (kompilátor). Počítače a programování 1 5

6 Vyšší programovací jazyky V současné době se používají dva programovací jazyky vyššího typu. PASCAL, který je užíván zejména ve školství jako jazyk vhodný pro výuku programování (umožňující tzv. strukturované programování) a jeho nadstavba DELPHI C, resp. C++, který nachází své uplatnění v komerční oblasti při vytváření systémového a aplikačního software (DELPHI a C++ pak zajišťující možnost tzv. objektově orientovaného programování). Počítače a programování 1 6

7 Strukturované programování Využívá tři základní typy jazykových konstrukcí: sekvence, podmínky cykly. Každá taková struktura má v zásadě jenom jeden vstup a jeden výstup. Tímto se při programování vyhýbáme nesledovatelným vazbám v programu, které u klasických programovacích jazyků vyplývají z používání příkazu nepodmíněného skoku (GOTO). Počítače a programování 1 7

8 Objektově orientované programování Objekty, nebo také komponenty, jsou předem vytvořené a plně funkční konstrukce (softwarové stavební díly) daného programovacího jazyka, které řeší některý dílčí problém nebo úkol. Úkolem uživatele je pak místo podrobného psaní programu, jenom vybrat vhodné objekty (často jenom pomocí myší) a tyto příslušným způsobem seřadit (uložit do formuláře). Navíc uživatel má možnost měnit některé vlastnosti těchto objektů, případně si některé objekty definovat a zkonstruovat sám. Počítače a programování 1 8

9 Historie programovacích jazyků

10 Pojem programovací jazyk Pod pojmem programovací jazyk rozumíme prostředek pro zápis programů, jež mohou být provedeny na počítači. V tomto smyslu je programovací jazyk komunikačním nástrojem mezi: uživatelem počítače, který jeho jazykovými prostředky specifikuje algoritmus řešení daného problému, a počítačem, jenž svými technickými prostředky algoritmus interpretuje a realizuje tak transformaci vstupních údajů na výstupní. Počítače a programování 1 10

11 Vývoj programovacích jazyků Vývoj programovacích jazyků určovaly a určují mnohé faktory; k nejzávažnějším z nich pravděpodobně patří: vývoj technických prostředků vývoj metod strojového překladu jazyků vývoj metod programování stále širší oblasti využívání počítačů Počítače a programování 1 11

12 Strojový jazyk V prvním období existence počítačů zastával roli programovacího jazyka výhradně strojový kód, nazývaný proto také strojový jazyk. Vyjadřovacími prostředky strojového jazyka jsou instrukce. Jejich sémantika je definována technickými prvky počítače. Nedostatky: závislost na konkrétním typu počítače velmi nízkáúroveň popisovaných akcí pro člověka nepohodlný číselný zápis instrukcí. V současné době je používání strojového jazyka jako nástroje programování zcela ojedinělé. Počítače a programování 1 12

13 Jazyky symbolických instrukcí Prvním krokem ve vývoji programovacích jazyků byla náhrada numericky kódované informace instrukcí strojového jazyka informací symbolickou. Vzniká tak důležitá třída programovacích jazyků - jazyky symbolických instrukcí. Překlad (kompilace) - počítačem realizovaná transformace určitého textu na text reprezentující program ve strojovém jazyce. Assembler -překladač jazyka symbolických instrukcí. Nevýhody: závislost na konkrétním typu počítače Výhody: rychlost překladu a zpracování přeloženého programu možnost programování na elementárních úrovních, která je v některých případech nepostradatelná a ve vyšším programovacím jazyce nedostupná (hodně se používá při vytváření programů operačního systému) Počítače a programování 1 13

14 Vyšší programovací jazyky Další vývoj směrem k vyšším programovacím jazykům sledoval dva cíle: odstranit strojovou závislost jazyků, vyžadující od programátora detailní znalosti strojového jazyka a znemožňující použití programů vypracovaných pro jeden typ počítače na počítači jiného typu poskytnout programátorům takové prostředky pro popis algoritmů, které odrážejí povahu řešených problémů, a nikoliv technickou realizaci výpočetních procesů na počítači Počítače a programování 1 14

15 Fortran Zahájil éru skutečných vyšších programovacích jazyků Ve své první podobě byl Fortran opravdu snadno naučitelným jazykem vedoucím k maximálně efektivnímu programu Programování přestalo být výsostnou doménu skupiny úzce specializovaných odborníků Fortran byl však původně jazykem určeným pro vědeckotechnické výpočty, proto nemohl vyřešit úplně všechno Pro vědeckotechnické výpočty se používá dodnes (Digital Fortran Compaq) Počítače a programování 1 15

16 Algol První programovací jazyk, který poskytoval ucelenou a jednotnou množinu jazykových prostředků pro popis algoritmů Byl to prvníprogramovacíjazyk, který obsahoval explicitnířídící příkazy pro reprezentaci posloupnosti příkazů, iteraci a výběr alternativ Počátky strukturovaného programování Značná složitost a obtíže spojené s jeho zvládnutím i implementací Malé rozšíření Řada myšlenek, které se zde objevily poprvé, se uplatnila při koncipování jazyků široce používaných v praxi Počítače a programování 1 16

17 COBOL Jazyk Cobol byl vyvinut společným úsilím výrobců a uživatelů počítačů ve spolupráci s ministerstvem obrany USA. Ve dnech se konala konference, jejímž cílem bylo uvážit různé aspekty zavedení společného jazyka pro programování elektronických počítačů. Konference rozhodla o zahájení tohoto projektu s tím, že jazyk byl měl umožňovat sestavení programů v minimálním čase s minimálním programovacím úsilím zápis programů v jazyce blízkém angličtině snadný převod programů na nové typy počítačů úplnou dokumentaci programu Počítače a programování 1 17

18 Lisp V roce 1960, kdy vznikl COBOL-60, také vznikl na MIT Lisp, první jazyk zcela nového typu. Je to tzv. funkcionální jazyk, který používá jako jediné řídící struktury funkce a jejich skládání. Přinesl i nové pojmy v oblasti rekurzivních datových struktur a stal se základem programů pro symbolické manipulace. AutoLisp programování v AutoCADu Počítače a programování 1 18

19 BASIC V původní podobě neobsahoval podprogramy v dnešním slova smyslu Nerozlišoval typy číselných proměnných K jeho popularitě přispěla: jednoduchost možnost interaktivní práce snadná implementace na mikropočítačích Počítače a programování 1 19

20 PASCAL Navazoval na ALGOL Navržen profesorem Niklausem Wirthem (Eidgenoessische Technische Hochschule Zurich) v roce 1971 pro potřeby výuky programování. Dnes má Pascal ve světě nejen dominantní postavení při výuce programování, ale velmi se používá i pro běžné programování. Konečný tvar normy jazyka byl vydán v 80. letech pod označením ISO Počítače a programování 1 20

21 Jazyk C Vyvíjel se společně s OS UNIX C-jazyk se v prapůvodní podobě nazýval B-jazyk (Thomson, Ritchie na PDP-7, 1970) C-jazyk je unikátní, neboť je jakési střední úrovně. Není to jazyk vysoké úrovně jako BASIC nebo PASCAL, Není to však ani jazyk nízké úrovně jako assembler. Jazyk C může pracovat na úrovni systému a umožňuje programátorovi napsat téměř všechno, co ho napadne (funkce assembleru). Navíc je C-jazyk dostatečně univerzální i pro aplikační programování (funkce jazyka vyšší úrovně). Největší předností jazyka C je jeho schopnost rozšiřovat sama sebe. Knihovny C-jazyka se snadno rozšiřují co do velikosti a je snadné napsat novou funkci, jakmile ji potřebuji. Počítače a programování 1 21

22 Algoritmizace úlohy Etapy řešení problému 1. Specifikace (vymezení) problému 2. Analýza problému 3. Sestavení algoritmu 4. Kódování (zápis) algoritmu 5. Testování algoritmu (u programů ladění) Počítače a programování 1 22

23 Úloha: Algoritmus - příklad Sestavit návod na čištění zubů ve formě algoritmu Cíl: Vyčištění zubů daného člověka Prostředky: zdravá osoba (ústa, zuby, pohyblivá ruka, ) zubní kartáček, zubní pasta, sklenička na vodu, umyvadlo Počítače a programování 1 23

24 Člověk s nevyčištěnými zuby Algoritmus - příklad ALGORITMUS ČIŠTĚNÍ ZUBŮ Příprava kelímku a čisticího kartáčku Vlastní čištění zubů Uklizení kelímku a kartáčku Člověk s vyčištěnými zuby Počítače a programování 1 24

25 Člověk s nevyčištěnými zuby Algoritmus - příklad ALGORITMUS ČIŠTĚNÍ ZUBŮ Příprava kelímku a čisticího kartáčku Vlastní čištění zubů Vytáhni kartáček a kelímek ze skříňky. Do kelímku nalej pitnou vodu. Na kartáček nanes pastu. Krouži kartáčkem postupně po všech zubech, asi 2 minuty. Vypláchni si ústa. Smyj zbytky pasty z kartáčku. Opět krouži 2 min. čistým kartáčkem po zubech. Vypláchni si ústa. Uklizení kelímku a kartáčku Umyj kartáček proudem vody. Vylij vodu z kelímku a vypláchni ho čistou vodou. Ukliď kelímek i kartáček do skříňky. Člověk s vyčištěnými zuby Počítače a programování 1 25

26 Člověk s nevyčištěnými zuby Algoritmus - příklad Příprava kelímku a čisticího kartáčku Vlastní čištění zubů Uklizení kelímku a kartáčku ALGORITMUS ČIŠTĚNÍ ZUBŮ Vytáhni kartáček a kelímek ze skříňky. Do kelímku nalej pitnou vodu. Na kartáček nanes pastu. Otevři skříňku. Je tam kelímek? Ne konec Ano pokračuj Pusť kohoutkem vodu. Krouži kartáčkem postupně po všech zubech, asi 2 minuty. Teče? Vypláchni si ústa. Smyj zbytky pasty z kartáčku. Ne konec Opět krouži 2 min. čistým kartáčkem po zubech. Ano pokračuj Vypláchni si ústa. Natoč do ¾ kelímku vodu. Zavři kohoutkem vodu. Umyj kartáček proudem vody. Vylij vodu z kelímku a vypláchni ho čistou vodou. Zavři skříňku. Ukliď kelímek i kartáček do skříňky. Člověk s vyčištěnými zuby Počítače a programování 1 26

27 Základní prvky algoritmu I Při vytváření a popisu algoritmu používáme základní prvky, znichžse algoritmus skládá: začátek algoritmu počáteční bod, od nějž začíná zpracování konec algoritmu konečný bod, na němž po vytvoření výsledků zpracování dále nepokračuje, ukončuje algoritmus kroky algoritmu jednotlivé přesně vymezené a oddělené operace, které předepisují úkony, prováděné s proměnnými podprogramy předem definované části algoritmu, které figurují v algoritmu jako jeden krok, ale mají svou vlastní strukturu Počítače a programování 1 27

28 Základní prvky algoritmu II podmínka binární relace, případné zřetězení více relací pomocí logických spojek. Výsledkem vyhodnocení podmínky je hodnota TRUE (pravda) = podmínka je splněna nebo FALSE (nepravda) = podmínka není splněna. rozhodování postup, kdy na se základě vyhodnocení podmínky provádí větvení algoritmu. Při splněné podmínce se provádí jedna sekvence kroků, při nesplněné podmínce jiná sekvence krokù. sekvence posloupnost kroků po sobě jdoucích v uvedeném pořadí cyklus opakování kroku nebo sekvence kroků nula-krát až n- krát, dokud je (nebo není) splněna podmínka cyklu. skok přerušení přirozené posloupnosti průchodu algoritmem a přenesení zpracování na jiné místo označené návěštím. [nehodí se pro strukturované programování] Počítače a programování 1 28

29 Příklad vyhledání max. nebo min. hodnoty Počítače a programování 1 29

30 Datové struktury Proměnné: symbolicky pojmenované údaje, které se při zpracování nahradí konkrétními hodnotami (texty, čísla, obrázky, schémata, počítačové soubory dat). Proměnné mohou být vstupní, pracovní a výstupní. Identifikátor: námi zvolené pojmenování proměnné Datový typ: určuje množinu hodnot, kterých může proměnná nabýt a množinu operací, které lze s proměnnými daného typu provádět (rovněž určuje, kolik místa proměnná zabere v paměti). Zavedení proměnné Odhadnu, jaký datový typ budu pro danou proměnnou potřebovat (odvíjí se od řešené úlohy - rozsah, přesnost) Příklad: mezivýsledek výpočtu obsahu plošného útvaru zvolím reálné číslo pořadí pokusu zvolím celočíselný typ Proměnnou názorně pojmenuji, tj. zvolím identifikátor Příklad obsah_kruhu CisloPokusu NIKOLIV x NIKOLIV i Počítače a programování 1 30

31 Řídicí struktury jednoduché příkazy Přiřazovací příkaz MojePromenna = 12.6 Přiřazovaný výraz Identifikátor proměnné (v plovoucí řádové čárce) Operátor PŘIŘAZENÍ MojePromenna = (10 * 2) / 4 Složený výraz může obsahovat číselné konstatnty, závorky ( ), operátory + - * / Složený výraz může obsahovat další proměnné MojePromenna = (10 * obvod) / pocet MojePromenna = MojePromenna Přiřazovací příkaz může obsahovat ve výrazu napravo tutéž proměnnou jako nalevo Počítače a programování 1 31

32 Řídicí struktury jednoduché příkazy Operace vstupu Prozatím potřebujeme pouze možnost vstupu dat z klávesnice Načti MojePromenna Na příkazu Načti se algoritmus přeruší a očekává vstup hodnoty příslušné proměnné. Více proměnných: Načti p1, p2, x Počítače a programování 1 32

33 Řídicí struktury jednoduché příkazy Operace výstupu potřebujeme pouze možnost vypsat na obrazovku obsah proměnné Vypiš MojePromenna Příkaz Vypiš vypíše obsah specifikované proměnné. Možnost výpisu řetězce jako komentáře: Vypiš Obsah proměnné x je, x Počítače a programování 1 33

34 Řídicí struktury složené příkazy 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í předchozího příkazu. Př. Nakreslete vývojový diagram algoritmu pro výpočet obvodu kruhu. Poloměr kruhu bude zadán z klávesnice, výsledek vypište na obrazovku. start Načti polomer P1 obvod = 2 * * polomer P2 Vypiš obvod stop Počítače a programování 1 34

35 Řídicí struktury složené příkazy Selekce (podmínka, větvení) Provedení dalšího kroku závisí (je podmíněno) splněním podmínky. + Podm - Numerický zápis podmínky: P1 P2 Polomer <= Relační operátory == je rovno ~= není rovno > větší než < menší než <= menší nebo rovno >= větší nebo rovno Logické operátory & and (logický součin) or (logický součet) ~ not (negace) Počítače a programování 1 35

36 Podmíněný příkaz Př. Ošetření vstupu v předchozím příkladu start Načti polomer Polomer > obvod = 2 * * polomer Vypiš obvod Vypiš chybny polomer stop Počítače a programování 1 36

37 Přepínač Struktura je určena pro vícenásobné větvení programu. Podle hodnoty klíče K dojde k přepnutí na příslušnou spojku K i se stejnou hodnotou a vykonání sekvence S i. V případě, že ani jedna hodnota spojky nemá hodnotu klíče, celá struktura se obejde a pokračuje se následnými operacemi za tímto přepínačem. Počítače a programování 1 37

38 Cykly cyklus opakovaně prováděná část algoritmu tělo cyklu opakující se kroky uvnitř cyklu typy cyklů: nekonečný s řídicí podmínkou před tělem s řídicí podmínkou za tělem s pevným počtem opakování indukční iterační Počítače a programování 1 38

39 Cyklus s podmínkou před tělem Konvence: K ukončení dojde v případě, že řídicí podmínka není splněna. Cykly Podm + P1 - Důsledek: Tělo cyklu se nemusí vykonat ani jednou. Pn Cyklus s podmínkou za tělem Stejná konvence: K ukončení dojde v případě, že řídicí podmínka není splněna. P1 Pn Důsledek: Tělo cyklu se vykoná alespoň jednou. + Podm - Počítače a programování 1 39

40 Příklad Start Algoritmus pro výpočet aritmetického průměru N celých čísel. (N>=1) Načti počet čísel, N Vysledek = 0 P = 0 Načti a Vysledek = Vysledek + a P = P P < N Vysledek = Vysledek / N Tiskni prumer =, Vysledek Stop Počítače a programování 1 40

41 Cyklus s pevným počtem opakování - for výraz_start Pvýraz_stop o d m + P 1 typicky inicializace řídicí proměnné (ř.p.) ukončovací podmínka s ř.p. - výraz_start; výraz_stop; výraz_iter P 1 výraz_iter P n Iterace pro ř.p. Počítače a programování 1 41

42 Cyklus s pevným počtem opakování - for Algoritmus pro výpočet aritmetického průměru N celých čísel. (N>=1) Z Načti počet čísel, N Vysledek = 0 L = 1 ; L<=N ; L=L+1 Načti a Vysledek = Vysledek + a Vysledek = Vysledek / N Tiskni prumer =, Vysledek Počítače a programování 1 42 K

43 Vícenásobně vnořené cykly + Podm 1 Podm 2 Podm 3 + Počítače a programování 1 43

44 START VÝVOJOVÝ DIAGRAM PRO URČENÍ n-té MOCNINY ČÍSLA ČTI X ČTI n Z=0 Y=1 - Z<n + Y=Y*X Z=Z+1 PIŠ Y STOP Počítače a programování 1 44

45 Pole kolekce prvků stejného datového typu prvky = normální proměnné Př. A = [ ] přístup k jednotlivým prvkům pomocí tzv. indexu (typicky celé nezáporné číslo) konvence zápisu: nazev_pole (index_prvku) Př. A(3) (má hodnotu 8,1 z předchozího příkladu) index_prvku. 1 až dimenze_pole Počítače a programování 1 45

46 Př.: Pole mám pole s identifikátorem y, které obsahuje 6 prvků celočíselného typu: y = y(1), y(2), y(3), y(4), y(5), y(6) korektní použití prvků: h = y(2) / 4 + (y(0) y(5)) y(4) = h * y(4) y(1) j = 4 y(j)= h * y(j-2) y(1) nekorektní použití: např. y(8) y = 7 indexem může být celočíselná proměnná resp. jakýkoliv výraz s celočíselným výsledkem Počítače a programování 1 46

47 Pole Př.: Je dáno pole y, které obsahuje N celých čísel. Napište algoritmus, který spočte a vypíše počet záporných prvků tohoto pole. Z poc = 0 L = 0 ; L<N ; L=L+1 - Y(L) < 0 + poc = poc + 1 Tiskni poc K Počítače a programování 1 47

48 Vícerozměrná pole jednorozměrné pole - vektor prvkem pole může být jiné pole vícerozměrná pole dvourozměrné pole ( pole polí ) matice Matlab >>A=[1 2 ; 3 4] nebo >>A= A = Počítače a programování 1 48

49 Metody řazení prvků BUBBLE SORT - bublinkové třídění Jednotlivé prvky při něm doslova probublávají tak, že výsledkem je balík setříděných dat. Principem BUBBLE SORTu je porovnávání sousedních prvků (podtrženo) a jejich případné prohození podle toho, jak chceme data třídit (vzestupně/sestupně). Probublávání se musí většinou několikrát opakovat a končí tehdy, kdyžpři průchodu celou množinou nedošlo k výměně. Seřaďte sestupně vektor a, výsledek vložte do b: a = [ ] a = [max... min] a = [ ] a = [ ] provedena záměna a = [ ] provedena záměna a = [ ]. opakuj do konce vektoru Byla provedena nějaká záměna? ANO: probublej znovu stylem NE: seřazená posloupnost - výsledek Počítače a programování 1 49

50 function [b]=bub_sort(a) BUBBLE SORT delka=length(a); zamena=1; (libovolne nenulové číslo proběhnutí cyklu s podmínku alespoň jednou!) while zamena ~= 0 zamena=0; for i = 1 : delka-1 if a(i)<a(i+1) end; end; end; b=a; a(i:i+1)=[a(i+1) a(i)] % prohozeni prvku s indexy i a i+1 zamena=zamena+1; Počítače a programování 1 50

51 Metody řazení prvků SELECT SORT Pracuje tak, že vyhledá ve skupině prvků minimum nebo maximum podle toho, jestli chceme třídit vzestupně nebo sestupně, a umístí jej na první místo ve skupině. Proces se opakuje, přičemž velikost tříděného úseku se zmenšuje. Seřaďte sestupně vektor a, výsledek vložte do b: a = [ ] a = [max... min] a = [ ] max=9 b= [ 9 ] a = [ ] max=7 b = [ 9 7 ] a = [ ] max=6 b = [ ] a = [ ] max=5 b = [ ] Počítače a programování 1 51

52 SELECT SORT function [b]=sel_sort1(a); delka=length(a); for i=1 : delka-1 for j=i+1 : delka if a(i)<a(j) pom=a(i); a(i)=a(j); a(j)=pom; end; end; end; b=a; function [b]=sel_sort2(a) delka=length(a); for i = 1 : delka cast_max=max(a); pom=find(a==cast_max) b(i)=cast_max; a=[b a(1:pom-1) a(pom+1:end)]; cast_max=0; end; Počítače a programování 1 52

53 Metody řazení prvků INSERT SORT - Též nazývána metodou přímého zakládání. Data se rozdělí na "setříděnou" a nesetříděnou část a pak se jednotlivé prvky z nesetříděné části zakládají na příslušné místo do setříděné části. (Tato metoda je nejsložitější na algoritmizaci. Složitost vyplývá z posunu více prvků najednou při zakládání do "setříděné" části). Jiné Počítače a programování 1 53

54 Pravidla pro přepis vzorců p q každý zlomek ve tvaru zapíšeme jako podíl p/q výraz p napíšeme jako sqrt(p) q p q p obecné mocniny a napíšeme jako p^q a p^(1/q) mocniny funkcí sin 2 p napíšeme jako (sin (p))^2 Počítače a programování 1 54

55 Počítače a programování 1 55 Příklady přepisu vzorců (a+b)/(c-d) d c b a + 2 e b d c a + + (a+c/d)/(b+e^2) 5 * y x e d c b a (a+((b+c)/(d+e))*sqrt(x+y))^(1/5) d c b a + * (a*b)/(c+d) h g f e d c b a a+(b/(c+(d/(e+(f/(g+h))))))

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost Programování Algoritmus návod na vykonání činnosti, který nás od (měnitelných) vstupních dat přivede v konečném čase k výsledku přesně definovaná konečná posloupnost činností vedoucích k výsledku (postup,

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

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Algoritmus Daniela Szturcová Tento

Více

Lekce 01 Úvod do algoritmizace

Lekce 01 Úvod do algoritmizace Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů Lekce 01 Úvod do algoritmizace Tento projekt CZ.1.07/1.3.12/04.0006 je spolufinancován Evropským sociálním

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

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

Základy algoritmizace

Základy algoritmizace Algoritmus Toto je sice na první pohled pravdivá, ale při bližším prozkoumání nepřesná definice. Například některé matematické postupy by této definici vyhovovaly, ale nejsou algoritmy. Přesné znění definice

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Algoritmus Daniela Szturcová Tento

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

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

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

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

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

Úvod. Programovací paradigmata

Úvod. Programovací paradigmata .. Úvod. Programovací paradigmata Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Cíl: programování efektivně a bezpečně Programovací techniky

Více

Algoritmizace. Obrázek 1: Přeložení programu překladačem

Algoritmizace. Obrázek 1: Přeložení programu překladačem Algoritmizace V každém okamžiku ví procesor počítače přesně, co má vykonat. Pojmem procesor se v souvislosti s algoritmy označuje objekt (např. stroj i člověk), který vykonává činnost popisovanou algoritmem.

Více

ALGORITMIZACE Příklady ze života, větvení, cykly

ALGORITMIZACE Příklady ze života, větvení, cykly ALGORITMIZACE Příklady ze života, větvení, cykly Cíl kapitoly: Uvedení do problematiky algoritmizace Klíčové pojmy: Algoritmus, Vlastnosti správného algoritmu, Možnosti zápisu algoritmu, Vývojový diagram,

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

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

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

Algoritmizace. 1. Úvod. Algoritmus

Algoritmizace. 1. Úvod. Algoritmus 1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá

Více

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

Výukový materiál zpracován v rámci projektu EU peníze školám Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ. 1.07/1.5.00/34.0637 Šablona III/2 Název VY_32_INOVACE_39_Algoritmizace_teorie Název školy Základní škola a Střední

Více

Č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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

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

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

2. lekce Algoritmus, cyklus Miroslav Jílek

2. lekce Algoritmus, cyklus Miroslav Jílek 2. lekce Algoritmus, cyklus Miroslav Jílek 1/36 Algoritmus 2/36 Algoritmus je konečná posloupnost operací, která dává řešení skupiny problémů 3/36 Algoritmus je konečná posloupnost operací, která dává

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

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

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Architektury počítačů a procesorů

Architektury počítačů a procesorů Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní

Více

II. Úlohy na vložené cykly a podprogramy

II. Úlohy na vložené cykly a podprogramy II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.

Více

Úvod do jazyka C. Zdroje: Herout: Učebnice jazyka C, Kopp, České Budějovice, 2001 Schildt H: Nauč se sám C, Softpress, Praha, 2001

Úvod do jazyka C. Zdroje: Herout: Učebnice jazyka C, Kopp, České Budějovice, 2001 Schildt H: Nauč se sám C, Softpress, Praha, 2001 Úvod do jazyka C Zdroje: Herout: Učebnice jazyka C, Kopp, České Budějovice, 2001 Schildt H: Nauč se sám C, Softpress, Praha, 2001 Pojem programovací jazyk Pod pojmem programovací jazyk rozumíme prostředek

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Algoritmizace- úvod. Ing. Tomáš Otáhal

Algoritmizace- úvod. Ing. Tomáš Otáhal Algoritmizace- úvod Ing. Tomáš táhal Historie 9. století perský matematik a astronom Mohammed Al-Chorezím v latinském přepise příjmení= algoritmus Nejstarší algoritmus Euklides řecký matematik, 4. století

Více

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní

Více

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu: Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný

Více

Vývojové diagramy 1/7

Vývojové diagramy 1/7 Vývojové diagramy 1/7 2 Vývojové diagramy Vývojový diagram je symbolický algoritmický jazyk, který se používá pro názorné zobrazení algoritmu zpracování informací a případnou stručnou publikaci programů.

Více

IB111 Programování a algoritmizace. Programovací jazyky

IB111 Programování a algoritmizace. Programovací jazyky IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím

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

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Algoritmus Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Klíčové pojmy: Algoritmus, vlastnosti algoritmu, tvorba algoritmu, vývojový diagram, strukturogram Algoritmus

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 1 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:

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

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2 * násobení maticové Pro čísla platí: Pro matice - násobení inverzní maticí inv inverzní matice A -1 k dané matici A je taková matice, která po vynásobení s původní maticí dá jednotkovou matici. Inverzní

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

Základy algoritmizace a programování. Manažerské informační systémy

Základy algoritmizace a programování. Manažerské informační systémy Základy algoritmizace a programování Manažerské informační systémy Algoritmus Popis pracovního postupu, kterým lze řešit určitou skupinu úloh Může být popsán mnoha různými způsoby např. slovním popisem,

Více

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19 Algoritmy I Cvičení č. 2, 3 1 ALG I, informace Cvičící RNDr. Eliška Ochodková, Ph.D., kancelář EA439 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející doc. Mgr. Jiří Dvorský, Ph.D., kancelář

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

Algoritmy a algoritmizace

Algoritmy a algoritmizace Otázka 21 Algoritmy a algoritmizace Počítačové programy (neboli software) umožňují počítačům, aby přestaly být pouhou stavebnicí elektronických a jiných součástek a staly se pomocníkem v mnoha lidských

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

1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata

1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata 1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata Studijní cíl Tento první blok celého kurzu zaměřen na zvládnutí základních pojmů z oblasti programování a

Více

IB111 Úvod do programování skrze Python Přednáška 13

IB111 Úvod do programování skrze Python Přednáška 13 IB111 Úvod do programování skrze Python Přednáška 13 Programovací jazyky Nikola Beneš 14. prosinec 2016 IB111 přednáška 13: programovací jazyky 14. prosinec 2016 1 / 21 Osnova dnešní přednášky Programovací

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 12 0:40 UML unifikovaný modelovací jazyk Zkratka tohoto

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

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

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5 Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou

Více

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5 Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5

Více

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -

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

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

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

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Vývojové diagramy Daniela Szturcová

Více

VISUAL BASIC. Přehled témat

VISUAL BASIC. Přehled témat VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat

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

1 Základy algoritmizace a programování. 1.1 Algoritmus. 1.1.1 Možnosti zápisu algoritmů. Základy algoritmizace a programování

1 Základy algoritmizace a programování. 1.1 Algoritmus. 1.1.1 Možnosti zápisu algoritmů. Základy algoritmizace a programování 1 Základy algoritmizace a programování 1.1 Algoritmus Algoritmus je posloupnost operací, která řeší daný úkol v konečném počtu kroků. Je to přesný postup, který je potřeba k vykonání určité činnosti. Jinak

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

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

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

Algoritmizace řazení Bubble Sort

Algoritmizace řazení Bubble Sort Algoritmizace řazení Bubble Sort Cílem této kapitoly je seznámit studenta s třídícím algoritmem Bubble Sort, popíšeme zde tuto metodu a porovnáme s jinými algoritmy. Klíčové pojmy: Třídění, Bubble Sort,

Více

6. Příkazy a řídící struktury v Javě

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Třídění dat. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_26 04

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Třídění dat. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_26 04 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Třídění dat Autor:

Více

Vyřešené teoretické otázky do OOP ( )

Vyřešené teoretické otázky do OOP ( ) Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika

Více

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Programovací jazyk - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Odlišnosti implementace od normy - odchylky např.: nepovinná hlavička programu odlišná

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Náplň v.0.03 16.02.2014 - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Spojení dvou samostatně setříděných polí void Spoj(double apole1[], int adelka1, double

Více

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software. Maturitní témata IKT, školní rok 2017/18 1 Struktura osobního počítače Von Neumannova architektura: zakreslete, vysvětlete její smysl a popište, jakým způsobem se od ní běžné počítače odchylují. Osobní

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 01. Základní pojmy a principy programování Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání 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) Vyhledávání 201 / 344 Osnova přednášky

Více

Pole a kolekce. v C#, Javě a C++

Pole a kolekce. v C#, Javě a C++ Pole a kolekce v C#, Javě a C++ C# Deklarace pole typ_prvku_pole[] jmeno_pole; Vytvoření pole jmeno_pole = new typ_prvku_pole[pocet_prvku_pole]; Inicializace pole double[] poled = 4.8, 8.2, 7.3, 8.0; Java

Více

C2115 Praktický úvod do superpočítání

C2115 Praktický úvod do superpočítání C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:

Více

Překladač a jeho struktura

Překladač a jeho struktura Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice

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

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Příkaz switch Příkaz switch provede příslušnou skupinu příkazů na základě hodnoty proměnné (celočíselné

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 19. září 2011 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Doporučená literatura web: http://marian.fsik.cvut.cz/zapg

Více

ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování

ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování 4.8.16. Úvod do programování Vyučovací předmět Úvod do programování je na naší škole nabízen v rámci volitelných předmětů v sextě, septimě nebo v oktávě jako jednoletý dvouhodinový kurz. V případě hlubšího

Více

I. ZÁVĚREČNÁ ZPRÁVA PROJEKTU

I. ZÁVĚREČNÁ ZPRÁVA PROJEKTU I. ZÁVĚREČNÁ ZPRÁVA PROJEKTU IGA číslo projektu C_VŠCHT_2015_ ifis číslo projektu 445-17-5642 Název projektu Řešitel Inovace a modernizace předmětu Úvod do programování a algoritmů Ing. Jana Finkeová,

Více

1 Strukturované programování

1 Strukturované programování Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ.1.07/2.2.00/28.0118 1 Cíl Seznámení s principy strukturovaného programování, s blokovou strukturou programů,

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 04. Datové typy, operace, logické operátory Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 07. Základní příkazy vstup a výstup hodnot Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více