Algoritmizácia úloh 1.

Slides:



Advertisements
Podobné prezentace
VÝSLEDKY MERANÍ ÚNOSNOSTI ASFALTOVÝCH VOZOVIEK V PRIEBEHU ROKA.
Advertisements

Využitie vlastností kvapalín
ODBYT registračné pokladnice: kontrola stavu hotovosti
Von  Neumannov  počítač Gymnázium Š. Moysesa, Moldava nad Bodvou.
Osobný počítač Kornélia Kontrová 1.OB.
PYTHON 01. Úvod Informatika Algoritmické riešenie problémov
SOFTVÉR Programové vybavenie počítača
ROČNÍKOVÁ PRÁCA 1.
ROČNÍKOVÁ PRÁCA 1.
STAVEBNÝ DENNÍK V zmysle Stavebného zákona č. 50/1976 Zb. v znení neskorších predpisov - §46d.
SYSTÉMY SIEŤOVÉHO PLÁNOVANIA Metóda CPM
Tolerancie rozmerov Kód ITMS projektu:
Implementácia IKT do vyučovania chémie
AIRDANCE – realizácia multiplatformovej aplikácie typu klient - server
REALIZÁCIA PROGRAMU 3. etapa tvorby programu
L1 cache Pamäť cache.
Nová maturitná skúška Hajduková Jana.
Práca s internetom (Ľ. Jašková, Ľ. Šnajder, R. Baranovič)
Kreslenie v textovom dokumente 1.časť
Plánovanie a príprava hodiny
Tematický zošit - Práca s textom
Slovné úlohy Zdroj: Križalkovič, K. a kol.: 500 riešených slovných úloh z matematiky.
MATURITA Miroslava Drahošová
Ako príklad inštalácie uvádzame Bullzip Free PDF Printer.
Časti počítača von Neumannovského typu
Technické vybavenie počítača
Spínaný zdroj v Počítači.
Prezentácia z informatiky
Riadenie zbernice.
Vstupné zariadenia.
Využitie pracovných listov na hodinách informatiky
Kľúč na určovanie rastlín
Informácia – definícia a výpočet
Ochrana potravín Tréningový kurz Co-financiado.
Popis hardwarových komponentov počítača
Deliť celok na rovnaké časti / opakovanie /.
Leona Pavlíková,Lenka Kulifajová 9.A
Rastrova a Vektorov grafika
Téma 5: Kategorický sylogizmus
Základné rozdelenie podľa oblasti použitia
Praktická časť odbornej zložky PČOZ
Geografické informačné systémy
(Digitálny prezentačný materiál)
Mechanika kvapalín.
Cabri geometry II Mgr. Róbert Truchan ZŠ Sačurov.
Pojem, modely zavádzania zlomkov, porovnávanie, operácie so zlomkami.
Počítačové siete Čo je to počítačová sieť ?
Zmeny v podsystéme v roku 2017
Divergentné úlohy v matematike
Nové formy komunikácie
Katedra štatistiky FHI EU v Bratislave
Počítač von Neumanovského typu
Algoritmus Konečná postupnosť príkazov v presne určenom poradí
Výskumný súbor.
Modelovanie DBS Vypracoval: Ing. Michal COPKO.
Ako sa efektívne učiť.
Úvod do jazyka C Programovací jazyk C.
Orientácia na pracovnej ploche
VEGA Informácie o VEGA (porovnanie minulosť – súčasnosť)
MS POWERPOINT ZŠ, Z. Nejedlého 2 Spišská Nová Ves
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Digitalizácia informácií
Smerovanie Ing. Branislav Müller.
Písanie dátumov, časových údajov a telefónnych čísel
Autor: Gabriela Pokorná Antašová
RIEŠENIE LINEÁRNYCH ROVNÍC A NEROVNÍC
EQM-PD Európsky manažment kvality pre profesionálov pracujúcich so zdravotne postihnutými osobami Eqm-pd.com Projekt „EQM-PD“ bude financovaný s podporou.
Tutoriál ~ eKnihy Sťahovanie
4. Algoritmy a programovanie v jazyku Pascal Cykly a riadenie
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Transkript prezentace:

Algoritmizácia úloh 1

Cieľ predmetu Vytvoriť základnú kostru programu Vstup údajov od užívateľa Spracovanie dát – čísla a reťazce Výstup pre užívateľa Načítanie a uloženie dát Práca so štruktúrami a pointrami, dynamická alokácia pamäte

Obsah predmetu 1. Podmienky 2. Úvod 3. Vstup a výstup 4. Typy premenných, funkcie 5. Logické výrazy, priority operátorov 6. Riadiace štruktúry, priority 7. if, while, for, switch, goto, return, subory 8. Práca so súbormi 9. Polia 10. Smerníky 11. Reťazce, konverzia 12. Štruktúry

Požiadavky na zápočet a skúšku Priebežné hodnotenie cvičení: 10 bodov Praktická časť skúšky: 20 bodov Ústna časť skúšky: 20 bodov Spolu: 50 bodov Predtermíny sú možné

Hodnotenie predmetu Priebežné hodnotenie Praktická časť skúšky 10 bodov Praktická časť skúšky 20 bodov Ústna časť skúšky Hodnotenie Počet bodov A 50-46 B 45-41 C 40-36 D 35-31 E 30-25 FX 25 a menej

Kde sa jazyk C využíva Pomocou jazyka C sa programuje celé spektrum software: od ovládačov periférií, až po „veľké“ programy, ako sú riadiace a databázové systémy Dôvodom, prečo sa využíva, je jednoduchosť, rýchlosť a veľkosť výsledných programov

Kde sa jazyk C využíva Počítačové systémy Jazyk C sa využíva nielen pod MS Windows, ale aj pod inými operačnými systémami, ako rôzne Unixy. Existujú aj rôzne iné jazyky, ako napr. Pascal, Assembler, Perl, Basic. Tieto ale nie sú také výkonné a využívané

Kde sa jazyk C využíva Jednočipové systémy Jednočipové systémy slúžia na riadenie rôznych zariadení, ako napr. automobilová technika (ABS, ESP), práčky, telefóny, telefónne ústredne, snímače teploty, tlaku, žiarenia atď. Tieto systémy musia byť malé, výkonné ale zároveň aj spoľahlivé. V prípade potreby je dôležité, aby sa ich program dal kedykoľvek zmeniť.

Kde sa jazyk C využíva Jednoprocesorové systémy Doska, na ktorej je pripojený procesor Pomocou konektorov a vodičov je spravené riadenie okolitých periférií a snímanie dát

Kde sa jazyk C využíva Jednoprocesorové systémy Modul, ktorý slúži na prepojenie procesora s riadiacim PC pomocou Ethernetu Zakúpený modul + nami zapojený a naprogramovaný jednočip

Vývojové prostredia pre PC Najčastejšie sa využívajú Microsoft Visual C++ Borland C++

Vývojové prostredia pre jednočipy AVR studio

Vývojové prostredia na LC sa bude používať DEV C++ (www.bloodshed.net/devcpp.html) existuje mnoho iných ako napr. MS Visual C++, Borland C++, LCC, GCC atď.

Odporúčaná literatúra Herout, P. : Učebnice jazyka C - 1. díl Odporúčaná literatúra Herout, P.: Učebnice jazyka C - 1.díl. KOOP, České Budějovice, 2004. Matiaško K. a kolektív: Základy informatiky, vysokoškolská učebnica, EDIS, Žilinská univerzita v Žiline, 2004, ISBN 80-8070-186-5

Algoritmus Algoritmus je konečná postupnosť dobre definovaných inštrukcií na splnenie určitej úlohy Všeobecné pravidlá, ktoré určujú postupnú transformáciu vstupných údajov na výstupné

Vlastnosti algoritmov Nie každý návod je algoritmom, algoritmus musí mať tieto vlastnosti: Je determinovaný Je rezultatívny Je konečný Je hromadný

1. Determinovanosť Činnosť algoritmu je natoľko presná a pritom všeobecne pochopiteľná, že nepripúšťa v žiadnom kroku procesu subjektívnu možnosť voľby ďalšieho pokračovania. Činnosť algoritmu nesmie závisieť od ľubovôli osoby, ani na vlastnostiach zariadenia, ktoré ho realizuje. Je to proces, ktorý môže byť kedykoľvek a kýmkoľvek opakovaný s rovnakým výsledkom.

2. Rezultatívnosť Výsledok musí byť za rovnakých vstupných podmienok vždy rovnaký.

3. Konečnosť Každý algoritmus musí skončiť po vykonaní konečného počtu krokov.

4. Hromadnosť Algoritmus je použiteľný na ľubovoľné vstupné údaje spĺňajúce požadované podmienky Algoritmus je popis riešenia celej skupiny príbuzných úloh, ktoré sa od seba líšia vstupnými údajmi

Algoritmizácia tvorivý proces, ktorý pri zápise algoritmu vykonávame všeobecný návod neexistuje, ale existujú heuristiky (určité rady) získané skúsenosťami, ktoré proces tvorby algoritmu uľahčujú

Spôsoby vyjadrenia algoritmu: Verbálne alebo textom Vývojový diagram Samotný programovací jazyk Rozhodovacie tabuľky

Zápis algoritmov prirodzeným jazykom S kľúčovými(vyhradenými) slovami kvôli lepšej zrozumiteľnosti Výhody - ľahko čitateľný, každý mu rozumie nevýhody – nejednoznačnosť, nízka prehľadnosť

Vstupné údaje a výstupné údaje Vstupné údaje – reprezentujú počiatočný stav problému Výstupné údaje – tvoria množinu koncových stavov Kroky algoritmu sa vykonávajú postupne za sebou, ak nie je explicitne dané iné poradie.

Metódy zostavenia algoritmov Keď riešenie poznáme, potrebujeme ho zapísať vo forme algoritmu. Riešenie rozkladáme na jednoduchšie operácie až dospejeme k elementárnym krokom – metóda „odhora dole“

Postup konštrukcie algoritmu formulácia problému stanovenie cieľov tvorba myšlienky a stratégie riešenia zápis vytvorených postupov overenie správnosti vytvorených postupov

Základné zložky algoritmu Medzi základné konštrukčné zložky patrí: Postupnosť (sekvencia) príkazov, Cyklus (iterácia) - if, while Podmienené operácie (selekcia a výber).

Základné zložky algoritmu Postupnosť (sekvencia) je tvorená jedným alebo niekoľkými krokmi, ktoré sa vykonajú len raz v danom poradí a nemusia to byť kroky elementárne.

Základné zložky algoritmu Cyklus (iterácia) predstavuje časť algoritmu, ktorá sa opakuje, pokiaľ je splnená podmienka opakovania. Cyklus sa skladá z podmienky opakovania a tela cyklu (krokov, ktoré sa opakujú).

Čiastkový algoritmus Pokiaľ sa určitá časť algoritmu opakuje na niekoľkých miestach (i keď sa používajú rôzne dáta), stačí ju rozložiť na elementárne kroky len raz. Na ostatných miestach sa na ňu odvoláme ako na čiastkový algoritmus alebo podprogram. V programovacích jazykoch odpovedajú podprogramom procedúry a funkcie.

Časová a pamäťová náročnosť algoritmov Pri zostavení algoritmov nás zaujíma nielen správnosť a presnosť riešenia ale aj doba, ktorú budeme na vykonanie algoritmu potrebovať a veľkosť operačnej pamäti, ktorú bude potrebovať program na realizáciu algoritmu. Do časovej náročnosti je treba zarátať aj dobu potrebnú na čítanie dát z pevného disku (spravidla je o 3 rády dlhšia ako najnáročnejšia operácia).

Popis algoritmov Algoritmy je možné vyjadriť rôznymi spôsobmi, ktoré sa opierajú o slovné vyjadrenie alebo grafické prostriedky. Voľba prostriedku závisí na charaktere riešenej úlohy a osobných zvyklostiach programátora.

Jazyk pre popis programov Slovný popis algoritmov môže byť základom komentára k výslednému programu.

Vývojové diagramy Sú klasickým prostriedkom pre znázornenie algoritmov. Predstavujú grafické znázornenie jednotlivých krokov programu. V súčasnosti sa používajú menej.

Grafické prvky Medzná značka (začiatok a koniec programu) Spracovanie ŠTART KONIEC Spracovanie Rozhodovanie NIE ÁNO A=B

Grafické prvky Cyklus Vstup/výstup dát A Spojka A

Grafické prvky Podprogram Tlač Poznámka

Vývojové diagramy - príklad ŠTART Úvodné operácie ÁNO Koniec A NIE Záverečné operácie Čítaj zo súboru A koeficienty a, b, c Rieš rovnicu KONIEC Zapíš výsledky do B

Riešenie kvadratickej rovnice ÁNO Ulož korene do súboru B

Spôsob spracovania programu Schematické znázornenie fáz spracovania programu 41 41

Preprocesor Preprocesor sa spustí pri každom spustení kompilátora. Prejde si zdrojový kód a nájde riadky, ktoré začínajú symbolom #. S týmito riadkami pracuje ešte pred spustením samotného kompilátora. Príkaz include je inštrukcia pre preprocesor, ktorá mu hovorí: "To, čo nasleduje, je názov súboru. Nájdi tento súbor a vlož jeho obsah priamo do tohto miesta programu." 42 42

Compiler Prekladač, kompilátor – vykonáva preklad zdrojového súboru do relatívneho kódu počítača, vzniká .OBJ súbor (prípadne .O, .A). Pomocným súborom je protokol o preklade (.LIS), v ktorom sú uložené informácie o chybách prekladu. 43 43

Linker Zostavovací program. Pridelí relatívnemu kódu absolútne adresy a odkazy na identifikátory knižničných funkcií. Výsledkom je spustitelný program (napr. .EXE) 44 44

Debugger Ladiaci program. Slúži na ladenie – nájdenie chýb, ktoré vznikajú pri behu programu. Po odladení chyby sa celý cyklus opakuje (editor, compiler, linker, debugger) 45 45