Předmět je úvodem do problematiky programování v programovacím jazyce vyšší úrovně. Studenti se seznámí se základními postupy při algoritmizaci úloh a s realizací algoritmů zaměřených na zpracování čísel a jejich posloupností pomocí výrazových prostředků programovacího jazyka Java. Cílem je naučit studenty analyzovat vybrané třídy úloh, navrhnout elementární algoritmy k jejich řešení a implementovat v programovacím jazyce včetně odladění a testování. Studenti se v průběhu kurzu seznámí se základními prostředky programovacího jazyka vyšší úrovně tak, aby byli schopni ho nadále používat při řešení praktických úloh, včetně návrhu vhodných datových struktur a použití vhodných výrazových prostředků pro řešení těchto úloh. Témata přednášek: 1. Základní informace. Úloha, algoritmus, program, programovací jazyk. Základní struktura programu, jazyce Java. Kód programu. Syntaxe a sémantika. Základní lexikální elementy. Ukázka jednoduchého programu. 2. Algoritmus. Formální zápis algoritmu. Vybrané způsoby a úrovně formálního zápisu. Blokové schéma, vývojový diagram, pseudokód, strukturovaný text. Případy užití. 3. Datový typ. Jednoduché a vybrané složené datové typy. Kódování informace. Reprezentace hodnot základních datových typů v paměti počítače. 4. Proměnné, konstanty, typy. Primitivní datové typy. Deklarace, použití. Kompatibilita typů. Operace, operátory. Priorita operátorů. Standardní vstup/výstup. 5. Třída jako objektový typ. Třídy, objekty. Atributy, metody. Statické metody a knihovní třída. Přehled vybraných tříd programovacího jazyka, obalové třídy primitivních datových typů. 6. Základní řídící struktury programu. Příkazy. Logický příkaz. Příkazy cyklu. 7. Dokončení příkazů. Další příkazy jazyka - přepínač, ukončení metody apod. Efektivní použití a řízení příkazů cyklu, vzájemné porovnání, standardní případy užití. Ladění a testování programu. 8. Sekvenční zpracování posloupnosti čísel. Základní algoritmická primitiva. Inicializační, výkonná a případně inkrementační část algoritmu. Výpočet součtu, minimálních a maximálních hodnot, test výskytu hodnoty, počet výskytů hodnoty, vlastnost posloupnosti. 9. Pole - deklarace, vytvoření, použití. Pole hodnot různého typu. Statický inicializátor. Parametry metody a návratová hodnota metody typu pole. 10. Vícerozměrná pole. Vícerozměrné pole s vektory nestejné délky - vytvoření, použití. Procházení vícerozměrného pole v potřebném (omezeném) rozsahu odpovídajícím potřebám právě řešené úlohy. 11. Textové řetězce. Typ String a pole znaků. 12. Základní algoritmy s polem hodnot. Vkládání, odstraňování, vyhledání hodnoty, uspořádání dat. 13. Základy práce s textovým souborem. Načtení dat (čísel, textových řetězců) z formátovaného textového souboru. Formátovaný výstup dat z programu do textového souboru. 14. Vybrané prostředky jazyka Java a ukázka jejich použití - Arrays, ArrayList, LinkedList apod. Náplň cvičení: 1. Seznámení s prostředím jazyka Java. Struktura programu. 2. Vývojové prostředí, základní prostředky. 3. Formální zápis algoritmu základních typů úloh. 4. Číselné soustavy, převody mezi nimi. 5. Primitivní typy. Výpočty reálných a celočíselných výrazů. 6. Objektový typ. Metody. 7. Použití logických příkazů pro řízení běhu programu. Rozhodovací algoritmus. Formální zápis rozhodovacího stromu. 8. Použití cyklů pro řízení běhu programu. 9. Sekvenční zpracování dat. Základní algoritmická primitiva. 10. Použití datové struktury pole pro uchování dat. 11. Vícerozměrná pole a jejich použití. 12. Zpracování textové informace. 13. Zpracování dat v textovém souboru. 14. Zápočtový test. Předání samostatných zápočtových prací.
|
-
CORMEN, T. H. Introduction to algorithms. 3rd ed.. Cambridge, Mass.: MIT Press, 2009. ISBN 978-02-6203-384-8.
-
HEROUT, P. Java - bohatství knihoven. České Budějovice, 2006. ISBN 80-7232-288-5.
-
HEROUT, P. Učebnice jazyka Java. Kopp, České Budějovice., 2003.
-
SCHILDT, H. Java 7: výukový kurz. Computer Press, Brno, 2008. ISBN 978-80-251-3748-2.
|