Základy algoritmizace
|
|
- Blanka Müllerová
- před 8 lety
- Počet zobrazení:
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
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íceProgram 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íceAlgoritmizace 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íceLekce 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íceMaturitní 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íceProgramovací 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íceAlgoritmus. 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íceZá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íceAlgoritmizace 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 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íceVÝ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íceProgramovací 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íceLogické 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íceVyuč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ícePascal. 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 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íceAlgoritmizace. 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íceALGORITMIZACE 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íceProgramovací 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íceVÝ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íceMartin 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íceAlgoritmizace. 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íceVý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: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury
VíceMATURITNÍ 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íceVÝ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íceProfilová čá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íce1. 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íceMasarykova 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íceKrité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íce2. 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íce1. 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íce5 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ícePaměť 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íceMaturitní 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íceArchitektury 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íceII. Ú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 Pojem programovací jazyk Pod pojmem programovací jazyk rozumíme prostředek
VíceProfilová čá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íceAlgoritmizace- ú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íce6 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íceNá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íceVý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íceIB111 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íceZá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íceAlgoritmus. 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íceGymná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íceAlgoritmizace 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íceOperá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íce3 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íceZá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íceAlgoritmy 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íceVÝ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íceAlgoritmy 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íceAlgoritmizace 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íce1 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íceIB111 Ú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íceZÁ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íceKrité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ícefor (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íceObsah. 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íce2.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íce1.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íceVý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íceANOTACE 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íceAlgoritmizace 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íceAlgoritmizace 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íceAlgoritmizace 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íceVISUAL 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 Ří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íce1 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íceZá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íceTest 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íce24-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íceAlgoritmizace ř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íce6. 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íceInovace 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íceVyř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íceProgramovací 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íceAlgoritmizace 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íceNá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íceMaturitní 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íceSada 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íceVyhledá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íceVyhledá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ícePole 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íceC2115 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íceInovace 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ícePř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í 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íceProgramová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íceALGORITMIZACE 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íceZá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í
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íceI. 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íce1 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ícePrincip 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íceSada 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íceAlgoritmizace 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íceSada 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