Algoritmus Konečná postupnosť príkazov v presne určenom poradí

Slides:



Advertisements
Podobné prezentace
ZAL – 5. cvičení Martin Tomášek Pole - opakování Základní datový typ. V poli držíme více elementů (jednoho typu) S elementy v poli můžeme manipulovat.
Advertisements

Sčítanie a odčítanie výrazov
Algoritmizace - opakování
Algoritmizace - opakování
Financováno z ESF a státního rozpočtu ČR.
TM40 Dotyková klávesnica
Využitie vlastností kvapalín
ODBYT registračné pokladnice: kontrola stavu hotovosti
Von  Neumannov  počítač Gymnázium Š. Moysesa, Moldava nad Bodvou.
Pojmy súvisiace s podnikom a podnikaním
SOFTVÉR Programové vybavenie počítača
Powerpoint v edukačnom procese
Monika Smoroňová ZŠ Rozhanovce V. A
Daňová sústava Slovenska
STAVEBNÝ DENNÍK V zmysle Stavebného zákona č. 50/1976 Zb. v znení neskorších predpisov - §46d.
ÚČTOVNÍCTVO Časové rozlíšenia.
SYSTÉMY SIEŤOVÉHO PLÁNOVANIA Metóda CPM
Tolerancie rozmerov Kód ITMS projektu:
REALIZÁCIA PROGRAMU 3. etapa tvorby programu
Množiny.
L1 cache Pamäť cache.
„Brutácia“ nepeňažného príjmu
Násobenie výrazov – 2 (odstránenie zátvorky)
Údaje, informácie, znalosti Informatika
Marketing Cieľ: naučiť sa vysvetliť pojem marketing, naučiť sa používať marketingové nástroje.
VÝRAZ S PREMENNOU 8.ročník.
Kreslenie v textovom dokumente 1.časť
Plánovanie a príprava hodiny
Výroba a výrobné činitele
Slovné úlohy Zdroj: Križalkovič, K. a kol.: 500 riešených slovných úloh z matematiky.
MATURITA Miroslava Drahošová
Algoritmizácia úloh 1.
Rozpoznávanie slovných druhov alebo vetnej skladby
Časti počítača von Neumannovského typu
Prezentácia z informatiky
Riadenie zbernice.
Vstupné zariadenia.
Využitie pracovných listov na hodinách informatiky
PaedDr. Jozef Beňuška
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.
Vybrané témy zo zákona č. 343/2015 Z.z. o verejnom obstarávaní
Kľúč na určovanie rastlín
Slovné druhy PODSTATNÉ MENÁ.
Droga nie je riešenie Droga je každá látka, ktorá po požití určitým spôsobom mení normálne fungovanie organizmu.
Popis hardwarových komponentov počítača
Open Source GIS Ing. Ján Tóbik
Deliť celok na rovnaké časti / opakovanie /.
Príklad spracovania konateľa s pravidelným príjmom
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Rastrova a Vektorov grafika
Úvod do štúdia literatúry
Pojem, modely zavádzania zlomkov, porovnávanie, operácie so zlomkami.
Počítačové siete Čo je to počítačová sieť ?
Divergentné úlohy v matematike
Počítač von Neumanovského typu
PaedDr. Jozef Beňuška
Pohybová a polohová energia
Výskumný súbor.
Ako sa efektívne učiť.
Orientácia na pracovnej ploche
STN EN Bezpečnosť elektrických spotrebičov pre domácnosť a na podobné účely. Časť 1: Všeobecné požiadavky EVPÚ a. s., SKTC 101 Nová Dubnica Ján.
MS POWERPOINT ZŠ, Z. Nejedlého 2 Spišská Nová Ves
Aplikácia sieťového grafu v príprave a realizácii projektu Metóda CPM a PERT Sieťový graf je definovaný dvojicou množín, kde množina uzlov U = ( u1 , u2,
Digitalizácia informácií
Informačné systémy Simona Franková Mária Babčáková 3.Ag
Písanie dátumov, časových údajov a telefónnych čísel
RIEŠENIE LINEÁRNYCH ROVNÍC A NEROVNÍC
MEDLINE Complete ~ Vyhľadávanie
4. Algoritmy a programovanie v jazyku Pascal Cykly a riadenie
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Transkript prezentace:

Algoritmus Konečná postupnosť príkazov v presne určenom poradí Predpokladom tvorby algoritmu je riešenie problému

Terminológia Problém Riešenie problému Algoritmus stav, v ktorom jestvuje rozdiel medzi tým, čo v danom momente máme a tým, čo chceme dosiahnuť /definovanie vstupných a výstupných podmienok/ Riešenie problému odstraňovanie rozdielu medzi pôvodným stavom a tým, čo chceme dosiahnuť /matematický model alebo metóda riešenia Algoritmus postup, ktorým sa pri riešení problému riadime Overenie algoritmu pomocou trasovania. - Nie každý problém je riešiteľný a nie vždy sa dopracujeme k požadovanému výsledku

Algoritmus a život riešiť pomocou algoritmu problémy reálneho života je dosť náročné, pretože správny algoritmus vždy berie do úvahy všetky možnosti, detaily, náhody alebo zriedkavé situácie o algoritmoch má zmysel hovoriť vtedy, keď máme k dispozícii určitú obmedzenú množinu príkazov (môže byť aj veľmi veľká), pomocou ktorých dokážeme navrhnúť postup pri riešení.

Vlastnosti algoritmu elementárnosť: postup je zložený z jednoduchých krokov, ktoré sú pre vykonávateľa (počítač, nemysliace zariadenie, človek) zrozumiteľné, determinovanosť: postup je zostavený tak, že v každom momente jeho vykonávania je jednoznačne určené, aká činnosť má nasledovať, alebo či sa už postup skončil, rezultatívnosť: postup dáva pre rovnaké vstupné údaje vždy rovnaké výsledky, konečnosť: postup vždy skončí po vykonaní konečného počtu krokov, hromadnosť: postup je použiteľný na celú triedu prípustných vstupných údajov, efektívnosť: postup sa uskutočňuje v čo najkratšom čase a s využitím čo najmenšieho množstva prostriedkov (časových i pamäťových).

Algoritmické jazyky niekoľko typov: a) vývojové diagramy (postupnosť činností popisovaná prostredníctvom grafických značiek a textu v nich), b) štruktúrogramy (zhutnená obdoba vývojových diagramov, ktorá však oproti vývojovým diagramom nie je definovaná normou), c) obrázkové jazyky (často detské programovacie jazyky umožňujúce programovať prostredníctvom spájania obrázkov), d) 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é), e) slovný zápis algoritmu v národnom jazyku (formalizované jazyky, ktoré sa od programovacích jazykov odlišujú použitím slov národného), f) programovacie jazyky (formalizované algoritmické jazyky často založené na redukcii slov anglického jazyka).

Skladba algoritmického jazyka operačná zložka: Príkazy: vety jazyka prikazujúce procesoru vykonať presne stanovené činnosti. (vstupu, výstup a priradenie). musia spracúvať iné objekty: premenné, konštanty a výrazy. Premenná objekt obsahujúci počas realizácie algoritmu konkrétnu hodnotu presne stanoveného typu (napr. celé číslo, reálne číslo, reťazec znakov...). Konštanta objekt nadobúdajúci počas celej realizácie algoritmu jedinú konkrétnu hodnotu príslušného typu. Je to obdoba konštánt známych z matematiky, napr. pí, e, ale aj z fyziky: g, c, k, e, m. Výraz predpis obsahujúci konštanty, premenné a spôsob ich spracovania pomocou operácií a funkcií podobných tým, ktoré poznáme z matematiky. Výsledkom je hodnota príslušného typu, ktorá vznikne po vykonaní vo výraze naznačeného spracovania. napr. obsah=a*b obsah=pí*r*r

Skladba algoritmického jazyka Základné konštrukcie : Sekvencia / postupnosť/ Vetvenie /rozhodovanie/ Cyklus /opakovanie/ Syntax a semantika algoritmického jazyka /skladba a význam zápisu algoritmu/

Algoritmické konštrukcie sekvencia postupnosť príkazov (príkaz je povel, ktorý počítač alebo iné zariadenie pozná a dokáže vykonať) vykonávanú v takom poradí, v akom sú jednotlivé časti zapísané vetvenie poskytuje možnosť rozhodnúť sa podľa pravdivosti skúmaného znaku. Skladá sa z podmienky uvedenej za slovíčkom ak a z príkazov, ktoré sa vykonajú v prípade kladného a záporného výsledku. Týmto dvom častiam hovoríme vetvy. cyklus umožňuje ľubovoľnú činnosť opakovať. Pri opakovaní je dôležité čo (telo cyklu) sa má opakovať a dokedy (podmienka cyklu) sa má opakovať

Príklad sekvencie Majme k dispozícii robotický vysávač, ktorý dokáže nasledovné činnosti: posun – posunie vysávač vpred o 50 cm, vysaj – zapne vysávanie prachu na 10 s, vľavo bok - otočí sa o 90° doľava. Zabezpečte, aby vysávač vysal metrový pás v smere, ktorý má nastavený.

Riešenie vysaj // 50 cm posun vysaj // 100 cm posun // nie je potrebné Problém sme vyriešili vďaka sekvencii príkazov, ktoré sa vykonávajú v takom poradí, v akom sú zapísané. Vo všeobecnosti možno sekvenciu zapísať nasledovne: príkaz1 príkaz2 ... príkazn

Príklad alternatívy Zabezpečte, aby sa vysávač v prípade narazenia na prekážku otočil doľava. Na riešenie problému potrebujeme, aby vysávač dokázal zistiť (rozhodnúť), či má pred sebou prekážku alebo nie. Nevyhnutnou je teda nová schopnosť: prekážka – v prípade existencie prekážky vráti hodnotu ANO, inak hodnotu NIE,

Riešenie ak prekážka = ÁNO tak vľavo bok inak posun zápis obsahuje dve vetvy (alternatívy), pričom stroj, ktorý príkazy vykonáva si vyberie v závislosti od splnenia podmienky. vo všeobecnosti: ak podmienka tak príkaz11 príkaz12 ...príkaz1m príkaz21 príkaz22 ...príkaz2n koniec ak

Príklad cyklu Zabezpečte, aby vysávač vyčistil 15 metrový pás. úlohu by sme mohli riešiť zápisom sekvencie tak, že by sme 30 ráz za sebou zopakovali dvojicu: vysaj posun vysaj posun vysaj posun vysaj posun.... vhodnejšie riešenie však predstavuje použitie cyklu. počet opakovaní nám je známy (30 x - prečo?)

Riešenie opakuj 30 krát vysaj posun vo všeobecnosti: opakuj počet krát príkaz1 príkaz2 ... príkazn koniec opakuj

Typy cyklov použitý cyklus sa nazýva cyklus s pevným (známym) počtom opakovaní nie vždy je nám však počet opakovaní známy v momente vytvárania algoritmu => potreba kontroly ukončenia cyklu buď: pred vykonaním kroku (tela) cyklu – cyklus s podmienkou na začiatku po vykonaní tela cyklu – cyklus s podmienkou na konci v prvom prípade sa cyklus nemusí vykonať vôbec, v druhom prebehne minimálne raz – prečo?

Príklad: cyklus s podmienkou na začiatku Napíšte algoritmus, ktorý zabezpečí vysávanie od aktuálnej polohy po prekážku. pokiaľ prekážka = NIE rob vysaj posun koniec pokiaľ všeobecne: pokiaľ podmienka rob príkaz1 príkaz2 ... príkazn koniec rob

Príklad: cyklus s podmienkou na konci Upravte algoritmus zabezpečujúci vysávanie od aktuálnej polohy po prekážku tak aby sa vysávanie vykonalo minimálne raz. rob vysaj posun pokiaľ nebude prekážka = ANO všeobecne: príkaz1 príkaz2 ... príkazn pokiaľ nebude podmienka

Vývojové diagramy zápis prostredníctvom prirodzeného jazyka nie je prehľadný pre začiatočníkov sú najvhodnejším riešením vývojové diagramy postupný prechod na programovací jazyk okrem sekvencie, vetvenia a cyklu sú potrebné aj prostriedky na vstup a výstup údajov

Príkazy vstupu a výstupu Príkaz vstupu p1, ... , pn sú premenné, do ktorých sa uložia údaje na spracovanie Príkaz výstupu h1, ... , hn sú výstupné hodnoty (položkou výstupu môže byť aj text uzavretý v úvodzovkách)

Príkaz priradenia a sekvencia p je premenná; v je výraz, ktorého hodnotu priradením premenná p nadobudne sekvencia: p1, ..., pn sú príkazy; vykonajú sa v poradí v akom sú zapísané

Jednoduché príklady Vypočítajte súčet dvoch čísel. Zistite obsah a objem kruhu. Vypočítajte objem a povrch hranola.

Vetvenie (alternatíva) binárne úplné – obsahuje príkazy v oboch vetvách p1, p2 sú príkazy (resp. zložené príkazy) - ak je podmienka splnená vykoná sa p1, - ak nie je splnená vykoná sa p2 binárne neúplné – obsahuje príkazy v oboch vetvách - ak je podmienka splnená vykoná sa príkaz p, - inak je vetvenie bez účinku

Jednoduché príklady Zistite maximálnu hodnotu z dvoch zadaných čísel. Zistite podiel dvoch čísel (nezabudnite na nemožnosť delenia nulou). Zistite absolútnu hodnotu zadaného čísla.

Cyklus s pevným počtom opakovaní - i je riadiaca premenná cyklu, n je počet opakovaní, p je príkaz (resp. zložený príkaz), ktorý sa opakuje s neznámym počtom opakovaní s podmienkou na začiatku s podmienkou na konci

Jednoduché príklady Vypočítajte hodnotu súčtu prvých N prirodzených čísel. Zistite faktoriál zadaného čísla Vypočítajte ciferný súčet číslic daného prirodzeného čísla N.