Tvorba software a algoritmizace
|
|
- Daniel Vávra
- před 6 lety
- Počet zobrazení:
Transkript
1 Tvorba software a algoritmizace 1
2 Obsah Vývoj software Metodiky vývoje systémů Programování Algoritmizace Záznam a prvky algoritmu Příklady 2
3 Účel systému Systém je souborem souvisejících částí, které spolu vzájemně spolupracují za účelem splnění určitého cíle. Počítačový systém se skládá z: Hardware Software Lidí Procedur Dat 3
4 Kolik stojí vývoj software? 4
5 Kdo se podílí na vývoji software? Uživatelé Nový software musí být vždy vyvíjen ve spolupráci s uživateli, kteří ho budou používat Management Manažeři organizace, ve keré bude software nasazen, by měli konzultovat rozpočet a zdroje Technický personál Bude realizovat projekt, nebo spolupracovat na jeho vývoji Systémový analytik Informační specilista, který provádí systémovou analýzu, návrh a implementaci software 5
6 Proč vývoj software? Využití příležitosti (proaktivní přístup) Zvýšení příjmů podniku Snížení nákladů Získání konkurenční výhody Řešení problému (reaktivní přístup) Vyhnout se potížím Nařízení Pokyn k akci (shora od vedení) 6
7 Vývoj software: Vývoj software Aktivity, které vedou k tvorbě řešení softwarové aplikace nebo informačního systému, který řeší určitý problém nebo příležitost Doporučené postupy řešení aplikací a informačních systémů metodiky Většina ICT firem disponuje vlastními metodikami (např. IBM RUP, Unicorn ES,aj.), ale existují i standardní (ITIL, COBIT) nebo univerzitní metodiky 7
8 Životní cyklus vývoje software Aplikace prochází fázemi životního cyklu Každá fáze zahrnuje aktivity, které musí být vykonány při vzniku aplikace Fáze životního cyklu se opakují aplikace se dostává na vyšší úroveň, zahrnuje nové požadavky uživatelů, využívá moderní technologie, apod. 8
9 Fáze životního cyklu systému 1. Plánování a příprava 6. Užívání a údržba systému 2. Analýza systému 5. Implementa ce systému 3. Návrh systému 4. Vývoj systému Zdroj: Using Infromation Technology,
10 Fáze 1: Plánování a příprava Předběžná analýza Návrh alternativních řešení Interview se zaměstnanci Průzkum konkurence Volba, zda ponechat stávající systém, vylepšení nebo vývoj nového Náklady a přínosy Předložení předběžného plánu a doporučení Tištěná zpráva Pro další fázi je nezbytné schválení managementu 10
11 Fáze 2: Analýza systému Sběr dat Rozhovory s pracovníky a vedoucími Příprava, distribuce a analýza dotazníkového šetření Průzkum dokumentace k stávajícímu systému Pozorování současných pracovních postupů Analýza dat Modelování pomocí nástrojů (CASE) Diagram datových toků (DFD, Data Flow Diagram) znázornění průchodu dat systémem 11
12 Fáze 2: Analýza systému Sepsání zprávy Dokumentace funkcí k současnému systému Dokumentace potíží současného systému Záznam požadavků na nový systém Doporučení k dalším krokům Nutnost získat svolení vedení k dalšímu postupu 12
13 Data Flow Diagram (DFD) Příklad: internetový obchod 13
14 Fáze 3: Návrh systému Předběžný návrh Prototyp, návrh pomocí CASE nástrojů Detailní návrh: Požadavky na výstupy Požadavky na vstupy Požadavky na ukládání dat Požadavky na zpracování dat Systémové kontroly Záohování Písemná zpráva a schválení vedení pro další postup 14
15 Fáze 4: Vývoj systému Návrh nebozakoupení novéhosoftware Rozhodnutí zda koupit hotovéřešení nebo nechat vytvořit nový software Vlastní tvorba programování Pořízení nového hardware nebo upgrade Testování systému Testování modulů: testuje se výkon jednotlivých součástí Testování systému: moduly jsou propojeny a testovány, zda spolují dohromady; reálná data 15
16 Fáze 5: Implementace systému Volba strategie zavedení nového systému Přímá implementace: ukončení starého a zavedení novéhosystému ( ze dne naden ) Souběžná implementace: souběžně používáme starý a nový systém, dokud se nový systém spolehlivě neprověří Postupná implementace: části novéhosystému postupně nahrazujíčásti původníhosystému Pilotní implementace: ověření funkčnosti nového systému v menším rozsahu (např. Oddělení) Školení a trénink uživatelů 16
17 Fáze 6: Provoz a údržba systému Auditování systému a pravidelné hodnocení Provádění úprav systému dlenových požadavků Dokončení dokumentace Dokumentace by se měla vytvářet a aktualizovat v průběhu všech fází životního cyklu systému 17
18 Když se nepoužívá standardní metodika 18
19 Příběh softwarového projektu Jak zákazník popsal svoje přání Jak to pochopil vedoucí projektu Co navrhnul analytik Co stvořil programátor Co konzultant vylíčil zákazníkovi Dokumentace k systému Které funkce byly nainstalovány Co bylo zákazníkovi naúčtováno Jaká byla podpora uživatelů Co zákazník doopravdy chtěl 19 Zdroj: donationcoder.com
20 Programování 20
21 Programování Program je sada instrukcí, které vykonává počítač a tím zpracovává data na informace Programování patří do fáze č. 4 životního cyklu software 5 kroků: 1. Objasnění a definice zadání (úlohy) 2. Návrh programu 3. Kódování programu 4. Testování programu 5. Dokumentace a údržba programu 21
22 Programování krok 1: Objasnění zadání Nutno objasnit účel programu a jeho uživatele Požadované výstupy Požadované vstupy Jak má probíhat zpracování Ověření vhodnosti programu ( Skutečně se to vyplatí? ) Zpracování analýzy (písemně) 22
23 Programování krok 2: Návrh programu Tvorba algoritmu, nebo posloupnosti kroků vedoucích k řešení stanoveného zadání Strukturované programování: Logická posloupnost modulů Metoda shora-dolů (top-down approach) Hierarchické grafy Pseudokód Alternativa: objektové programování 23
24 Hierarchický graf 24 Zdroj: Using Infromation Technology, 2013.
25 Pseudokód 25 Zdroj: Using Infromation Technology, 2013.
26 Programování krok 2: Návrh programu (pokračování) Strukturované programování: Využívá řídící struktury: Sekvence (logická posloupnost jednotlivých kroků) Selekce (např. IF THEN ELSE) Iterace (cyklus), např. DO UNTIL / DO WHILE Znázornění v grafické podobě pomocí vývojových diagramů, strukturogramů 26
27 Programování krok 3: Kódování Převod grafického znázornění programu do programovacího jazyka Výběr programovacího jazyka Odlišnost programovacích jazyků v syntaxi, gramatických pravidlech Nutno dodržovat (syntaktické chyby syntax error) 27
28 Programování krok 4: Testování programu Syntaktické chyby (automaticky) Logické chyby (ručně) Debugging = proces identifikace, hledání a odstraňování všech syntaktických a logických chyb v počítačovém programu Beta testování programu na reálných datech V první fázi test na správných datech V druhé fázi test s nesprávnými daty běžní uživatelé hledají skryté chyby 28
29 Programování krok 5: Dokumentace a údržba programu Dokumentace je písemný popis programu, jeho funkcí a návod jak řešit problémy Uživatelská dokumentace pro uživatele (např. uživatelská příručka online, zabudovaná v programu, tištěná) Technická dokumentace pro správce ICT Programátorská dokumentace pro údržbu a rozvoj software (může být i ve zdrojovém kódu) 29
30 Strukturované programování Viz Programování - krok č. 2 30
31 v životě 31
32 v informatice 32
33 ALGORITMIZACE chci něco spočítat a/ rozmyslím si, jak postupovat b/ provedu výpočet podle vymyšleného postupu l ad a/ tvůrčí činnost, mohu vymýšlet různé strategie a hledat důvtipné triky l ad b/ mechanicky provádím výpočet: ani nemusím problému moc rozumět, ale musím pracovat pečlivě 33
34 ALGORITMUS Přesný návod či postup pro řešení daného typu úlohy V širším slova smyslu: jakýkoliv postup řešení (např. kuchyňský recept) V užším slova smyslu: postup splňující silnější požadavky (např. počítačový algoritmus) 34
35 Algoritmus - požadavky 1. mechanický lze ho provést i bez bližšího porozumění 2. diskrétní rozdělený na dílčí kroky 3. hromadný pro řešení celé třídy úloh (např. součin dvou celých čísel) 4. deterministický po každém kroku je určeno, který další krok bude následovat 5. konečný (rezultativní) postup skončí v konečném počtu kroků 6. správný pro přípustné vstupní údaje a po určitém počtu kroků se vždy dospěje k výsledku 35
36 Záznam algoritmu srozumitelný musí být jasné, co a jak řeší přehledný rychle uchopitelný dostatečně podrobný pro objasnění způsobu řešení dostatečně stručný detaily jsou matoucí slovním vyjádřením často nedokonalý popis grafem, obrázkem, schématem smluveným grafickým vyjádřením - vývojovým diagramem - plošným strukturogramem vhodně okomentovaným programem 36
37 Vývojový diagram vs. strukturogram předvolené směry činnost činnost činnost činnost činnost spojovací čáry hranice mezi plochami 37
38 Příklad algoritmu - 1 Nákup rohlíků v obchodě Jdi do obchodu Vezmi nákupní košík Dojdi k oddělení s pečivem Vezmi sáček Dej do něj rohlíky Co když mají zavřeno? Co když nemají rohlíky? Co když? Dojdi k pokladně Zaplať Vrať košík Ukliď rohlíky do tašky Odejdi z obchodu 38
39 Příklad algoritmu - 2 Výpočet povrchu kvádru Čti délku strany a Čti délku strany b Čti délku strany c S ab =a*b S bc =b*c S ac =a*c S=2*(S ab +S bc +S ac ) Co když uživatel zadá nulové délky stran a,b,c? Co když uživatel zadá zápornou délku strany? c Vypiš S ab, S bc, S ac Vypiš celkový povrch S a b 39
40 Základní prvky algoritmu 1. sekvence jednotlivý krok, prováděný vždy 2. selekce větvení, volba pokračování podle podmínky 3. iterace cyklus, opakované provádění podmíněno a) testem na začátku b) testem na konci 40
41 sekvence činnosti se provádějí v daném pořadí Sekvence činnost činnost činnost činnost činnost činnost činnost přiřazovací příkazy, volání podprogramů, 41
42 Sekvence - příklad Výměna obsahu dvou proměnných x = 3 y = 12 pom = x x = y y = pom čti x, y Sestrojte algoritmus, který načte dvě reálná čísla do proměnných x a y a prohodí jejich hodnoty. Proměnná 1. pojmenované místo operační paměti, které obsahuje data, jež mohou být měněna během zpracování algoritmu (programu) 2. místo v operační paměti, které začíná na určité adrese a má daný počet bytů 42
43 Selekce selekce výběr z možných pokračování podmínka ano ne podmínka ano ne příkaz_a příkaz_b příkaz_a příkaz_b if (podmínka) then příkaz_a else příkaz_b 43
44 selekce výběr z možných pokračování Selekce podmínka ne ano podmínka ne ano příkaz_a příkaz_a if (podmínka) then příkaz_a else nic 44
45 Selekce - příklad Dělení dvou čísel Ano Čti A, B Je B = 0? Ne Vypiš: Pokus dělit nulou! Podíl = A/B Vypiš podíl 45
46 zajímavost Vícenásobná selekce podmínka n default příkaz_a příkaz_b příkaz_c příkaz_n Příkaz_Z do case (podmínka) 1 příkaz_a 2 příkaz_b 3 příkaz_c... n příkaz_n default příkaz_z 46
47 iterace opakování Iterace s testem na začátku ne podmínka ano podmínka ano činnost činnost ne for (od ; pokud ; krok) činnost while (podmínka) činnost 47
48 Příklad Iterace s testem na začátku Příprava šálku kávy Ano Máš rychlovarnou konvici? Ne Vezmi konvici Nalij do ní 0,1 l vody Chceš uvařit více vody? Přidej 0,1 l vody Postav a zapni konvici Vezmi prázdný šálek Nasyp do šálku kávu Dokud není voda uvařená Čekej 30 vteřin Zalij šálek vodou Nelze připravit šálek kávy pomocí rychlovarné konvice 48
49 iterace opakování Iterace s testem na konci činnost poprvé vždy, dále při ano činnost podmínka podmínka ano ne ne do činnost while podmínka repeat činnost until podmínka 49
50 Příklad Iterace s testem na konci Skládání zkoušky na vysoké škole Dokud nejsi přihlášen(a) na termín Najdi nejbližší termín zkoušky Je termín volný? Ano Přihlas se na termín Pokus se složit zkoušku Ne Dokud není zkouška splněna s výsledkem <=3 Zkouška úspěšně splněna 50
51 Selekce vs. Iterace Selekce výběr z více možností; provádí se pouze jednou a neopakuje se Např. Je hodnota v proměnné a větší než 0? Pokud ano: přičti do a 1 ; pokud ne, odečti od a 1. Iterace činnost uvedená v bloku iterace se může opakovat více než jednou, dokud platí podmínka Např. Je hodnota v proměnné a větší než 0? pokud ano, odečti od a 1 a testuj znovu podmínku; pokud ne, přejdi k dalšímu kroku. 51
52 Počítačový software Uživatel zadává svoje požadavky počítačovému hardware prostřednictvím instrukcí v software Tyto instrukce musí být zapsány v podobě srozumitelné mikroprocesoru (CPU) - programování 52
53 Programování vs. algoritmizace Programování = proces tvorby (psaní) programu pomocí programovacího jazyka Algoritmizace = proces tvorby algoritmu (postupu řešení) Programování algoritmizace 53
54 Programovací jazyk Počítač (CPU) rozumí elektrickým signálům (bity) jazyk strojového kódu Příliš dlouhé a složité Programovací jazyk zápis instrukcí ve zkrácené podobě srozumitelné člověku Speciální program překladač převádí instrukce programovacího jazyka do strojového kódu 54
55 10 PRINT HELLO 20 END 55
56 Překlad zdrojového kódu programu 10 PRINT HELLO Překladač programovacího jazyka Zdrojový kód programu Zapsáno v BASIC, C, aj. Proces překládání zdrojového kódu Program ve strojovém kódu Obr: quantifactus.wcupa.edu/lab/mis/software.ppt 56
57 Souhrnné otázky 1. Vysvětlete rozdíl mezi algoritmizací a algoritmem. 2. Může algoritmus vzniknout a fungovat i bez použití počítače? Vysvětlete. 3. Uveďte alespoň 3 základní požadavky na algoritmus. 4. Vysvětlete rozdíl mezi požadavky na mechanický a hromadný algoritmus. 5. V čem se liší nákres algoritmu pomocí vývojového diagramu a pomocí plošného strukturogramu? 6. Co je to proměnná? 7. Vyjmenujte základní prvky algoritmu. 8. Uveďte příklad sekvence. Jaký je rozdíl mezi sekvencí a selekcí? 9. Vysvětlete rozdíly mezi selekcí a iterací? 10. K čemu slouží podmínka v iteraci? Kde se může nacházet? 11. Za jakých okolností dojde k opakování bloku činností v iteraci? Uveďte příklad. 12. Algoritmizujte úlohu naplnění 5 lahví vodou. Znázorněte pomocí plošného strukturogramu. 57
58 Souhrnné otázky 13. Z jakých důvodů dochází k vývoji software? Uveďte příklady. 14. Uveďte alespoň tři různé nástroje, které pomáhají efektivnějšímu vývoji software. 15. Co je to metodika vývoje software? Vysvětlete a uveďte příklad. 16. Co obnáší fáze životního cyklu software analýza a návrh? 17. Vysvětlete. Vysvětlete rozdíl mezi algoritmizací a programováním. 18. K čemu slouží programovací jazyk? 19. Jaká je úloha překladače zdrojového kódu při tvorbě programu? 58
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á
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
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:
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
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,
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ý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í
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
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Ý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
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í
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á
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
Ú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
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í
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
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
Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus
Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je
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
Ú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Ý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
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í
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
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
Algoritmy a datové struktury
Algoritmy a datové struktury 1 / 34 Obsah přednášky Základní řídící struktury posloupnost příkazů podmínka cyklus s podmínkou na začátku cyklus s podmínkou na konci cyklus s pevným počtem opakování Jednoduchá
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.........................
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
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,
Vstupní požadavky, doporučení a metodické pokyny
Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem
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í
Poslední nenulová číslice faktoriálu
Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip
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
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í
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ů,
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ý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ů.
Č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
Programovací jazyky Přehled a vývoj
Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování
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.
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ář
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
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ý
Basic256 - úvod do programování Příklady. ing. petr polách
Basic256 - úvod do programování Příklady ing. petr polách 1 Basic 256 input, print Př.: Vytvořte program pro součet dvou čísel: input "Zadej a: ", a input "Zadej b: ", b print a+b input "Zadej a: ", a
Větvení a cykly. Úvod do programování 1 Tomáš Kühr
Větvení a cykly Úvod do programování 1 Tomáš Kühr Konstrukce if u Příkazy se provádějí pouze při splnění dané podmínky u Podmínka = jakýkoli logický výraz = cokoli celočíselného u Volitelně i příkazy prováděné
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é
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
Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Podmíněný příkaz
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 Podmíněný příkaz
Informatika Algoritmy
Informatika Algoritmy Radim Farana Podklady předmětu Informatika pro akademický rok 2010/2011 Obsah Algoritmus. Vlastnosti algoritmu. Popis algoritmu. Hodnocení algoritmů. Příklady algoritmů. Algoritmus
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.
Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT
Škola Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Název sady Téma Anotace Autor Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram CZ.1.07/1.5.00/34.0556
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
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
2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st
1. IŘS, definice, třídění, projekt, životní cyklus IŘS systémy na zpracování získaných (naměřených) informací a jejich využití pro řízení IŘS : a) IS informační systémy systémy sběru a zpracování dat (hromadné),
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
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é
ALGORITMIZACE. Výukový materiál pro tercii osmiletého gymnázia
ALGORITMIZACE Výukový materiál pro tercii osmiletého gymnázia Možnosti zápisu algoritmů 1. Slovní vyjádření 2. Matematický zápis 3. Rozhodovací tabulky 4. Vývojové diagramy 5. Počítačové programy Slovní
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í
Ú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í
Implementace LL(1) překladů
Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu
1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu
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
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
10 Metody a metodologie strukturované analýzy
10 Metody a metodologie strukturované analýzy 10.1 Strukturovaná analýza DeMarco (1978) Nástroje: DFD, datový slovník, strukturovaná angličtina, rozhodovací tabulky a stromy Postup: 1. Analýza stávajícího
Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme
Smysl metodiky IS/IT Koncentrovaná zkušenost Checklist na nic nezapomeneme Přínosy metodik Větší produktivita a kooperace týmů Komunikační standard Specializace projektových týmů Nezávislost na konkrétních
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
Hodnoticí standard. Programátor (kód: M) Odborná způsobilost. Platnost standardu. Skupina oborů: Informatické obory (kód: 18)
Programátor (kód: 18-003-M) Autorizující orgán: Ministerstvo vnitra Skupina oborů: Informatické obory (kód: 18) Týká se povolání: Programátor Kvalifikační úroveň NSK - EQF: 4 Odborná způsobilost Název
Základy algoritmizace, návrh algoritmu
Základy algoritmizace, návrh algoritmu Algoritmus Předpoklady automatického výpočtu: předem stanovit (rozmyslet) přesný postup během opakovaného provádění postupu již nepřemýšlet a postupovat mechanicky
Funkce, podmíněný příkaz if-else, příkaz cyklu for
Funkce, podmíněný příkaz if-else, příkaz cyklu for Definice funkce Funkce je pojmenovaná část programu, kterou lze dále zavolat v jiné části programu. V Pythonu je definována klíčovým slovem def. Za tímto
V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2
Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky 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 rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
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é
1 Úvod 1.1 Vlastnosti programového vybavení (SW)
1 Úvod 1.1 Vlastnosti programového vybavení (SW) - dávkové zpracování - omezená distribuce - zakázkový SW - distribuované systémy - vestavěná inteligence - laciný HW - vliv zákazníka 1950 1960 1970 1980
Seminární práce Vývoj informačního systému. Manažerská informatika 2 Ing. Miroslav Lorenc
Seminární práce Vývoj informačního systému Manažerská informatika 2 Ing. Miroslav Lorenc Vypracoval: Jan Vít (xvitj17) LS 2007/2008 1. ÚVOD...3 1.1. POPIS PROJEKTU...3 2. OBSAH PROJEKTU...3 2.1. SEZNAM
Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)
Cykly Základy programování 1 Martin Kauer (Tomáš Kühr) Z minula Chary můžete používat jako znaky ale i jako čísla 0-255. Jakou formu vybrat záleží na konkrétní aplikaci. Když pracujete se znaky, používejte
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
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
NPRG030 Programování I RNDr.Tomáš Holan, Ph.D. 4.patro, č
NPRG030 Programování I RNDr.Tomáš Holan, Ph.D. 4.patro, č.404 http://ksvi.mff.cuni.cz/~holan/ Tomas.Holan@mff.cuni.cz NPRG030 Programování I, 2014/15 1 / 37 6. 10. 2014 11:42:59 NPRG030 Programování I,
Programování II. Modularita 2017/18
Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích
Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program
Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup
Algoritmizace a programování
Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba
2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování
1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy
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.
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á
DTP Základy programování Úvod do předmětu
DTP Základy programování 01 - Úvod do předmětu Úvod Co již umíte? Plán předmětu Studijní materiály Způsob ukončení předmětu Základní pojmy I. Řešený problém: Řešeným nebo zpracovávaným problémem je konkrétní
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
Programování v C++ 1, 1. cvičení
Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených
Algoritmizace a programování
Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba
PSK3-9. Základy skriptování. Hlavička
PSK3-9 Název školy: Autor: Anotace: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Základy skriptování v unixovém shellu Vzdělávací oblast: Informační a komunikační technologie
Inženýr IT a řídících systémů
Inženýr IT a řídících systémů Kdo to je: Inženýr IT a řídících systémů je vysoce kvalifikovaný pracovník, který komplexně stanovuje směry technického rozvoje řídících technologických systémů a nastavení
Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.
Virtuální počítač Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor Virtuální počítač Překladač Překladač : Zdrojový jazyk Cílový jazyk Analytická část:
PŘÍLOHA C Požadavky na Dokumentaci
PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé
Š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
Základy analýzy. autor. Jan Novotný http://blog.novoj.net/ 15. února 2007
Základy analýzy autor Jan Novotný http://blog.novoj.net/ 15. února 2007 V prezentaci jsou použity diagramy z: Wikipedia, Sparx UML Tutorial, Argo UML Metodiky vývoje Různé metodiky vývoje vazba na fáze
Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).
JAZYK PASCAL ÚVOD materiály pro studenty Jiráskova gymnázia v Náchodě (verze 2005-10-28) RNDr Jan Preclík, PhD preclik@gymnachodcz Jazyk Pascal byl navržen profesorem curyšské univerzity Niklausem Wirthem
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
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
Základní pojmy algoritmizace a programování ALGORITMUS INSTRUKCE STROJOVÝ KÓD VYŠŠÍ PROGRAMOVACÍ JAZYK ZDROJOVÝ KÓD KOMPILACE
Základní pojmy algoritmizace a programování ALGORITMUS INSTRUKCE STROJOVÝ KÓD VYŠŠÍ PROGRAMOVACÍ JAZYK ZDROJOVÝ KÓD KOMPILACE Algoritmus Předpis, jak řešit určitý problém (přesně určená konečná posloupnost
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
Identifikátor materiálu: ICT-4-01
Identifikátor materiálu: ICT-4-01 Předmět Téma sady Informační a komunikační technologie Téma materiálu Počítačové algoritmy Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí Počítačové
Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr
Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)