Algoritmizace v Delphi - Úvod
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Algoritmizace v Delphi - ÚvodAlgoritmizace v Delphi - Úvod

 

Algoritmizace v Delphi - Úvod

Google       Google       24. 11. 2005       10 748×

Úvodní díl seriálu, který je určen všem, kteří by se chtěli naučit nové algoritmy pro řešení různých problémů se kterými v programování setkají. Ačkoliv budou všechny popisované algoritmy v seriálu předváděny na příkladech v Delphi, měli by být postupy jasné i Delphi neznalým...

Reklama
Reklama

V tomto seriálu bych vás chtěl seznámit s možnými řešeními jednoduchých a postupně i složitějších úkolů, se kterými se můžete v běžném životě programátora setkat. Postupně vám ukážu a vysvětlím algoritmy, například vyhledávání v polích nebo řazení, ale i složitější problémy jako je generování náhodných čísel či komprimace dat.

Rozhodl jsem se algoritmy vysvětlovat na příkladech a ukázkách v Delphi. Proč zrovna Delphi? Jazyk Delphi obsahuje prvky, které podle mě umožňují algoritmy lehčeji a přirozeněji chápat i vytvářet. Například vlastnosti nebo výjimky při nepředvídatelných chybách. Tím ale neříkám, že v jiných jazycích by to také nešlo.

Seriál předpokládá alespoň základní znalosti jazyka Delphi a práce v jeho prostředí.

Na úvod bychom si měli odpovědět na základní otázku: Co je to algoritmus? Algoritmus je postup krok po kroku k vytvoření nějakého výpočtu či výsledku. Toto je však pouhá definice, kterou vlastně ani nebudete potřebovat, protože nakonec budete vymýšlet algoritmy, aniž byste si to uvědomovali. Ukázku algoritmu si však můžeme předvést na jednoduchém příkladu: někdy v prvních letech na základní škole jste jistě byli v situaci, kdy jste měli vypočítat příklad podobný tomuto:
     18
     36
     --
     ??

Jak byste asi postupovali při výpočtu? Již na základní škole jste se vlastně naučili algoritmus, jak se dopátrat výsledku tohoto příkladu: nejdříve jste sečetli 8 + 6 = 14, dopsali jste 4 na konec ve výsledku a pamatovali si 1, poté jste sečetli 1 + 3 + 1 z minulého součtu = 5. To znamená, že výsledek = 54. A toto byl vlastně algoritmus (postup) při sčítání nad sebou.

Další otázkou, kterou je třeba vyřešit, je, jakou verzi Delphi byste měli používat? Je to v podstatě jedno. Příklady, které budu uvádět by měli fungovat ve všech verzích stejně (to se týká i Kylixu). Pokud byste však přece jenom měli nějaký problém, obraťte se na mě v Poradně. Měl bych tam být denně, takže byste na odpověď neměli čekat dlouho.

Myslím, že na úvod by to mohlo stačit. Příště už se vrhneme na nějaké příklady a rozebereme si algoritmus hlouběji.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v C++ a Delphi, zajímá se o muziku a sport.

Nové články

Reklama
Reklama
Obrázek ke článku Facebook spouští službu Marketplace V ČR

Facebook spouští službu Marketplace V ČR

Společná platforma Marketplace usnadní lidem na Facebooku vyhledávání, nákup a prodej použitého zboží na lokální úrovni. Bude tak přímou konkurencí pro weby a aplikace se stejným zaměřením jako je například Letgo, Bazoš, Aukro, Sbazar a další.

Obrázek ke článku DistrCut – optimalizace pomocí distribuované inteligence

DistrCut – optimalizace pomocí distribuované inteligence

Optimalizační systémy, které jsem dosud popisoval, se týkaly vždy optimalizace na jednom zařízení. Optimalizovalo se dělení tyčového materiálu na jedné pile, vypalování plošného materiálu na jednom plazmovém stroji, řídilo se tavení na jedné elektrické obloukové peci.

Ve výrobním procesu je však často nutné optimalizovat činnost celého výrobního úseku, kde je více různých objektů odlišného typu a koordinovat činnost těchto objektů k dosažení společného cíle, zpravidla kvality finálního výrobku. Řešení tohoto problému umožňuje distribuovaná inteligence.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý