+ All Categories
Home > Documents > ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ

Date post: 08-Jan-2016
Category:
Upload: sharla
View: 30 times
Download: 0 times
Share this document with a friend
Description:
Pudlová Iva 4.B. ALGORITMIZACE A PROGRAMOVÁNÍ. Postup vzniku programu. 1. Zadání úkolu Je třeba vyřešit nějaký problém, zefektivnit určitou činnost. Je nezbytné pokusit se co nejpřesněji určit podstatu problému a stanovit, jaký má být výsledek. - PowerPoint PPT Presentation
21
ALGORITMIZACE A PROGRAMOVÁNÍ PUDLOVÁ IVA 4.B
Transcript
Page 1: ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ

PUDLOVÁ IVA 4.B

Page 2: ALGORITMIZACE A PROGRAMOVÁNÍ

POSTUP VZNIKU PROGRAMU

1. Zadání úkolu

Je třeba vyřešit nějaký problém, zefektivnit určitou činnost. Je nezbytné pokusit se co nejpřesněji určit podstatu problému a stanovit, jaký má být výsledek.

Page 3: ALGORITMIZACE A PROGRAMOVÁNÍ

2. Návrh postupu řešení a jeho algoritmizace

Máme-li úkol, musíme vymyslet řešení zadaného úkolu. Počítač sám řešení nenajde, vykoná jen velmi rychle operace, které mu zadáme.

• slovní formulace úkolu• po slovní formulaci řešení musíme • stanovit algoritmus řešení• řešení úkolu je třeba zapsat v drobných krůčcích,

které je určitý procesor schopen realizovat• pak výběr vhodného programovacího jazyka

Page 4: ALGORITMIZACE A PROGRAMOVÁNÍ

3. Zápis programu, ladění programu, chyby

• máme algoritmus, řešící zadanou úlohu• vývojové prostředí v počítači pro tvorbu programů ve

zvoleném programovacím jazyku• můžeme začít vytvářet vlastní program• po vytvoření programu jej můžeme spustit

Pokud program nefunguje nebo funguje špatně, začneme ho ladit (hledat a odstraňovat chyby)

Chyby dvojího druhu:• syntaktické = špatně zapsaný nějaký příkaz,

programovací jazyk ho nezná. Překlad programu se zastaví a objeví se hlášení o chybě

• logické = program funguje, ale nedělá to co má. Složitější případ, dopustili jsme se chyby v algoritmu.

Page 5: ALGORITMIZACE A PROGRAMOVÁNÍ

4. Podpora a údržba programu

Je-li vše v pořádku hotovo, máme funkční program verze 1.0

• napsat manuál (návod k obsluze)• poskytovat k programu podporu a

udržovat ho (radit uživatelům, odstraňovat chyby, program zdokonalovat).

Page 6: ALGORITMIZACE A PROGRAMOVÁNÍ

 ALGORITMIZACE

Algoritmus = posloupnost operací, která řeší daný úkol.

Arabský matematik Abu Abdalah Muhammad (800 let n.l.) napsal knihu „Algoritmi de numero Indorum“ – slovo „Algoritmi“ a desítková soustava.

  Aby postup byl opravdu algoritmem, musí

mít dále uvedené vlastnosti.

Page 7: ALGORITMIZACE A PROGRAMOVÁNÍ

Vlastnosti algoritmu:

Hromadnost – musí řešit danou úlohu pro různé vstupní hodnoty

Neřeší tedy 1 + 2 = 3 ale obecně X + Y = Z Podmíněnost (determinovanost) – operace i

jejich návaznosti jsou jednoznačně určeny

Nic nesmí být náhodné, neurčené Opakovatelnost – při stejných vstupních

hodnotách dostaneme vždy stejný výsledek Konečnost (rezultativnost) – celý algoritmus

musí proběhnout v konečném počtu kroků.

Page 8: ALGORITMIZACE A PROGRAMOVÁNÍ

Algoritmus lze vyjádřit:

slovně: jednotlivé kroky postupu jsou vyjádřeny větami v přirozeném jazyce

graficky: jednotlivé kroky jsou popsány grafickími značkami se slovním popisem

matematicky: soustavou rovnic, vztahem mezi veličinami

programem: jednotlivé kroky jsou popsány instrukcemi určitého procesoru

Page 9: ALGORITMIZACE A PROGRAMOVÁNÍ

Programování = zakódování algoritmu do zvoleného programovacího jazyka

Zápis algoritmu a použitý procesor, základní příkazy:

• S algoritmy se setkáváme běžně ve svém životě

• Většinou nejsou zapsány žádným programovacím jazykem, ale přirozeným jazykem (slovní nebo písemnou formou)

• Procesorem těchto algoritmů jsme my, lidé• Jakýkoliv návod, postup je algoritmem –

příklad = kuchařské předpisy

Page 10: ALGORITMIZACE A PROGRAMOVÁNÍ

Vývojový diagram = grafické znázornění jednotlivých příkazů pomocí normalizovaných značek.   Mezní značka – začátek a konec programu

Zpracování – příkaz, operace, činnost (x=5, VlevoVbok, …)

  Větvení – ano × ne ( x > 0, když platí→ pak ano, když

neplatí→pak ne – nebo nic)

  Vstup a výstup hodnot ( čti y, zobraz x, tiskni x)

  Poznámka (výpočet objemu, …)

Page 11: ALGORITMIZACE A PROGRAMOVÁNÍ

Typy symbolů vývojových diagramů

Page 12: ALGORITMIZACE A PROGRAMOVÁNÍ
Page 13: ALGORITMIZACE A PROGRAMOVÁNÍ

PROGRAMOVÁNÍ Program = zápis algoritmu pomocí příkazů určitého

programovacího jazyka.

Programovacích jazyků vzniklo v průběhu vývoje počítačů mnoho a dnes jsou jich desítky. Podle převládajícího nasazení si je zjednodušeně můžeme rozdělit na:

• obecné programovací jazyky (např. C, C++, C#, Object Pascal, Visual Basic, NET Framework, Java)

• databázové programovací jazyky (např. MS Fox Pro, Oracle)

• programovací jazyky používané ve webových klientech (Java, JavaSkript, ActiveX)

• specializované programovací jazyky (např. simulační, makrojazyky v různých programech atd.)

Page 14: ALGORITMIZACE A PROGRAMOVÁNÍ

Překladač, interpret, Java a vývojové prostředí

Způsob vykonávání programů v počítači se může poměrně zásadně lišit.

Page 15: ALGORITMIZACE A PROGRAMOVÁNÍ

PŘEKLADAČ (KOMPILÁTOR, ANGLICKY COMPILER)

program, který ze zdrojového kódu vytvoří spustitelný soubor. To znamená, že z textového zápisu vytvoří instrukce pro procesor. Protože překlad programu závisí na použitém hardwaru a současně na použitém operačním systému, jsou přeložené překlady použitelné pouze na počítačích, které obsahují požadovanou kombinaci hardwaru a operačního systému.

Page 16: ALGORITMIZACE A PROGRAMOVÁNÍ

INTERPRET

načítá program v textovém zápisu a okamžitě jednotlivé příkazy vykonává, program tedy není předem přeložený. Protože v okamžiku běhu programu musí probíhat i jeho překlad do strojového kódu, je běh takového programu pomalejší než u programu předem přeloženého.

Page 17: ALGORITMIZACE A PROGRAMOVÁNÍ

JAVA zvláštní moderní programovací jazyk. Jeho kód je

kompilován pouze částečně a na počítači musí být spuštěno prostředí Java Virtual Machine (JVM), které zajistí jeho provedení. Protože prostředí JVM existuje snad pro všechny současné typy počítačů a operačních systémů, je program vytvořený pomocí Javy využitelný na různých platformách. Dnes prostředí JVM obsahují i mobilní telefony a ve formě integrovaného čipu jej mohou obsahovat i libovolná zařízení (ledničky, pračky,…). Všechna tato zařízení pak mohou spouštět aplikace napsané v jazyku Java (třeba hry).

Page 18: ALGORITMIZACE A PROGRAMOVÁNÍ

VÝVOJOVÉ PROSTŘEDÍ komplexní nástroj na tvorbu programů.

Obsahuje vždy překladač pro určitý programovací jazyk, dále množství nástrojů na vizuální tvorbu programu, množství připravených hotových komponent a nástroje pro ladění programu a odstraňování chyb. Díky tomu zrychluje práci při vytváření nových programů.

Vývojová prostředí jsou dostupná pro většinu výše uvedených programovacích jazyků, k nejznámějším patří např. Borland Delphi nebo Microsoft Visual Studio.

Page 19: ALGORITMIZACE A PROGRAMOVÁNÍ

DŮLEŽITÉ POJMY

Proměnná = místo v paměti počítače, ve kterém se nachází určitá hodnota. Je označena identifikátorem.

Identifikátor = název proměnné, třeba X, Y, N, nebo

třeba PocetOpakovani. Je dobré volit identifikátory mnemotechnické, to je takové, které vypovídají o významu a použití proměnné. Proměnnou, do které uložíme výsledek výpočtu plochy obdélníka, lze nazvat třeba P1, ale lépe PlochaObdelnika. Ve většině programovacích jazyků identifikátor nesmí obsahovat mezery ani písmena mimo anglickou abecedu. Jsou také rozlišována velká a malá písmena (PocetDni, Pocetdni) – mimo jazyk Pascal.

Page 20: ALGORITMIZACE A PROGRAMOVÁNÍ

Datový typ. Proměnné jsou vždy určitého typu a podle jejich typu se s nimi pracuje. Proměnná může být např. typu ZNAK (char), pak ji ale nelze použít ve výpočtu, nebo typu CELÉ ČÍSLO (integer), pak do ní nelze vložit výsledek dělení, který nebývá celé číslo, nebo typu REÁLNÉ ČÍSLO (real), nebo typu LOGICKÁ PROMĚNNÁ (boolean), platí nebo neplatí, Ano-Ne. Typů je mnohem více.

Deklarace. Většina programovacích jazyků vyžaduje na začátku programu stanovit u všech proměnných, jakého jsou typu. Tomu se říká deklarace proměnných. Např. POPIS je typu ZNAK, N je typu CELÉ ČÍSLO atd. Konkrétní zápis deklarace (a zda jsou vůbec nutné – někdy se proměnná deklaruje sama podle prvně vloženého údaje) závisí na programovacím jazyku.

Page 21: ALGORITMIZACE A PROGRAMOVÁNÍ

Operátory a standardní funkce. Programovací jazyk nabízí základní matematické (+, –, /, * ) a logické ( =, <, >, , , ) operátory a množství standardních funkcí: ln(x) (přirozený logaritmus), sin(x), sqrt(x) (odmocnina) atd. Důležité je brát do úvahy prioritu operátorů: nejdříve se provedou funkce, pak násobení a dělení a nakonec sčítání a odčítání. Výsledkem výrazu 5*2+1 je proto číslo 11, pokud chcete provést nejdříve součet, musíte dát část výrazu do závorky 5*(2+1), výsledek bude 15.

  Syntaxe = přesné určení, jak se mají jednotlivé výrazy a

vůbec části programu zapisovat. pokud příkaz tisku má syntaxi PRINT(proměnná, která se má tisknout) a místo toho zapíšeme PRONT(X), program při překladu ohlásí chybu – neznámý příkaz. Chyba může být i méně nápadná PRINT (X), (před závorkou je chybně mezera). Syntaxi zvoleného programovacího jazyka musíme bezpečně zvládnout. Nelze použít běžného jazyka např. „dej do X číslo 5“ ale nutno použít příkaz X:=5 (v jazyku Pascal).

 


Recommended