Algoritmus.

Slides:



Advertisements
Podobné prezentace
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ý.
Advertisements

Algoritmizace Vývojové diagramy.
ALGO – Algoritmizace 1. cvičení
Algoritmizace 9. Ročník.
Vývojové diagramy a základy algoritmizace
Algoritmizace a programování
Seminář – Základy programování
Algoritmizace.
Informatika a práce s počítačem
Algoritmus po krocích rozepsaný návod k nějaké činnosti
Algoritmizace a základy programování
Základy algoritmizace a programování
Úvod do algoritmizace Obsah: Algoritmus, algoritmizace
Obchodní akademie, Náchod, Denisovo nábřeží 673
Algoritmizace a programování Vývojové diagramy - 03
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í.
ZÁKLADNÍ POJMY. ZDROJOVÝ TEXT PROGRAMU Tvoří: klíčová slova komentáře identifikátory.
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Algoritmizace a programování Algoritmy 4 – Vývojové diagramy (cykly)
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.
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 2: Základní pojmy Bc. Radek Libovický.
Základní pojmy v automatizační technice
Základní pojmy v automatizační technice
Úpravy algebrických výrazov
Úpravy algebrických výrazov
Vytváření dokumentace algoritmů
2018/6/10 Počítačový model Kateřina Růžičková.
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.
Lineárna funkcia a jej vlastnosti
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Zásoby ITMS kód projektu „Učíme inovatívne, kreatívne a hravo – učíme pre život a prax“ „Moderné vzdelávanie pre vedomostnú spoločnosť /
Rozdelenie a architektúra
BLOKOVÁ SCHÉMA POČÍTAČA
Elektronické testovanie matematickej gramotnosti
Pavol Nečas Gymnázium L. N. Senica Šk. rok 2008/2009 III.A
Ročné zúčtovanie dane za rok 2017
Seminárna práca z matematiky
Priama úmernosť ISCED 2.
TECHNICKÉ KRESLENIE KÓTOVANIE Ing. Mária Gachová.
Matematika 7. ročník Mgr. Libuše Horvátová ZŠ Clementisova
osnovy predmetu INFORMATIKA 4G
Čo je informatika? Je všeobecne veda o informáciách.
Kvalitatívne heuristiky
Operácie s mocninami s celočíselným mocniteľom
Počítač Počítač – je zariadenie alebo stroj na realizáciu výpočtov alebo riadenie operácií vyjadriteľných číselnými alebo logickými výrazmi. Počítače.
(Digitálny prezentačný materiál)
Základná schéma počítača
Algoritmus a problém predpokladom potreby algoritmu je existencia problému v prvých rokoch života je riešenie problémov postavené na iných základoch ako.
Dominika Vidovičová IX.B
Bloková schéma procesora
Úvod do programovania Ing. Eva Gabonayová 2012.
Základy algoritmizácie
Čo je PHP- PHP (PHP: Hypertext Preprocessor) je populárny open source (prístupné zdrojové kódy) skriptovací programovací jazyk Používa najmä na programovanie.
Grafické riešenie lineárnej rovnice
Obsah vyučovania Základné pojmy Výber učiva Usporiadanie učiva
Počtové operácie s celými číslami: sčítanie a odčítanie
Von Neumannova architektúra počítača
Algoritmus Konečná postupnosť príkazov v presne určenom poradí
Úvod do programovania automatizačných zariadení
Etapy riešenia problému
FUNKČNÉ ZÁVISLOSTI A NORMALIZÁCIA PRE RELAČNÉ DATABÁZY
DÁTOVÉ MODELOVANIE analýza a návrh informácií v systéme – oblasť modelovania a projektovania IS dôraz na logické entity a logické závislosti medzi týmito.
Neinformované procedúry
Informatika Adriana Petríková 1.A.
Hromadná korešpondencia
4. Algoritmy a programovanie v jazyku Pascal Cykly a riadenie
Transkript prezentace:

Algoritmus

Základné pojmy Algoritmus Program Programovanie - všeobecné pravidlá určujúce postupnú transformáciu vstupných údajov na výstupné - návod, ktorý určuje postup, ktorý vedie k riešeniu danej úlohy - postupnosť krokov vedúca k vyriešeniu úlohy Program - realizácia algoritmu - zápis algoritmu vo tvaru programu Programovanie - tvorba algoritmov a ich prepis do tvaru programu pomocou príkazov programovacieho jazyka

Základné vlastnosti algoritmov Hromadnosť tzn. Algoritmus je použiteľný na ľubovoľné vstupné údaje spĺňajúce požadované podmienky (Množina prípustných vstupných údajov = oblasť použitia algoritmu) Determinovanosť v každom kroku algoritmu musí byť jednoznačne dané, čo treba robiť; realizácia algoritmu nesmie byť podmienená inými podmienkami ako tými, ktoré sú v ňom uvedené, nesmie byť závislá od riešiteľa a prostredia, v ktorom sa algoritmus realizuje Rezultatívnosť transformácia predpísaná algoritmom dá po konečnom počte krokov výsledok

Načo algoritmizovať? život je algoritmus (resp. je zložený z algoritmov) moje vstávanie: zazvoní budík, otvorím pravé oko, udriem ho (budík), zatvorím pravé oko, o dvadsať minút sa strhnem, v zhone zhltnem raňajky bežím do práce na čo je dobrý popis algoritmu? vďaka popisu dokážeme vykonávaním algoritmu poveriť iného človeka alebo počítač vďaka vyjadreniu myšlienok sa nám problém stáva zrozumiteľnejším a sme schopní lepšie mu porozumieť

Algoritmizácia proces, ktorý pri zápise algoritmu vykonávame na začiatku vždy potrebujeme určiť: vstupné podmienky (napr. rozsah hodnôt, ktoré môžu do algoritmu vstupovať) výstupné podmienky (vlastnosti výsledku) Zadanie algoritmu zapisujeme: {VST: vstupné podmienky} ? {VÝS: výstupné podmienky} {VST: a, b, c : reálne čísla rôzne od 0} ? {VÝS: V – reálne číslo - objem}

Zápis algoritmov slovne (verbálne) textom štruktúrogram formalizované jazyky, ktoré sa od programovacích jazykov odlišujú použitím slov národného textom štruktúrogram zhutnená obdoba vývojových diagramov, ktorá však oproti vývojovým diagramom nie je definovaná normou vývojový diagram postupnosť činností popisovaná prostredníctvom grafických značiek a textu v nich v tvare programu formalizované algoritmické jazyky často založené na redukcii slov anglického jazyka rozhodovacie tabuľky popisujú zložitejšie problémy pozostávajú zo zoznamu podmienok, kombinácie podmienok, zoznamu činností a kombinácie činností – pre našu prácu nie sú vhodné

Algoritmizácia kroky algoritmu sa vykonávajú postupne za sebou, ak nie je explicitne dané iné poradie ak idem hľadať algoritmus konkrétnej úlohy, riešim tieto 2 otázky: vhodná štruktúra programu štruktúra programu programová štruktúra by mala korešpondovať s realitou, ktorú táto dátová štruktúra modeluje

Konštrukcia algoritmu tvorivý proces všeobecný návod na konštrukciu nejestvuje, ale existujú heuristiky (určité rady) získané skúsenosťami, ktoré proces tvorby algoritmu uľahčujú Postup konštrukcie algoritmu formulácia problému stanovenie cieľov tvorba idei a stratégie riešenia zápis vytvorených postupov overenie správnosti vytvorených postupov

Všeobecné stratégie tvorby algoritmu Dekompozícia rozdelenie problému na podproblémy, ktoré sú z určitého hľadiska jednoduchšie Abstrakcia proces, v ktorom na danej úrovni prvky problému zanedbáme alebo ukryjeme Vstupné údaje reprezentujú počiatočný stav problému Výstupné údaje tvoria množinu koncových stavov

Vývojový diagram Štart Stop Id:=hodnota Z = začiatok = K = zastavenie = = vstup, výstup Čítaj / Zobraz = priraďovací príkaz Id:=hodnota

= binárne vetvenie, podmienka - + = binárne vetvenie, podmienka For c:= ...; = cyklus s pevným počtom opakovaní Popis operácie = dopredu definovaná činnosť 1 1 = pokračovanie

Príkaz priradenia priradenie hodnoty výrazu na pravej strane do premennej na ľavej strane; typ premennej a výrazu musia byť kompatibilné znak priradenia := napr. p:=2*(x+Y) p:=2*(x+Y) Čítame : Premennej p priraď hodnotu výrazu 2*(x+Y)

Príkazy vstupu a výstupu tvar vstup(a1,..,an) – zo vstupného zariadenia sa prečíta n hodnôt a postupne sa priradia premenným a1,..,an. Výstup tvar výstup(b1,..,bn) – vytlačia sa výstupné údaje b1,..,bn vstup(a1,..,an) začiatok výstup(b1,..,bn) koniec

Podmienený príkaz Úplný podmienený príkaz + - vytvorený z dvoch príkazov, z ktorých sa podľa splnenia/nesplnenia vykoná jeden (tzv. binárne vetvenie)+PAB+-- Čítame: Ak platí P, vykonaj A, inak vykonaj B tvar: ak P tak A inak B P A B + -

Podmienený príkaz Neúplný podmienený príkaz ako úplný, ale chýba jedna vetva tzn. je vytvorený z jedného príkazu, ktorý sa realizuje ak podmienka platí; ak podmienka neplatí príkaz sa nerealizuje a pokračuje sa ďalej Čítame: tvar ak P tak A + P A -

Cyklus Cyklus s pevným počtom opakovaní opakované vykonávanie príkazu alebo sekvencie príkazov, explicitne alebo implicitne udaným počtom opakovaní Cyklus s pevným počtom opakovaní – počet opakovaní príkazu/príkazov je daný explicitne (pevne) Cyklus s podmienkou na začiatku – počet opakovaní príkazu/príkazov je explicitne daný s testom podmienky na začiatku pred časťou, ktorá sa má vykonávať Cyklus s podmienkou na konci – počet opakovaní príkazu/príkazov je daný implicitne s testom po časť, ktorá sa má opakovať

Cyklus s pevným počtom opakovaní počet opakovaní príkazu/príkazov je daný explicitne (pevne) + p:=i S p1:=j p:=p + 1 p  p1 - Čítame: pre p od i až po j opakuj S

Cyklus s podmienkou na začiatku počet opakovaní príkazu/príkazov je explicitne daný s testom podmienky na začiatku pred časťou, ktorá sa má vykonávať Podmienka Príkaz/sekvencia + - Čítame: Pokiaľ je splnená podmienka, opakuj príkaz/sekvenciu !Cyklus nemusí zbehnúť ani raz!

Cyklus s podmienkou na konci počet opakovaní príkazu/príkazov je daný implicitne s testom po časť, ktorá sa má opakovať Čítame: Opakuj A, až pokiaľ sa B nesplní /B neplatí !Cyklus je vždy vykonaný aspoň raz ! Príkaz /príkazy + - Podmienka

cena:=A*hlbka*hlbka+B Príklad Začiatok Deklaruj: Const A, B: integer; Var hlbka, cena:real; Čítaj hlbka Píš cena koniec cena:=A*hlbka*hlbka+B Zistite cenu studne, ak je daná takáto závislosť pre cenu studne: cena studne = 800*hĺbka studne^2 + 1000 Analýza : 800, 1000 sú konštanty Hĺbka studne - hlbka je nezávislá premenná Cena studne je závislá premenná Pri konštantách deklarujeme typ aj hodnotu