ALGORITMIZACE (c) 1999. Tralvex Yeap. All Rights Reserved.

Slides:



Advertisements
Podobné prezentace
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Advertisements

Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
1IT PVY Klasifikace programového vybavení Ing. Jiří Šilhán.
1 – Informatika Nauka (tj. věda) o informacích, tj. o zápisu (kódování (angl.)), přenosu (transfer (angl.)), zpracování (procesování (angl.)) informací.
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Algoritmy – struktura a zápis
Algoritmizace Vývojové diagramy.
Programovací jazyky Programovací jazyky jsou jazyky sloužící k tvorbě počítačových programů Dělení:  nižší  vyšší jazyky primitivní, jejichž instrukce.
ALGO – Algoritmizace 1. cvičení
Algoritmizace a programování Operátory a příkazy v Delphi - 07
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Algoritmizace 9. Ročník.
Algoritmizace a programování
1 Úvodní snímek slouží pro počáteční orientaci a jako návěští pro hypertextové odkazy. Při použití jako předlohy jej uživatel odstraní.
Instrukční soubor PIC16Fxxx osnova: Charakteristika instrukčního souboru Rozdělení instrukcí Časové průběhy (zpracování instrukcí)
Jazyk vývojových diagramů
Seminář – Základy programování
Algoritmizace.
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
Výukový program: Mechanik - elektrotechnik Název programu: Číslicová technika - mikroprocesory III. ročník Mikrořadiče Vypracoval : Vlastimil Vlček Projekt.
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
Algoritmizace a základy programování
Základy algoritmizace a programování
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Úvod do algoritmizace Obsah: Algoritmus, algoritmizace
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
Jazyk vývojových diagramů
KOMBINAČNÍ LOGICKÉ FUNKCE
Obchodní akademie, Náchod, Denisovo nábřeží 673
Informatika pro ekonomy II přednáška 10
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Možnosti modelování požadavků na informační systém
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
Algoritmizace a programování Vývojové diagramy - 03
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Algoritmizace a programování Algoritmizace – základní pojmy - 01
Databázové modelování
doc. RNDr. Zdeněk Botek, CSc.
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
Databázové systémy Informatika pro ekonomy, př. 18.
Algoritmy – jejich tvorba Střední odborná škola Otrokovice Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je ing. Jaroslav.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
doc. RNDr. Zdeněk Botek, CSc.
Visual Basic Úvod do programování. Co je to program  Program je řada příkazů, které určují počítači, co má provádět, jak má zacházet s vloženými daty.
11/2003Přednáška č. 41 Regulace výpočtu modelu Předmět: Modelování v řízení MR 11 (Počítačová podpora) Obor C, Modul M8 ZS, 2003, K126 EKO Předn./Cvič.:
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Úvod do databází zkrácená verze.
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Blokové schéma počítače.
Základy programování mikropočítačů První program v jazyce symbolických adres.
Algoritmizace a programování Algoritmy 1 - Úvod. Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis.
CZ.1.07/1.5.00/ Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/ Střední odborná škola elektrotechnická, Centrum odborné přípravy.
Algoritmizace a programování Algoritmy 2 – Vývojové diagramy (sekvence)
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 2: Základní pojmy Bc. Radek Libovický.
SOFTWAROVÁ PODPORA PRO VYTVÁŘENÍ FUZZY MODELŮ Knihovna fuzzy procedur Ing. Petr Želasko, VŠB-TU Ostrava.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Výukový materiál zpracován v rámci projektu
Základní pojmy v automatizační technice
Algoritmizace – základní pojmy
Základní pojmy v automatizační technice
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Vytváření dokumentace algoritmů
Informatika pro ekonomy přednáška 8
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Transkript prezentace:

ALGORITMIZACE (c) 1999. Tralvex Yeap. All Rights Reserved

ALGORITMUS ALGORITMUS JE POSTUP PRO ŘEŠENÍ URČITÉ ÚLOHY, KTERÝ V KAŽDÉM KROKU ŘÍKÁ, JAK DÁLE POSTUPOVAT. ALGORITMUS JE PŘESNÝ PŘEDPIS DEFINUJÍCÍ VÝPOČTOVÝ PROCES VEDOUCÍ OD MĚNITELNÝCH VÝCHOZÍCH ÚDAJŮ AŽ K ŽÁDANÝM VÝSLEDKŮM. A.A.MARKOV

ZÁKLADNÍ POŽADAVKY PRO ALGORITMUS A) DETERMINOVANOST – ALGORITMUS MUSÍ BÝT PŘESNÝ A SROZUMITELNÝ. V ŽÁDNÉ ETAPĚ ŘEŠENÍ NESMÍ PŘIPOUŠTĚT POCHYBY O TOM, CO JE TŘEBA V DANÉ ETAPĚ UDĚLAT A JAKÁ BUDE JEDNOZNAČNĚ NAVAZUJÍCÍ ETAPA, TJ. JAK POSTUPOVAT DÁLE. B) MASOVOST – ALGORITMUS MUSÍ BÝT POPISEM ŘEŠENÍ NIKOLIV JEDINÉ ŮLOHY, ALE CELÉ SKUPINY PŘÍBUZNÝCH ŮLOH LIŠÍCÍCH SE OD SEBE JEN VÝCHOZÍMI ŮDAJI. C) RESULTATIVNOST – MUSÍ VŽDY VÉST K JEDNOZNAČNÉMU VÝSLEDKU.

ALGORITMICKÉ JAZYKY JAZYKŮM, KTERÉ PŘEDSTAVUJÍ SOUHRN PROSTŘEDKŮ A PRAVIDEL ZPŮSOBILÝCH VYJADŘOVAT VÝPOČETNÍ ALGORITMY, ŘÍKÁME ALGORITMICKÉ JAZYKY. MEZI ALGORITMICKÉ JAZYKY ZAHRNUJEME : a) VÝVOJOVÉ DIAGRAMY; b) STRUKTUROGRAMY; c) ROZHODOVACÍ TABULKY; d) PROGRAMOVACÍ JAZYKY.

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Č.  

STRUKTUROGRAMY JSOU OBDOBOU VÝVOJOVÝCH DIAGRAMŮ, NEJSOU VŠAK NORMOU DEFINOVÁNY. PŘEDSTAVOVALY URČITÝ POKUS „ZHUTNIT“ GRAFICKOU INTERPRETACI VÝPOČETNÍHO POSTUPU. V PRAXI SE VŠAK NEUJALY A DNES JE JEJICH PRAKTICKÉ POUŽÍVÁNÍ BEZVÝZNAMNÉ.

ROZHODOVACÍ TABULKY ROZHODOVACÍ TABULKY BYLY DEFINOVÁNY ZEJMÉNA PRO ALGORITMIZACI ÚLOH SE SLOŽITÝM ROZHODOVÁNÍM V OBLASTI ZPRACOVÁNÍ HROMADNÝCH DAT. JSOU NÁSTROJEM K VYJÁDŘENÍ KOMPLEXNÍ LOGIKY ROZHODOVÁNÍ RELATIVNĚ JEDNODUCHÝM ZPŮSOBEM. V ROZHODOVACÍCH TABULKÁCH SE POSTUPNĚ ZNÁZORŇUJÍ VARIANTNÍ SÉRIE ČINNOSTÍ, KTERÉ SE MAJÍ PROVÉST PŘI RŮZNÝCH KOMBINACÍCH VÝCHOZÍCH PODMÍNEK.

PŘÍKLAD Do banky přijde klient, který žádá o půjčku. Bankovní úředník se musí rozhodnout za jakých podmínek žadateli půjčku poskytne, nebo zda mu jí vůbec poskytne. Rozhodovat by se měl podle toho, zda se jedná o nového klienta, nebo klienta, který již nějakou dobu s bankou spolupracuje, nebo o klienta s dlouhodobou spolupráci. Při tom bude hrát roli také výše požadované částky i chování klienta během předcházející spolupráce. Banka může při tom peníze zapůjčit bez jakýchkoliv doplňujících podmínek, nebo požadovat ručitele, či půjčku vůbec neposkytnout.

ŘEŠENÍ

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. PROGRAMOVACÍ JAZYKY MŮŽEME ROZDĚLIT NA DVA ZÁKLADNÍ TYPY : POČÍTAČOVĚ ORIENTOVANÉ A MAKROPROGRAMOVACÍ. PRVNÍ SE PAK NÁSLEDNĚ DĚLÍ NA STROJOVÝ KÓD A ASSEMBLERY, DRUHÉ PAK NA AUTOKÓDY A VYŠŠÍ PROGRAMOVACÍ JAZYKY.

STROJOVÝ KÓD Strojový kód je nejnižším programovacím jazykem, jehož syntaxe a sémantika je přímo přizpůsobena danému typu počítače. Program napsaný v tomto jazyce je pak možné použít jenom pro tento typ a je nepřenositelný na jiné typy počítačů. Jednotlivé instrukce strojového kódu jsou vyjádřeny číselně a s přímými odkazy na příslušné adresy v paměti počítače. Při tom je třeba vzít v úvahu i způsob adresování v paměti počítače. Každá instrukce pak obsahuje o p e r a č n í z n a k , udávající počítači jakou činnost má vykonat a informace o o p e randech se kterými tato činnost bude vykonána.

PŘÍKLAD Takže pro vytvoření součtu (čemuž odpovídá operační znak 18) dvou hodnot uložených na adresách značených pořadovými čísly 0117 a 0128 a uložení výsledku do buňky s adresou 0252 může být zápis této instrukce např. následující: 18 0252 0117 0128 Toto číslo se pak uloží v paměti počítače ve dvojkové soustavě ve tvaru: 10 010 000 011 111 100 000 001 110 101 000 010 000 000

ASSEMBLER Jinak také nazývaný jazykem symbolických adres. Tento jazyk odstraňuje podstatný nedostatek strojového kódu, když číselné instrukce a přímé odkazy na adresy nahrazuje definovanými symboly a symbolickými adresami ve formě písmenných zkratek. PŘÍKLAD: NAM VYPOCET jméno programu LDA X uložení obsahu buňky X do registru A LSA POM přesun obsahu registru A do buňky POM RMP POM vynásobení obsahu registru A s obsahem buňky POM (x2) a uložení výsledku zpět do registru A RMP POM vynásobení obsahu registru A s obsahem buňky POM (x3)

AUTOKÓDY Jsou programovací jazyky jejichž syntaxe a sémantika je již přizpůsobena běžnému zápisu matematických operací. Příkaz v nich nahrazuje obvykle 3 až 4 instrukce strojového kódu. Typickými představiteli těchto autokódů u nás byly autokódy MOST 1 a FP 13 pro počítače polské výroby řady ODRA a autokódy MAT (modifIkace 1 až 4) pro počítače sovětské výroby řady MINSK, které byly v tehdejší době u nás nejrozšířenější. Část programu pro výše uvedený příklad bude v autokódu MAT4 [5, 8, 9,] zapsán následujícím způsobem: M = z+0.5 součet hodnoty proměnné z a konstanty 0,5 a uložení výsledku do pomocné buňky MN = x*x umocnění hodnoty proměnné x a uložení výsledku do pomocné proměnné N N = N*N umocnění hodnoty proměnné N a zpětné uložení výsledku (x4) do téže proměnné N

VYŠŠÍ PROGRAMOVACÍ JAZYKY Jsou jazyky s výrazně propracovanou syntaxí, sémantikou a pragmatikou6. Zahrnují v sobě kromě toho i složité programové konstrukce - struktury a objekty. Vzhledem k obecnosti nejsou tyto jazyky vázané na žádný konkrétní typ počítače. Jeden příkaz tohoto jazyka odpovídá 4 až 10 a někdy i více strojovým instrukcím. Podobně jako u assemblerů a autokódů se transformace programu, napsaném v některém z těchto jazyků, provádí speciálním programem, nazývaným p ř ek la da č nebo k omp i l á t o r . V současné době se používají dva programovací jazyky vyššího typu. Jazyk 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 a programovací jazyk 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í).

STRUKTUROVANÉ PROGRAMOVÁNÍ Při strukturovaném programování se využívají tři základní typy jazykových konstrukcí: sekvence, podmínky a 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). 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). Při tom uživatel ani nepotřebuje znát vlastní algoritmus řešení, který byl v tomto objektu použit. Pro něj jsou podstatné jenom jeho vlastnosti a způsob jeho použití. 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.

End of Lecture Good Night.