190 likes | 346 Views
Algoritmy a datové struktury Vytváření a realizace algoritmů VŠB-TU Ostrava Most, LS 2009/2010. Ing. Marta Jarošová marta.jarosova @ vsb.cz http://homel.vsb.cz/~dom033/. Hodnocení. Zápočet: test na posledním tutoriálu 0 – 2 0 bodů (min. 5 bodů) Písemná zkouška: 0 – 8 0 bodů.
E N D
Algoritmy a datové strukturyVytváření a realizace algoritmůVŠB-TU OstravaMost, LS 2009/2010
Ing. Marta Jarošová marta.jarosova@vsb.cz http://homel.vsb.cz/~dom033/
Hodnocení • Zápočet: test na posledním tutoriálu 0 – 20 bodů (min. 5 bodů) • Písemná zkouška: 0 – 80 bodů
Literatura • Krček, B., Kolomazník, I.: Algoritmy a datové struktury, Ostrava 2007 http://homen.vsb.cz/~kol70/algoritmy/ • Putz, K.:Pascal - učebnice základů programování, GRADA 2007, ISBN: 978-80-247-1255-0
Osnova • Algoritmizace algoritmus, vývojové diagramy, metody vytváření algoritmů • Pascal/Delphi úvod, proměnné a konstanty, větvení programu, cykly, …
Algoritmus • přesný popis definující konečný (např. výpočtový) proces • transformuje vstupní data na data výstupní • vlastnosti • determinovanost • hromadnost • rezultativnost
Determinovanost • při vykonávání algoritmu musí být vždy jednoznačně určena aktuální činnost a také činnost následující • algoritmus je řízen pouze podmínkami, které jsou v něm uvedeny
Hromadnost (masovost) • algoritmus je použitelný pro libovolné vstupní údaje, které splňují příslušnou vstupní podmínku • množina přípustných vstupních údajů tvoří oblast použití algoritmu (definiční obor algoritmu)
Rezultativnost • pro vstupní údaje, které vyhovují příslušné vstupní podmínce, musí dát algoritmus výsledek po konečném počtu kroků
Základní pojmy • Program je algoritmus zapsán programovacím jazykem • Programátor - tvůrce programu • Procesor - vykonavatel (realizátor) programu • Programování je proces • tvorba algoritmu (návrh) • vyjádření algoritmu programovacím jazykem (implementace)
Základní pojmy Proměnná • veličina určitého typu • během realizace algoritmu může měnit svoji hodnotu, ne však svůj typ Výraz • je předpis pro získání hodnoty, který je tvořen z operandů, operátorů a kulatých závorek
Základní příkazy Čtení Tisk Přiřazení Čtení: A,B Čtení: AB Tisk: A,B proměnná:=výraz S := A + B
Příklad 1. Čtení: A,B 2. S := A + B 3. R := A - B 4. Tisk: S,R
Příklad Vyjádřete algoritmus, podle kterého se pro zadaná reálná čísla a, b, c vypočtou kořeny rovnice a·x2+ b·x + c = 0 , je-li kvadratická.
Příklad 1. Čtení: A,B,C 2. D := B2 – 4*A*C 3. X1 := (-B+sqrt(D))/(2*A) 4. X2 := (-B-sqrt(D))/(2*A) 5. Tisk: X1,X2 sqrt… funkce pro výpočet odmocniny
Příklad 1. Čtení: A,B,C 2. D := B2 – 4*A*C 3. X1 := (-B+sqrt(D))/(2*A) 4. X2 := (-B-sqrt(D))/(2*A) 5. Tisk: X1,X2 Algoritmus je vzhledem k zadání špatný!!! Použitelný jen v případě, že rovnice je kvadratická nemá imaginární kořeny
Příklad Náprava? • test, zda je rovnice kvadratická (a≠0) • částečné řešení i pro imaginární kořeny úplné řešení bude obsahovat podmínky, které umožní výběr příslušného dílčího postupu
zápis algoritmu formou očíslovaných kroků bývá pro začátečníka těžký a málo přehledný zápis algoritmu formou vývojového diagramu