B_UPG Úvod do programování

Vysoká škola finanční a správní
léto 2012
Rozsah
2/2. 14 hodin KS/semestr. 7 kr. Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučující
prof. RNDr. Ondřej Čepek, Ph.D. (cvičící)
doc. RNDr. Pavel Töpfer, CSc. (cvičící)
Garance
doc. RNDr. Pavel Töpfer, CSc.
Katedra informatiky a matematiky (FES, KIM) – Katedry – Vysoká škola finanční a správní
Kontaktní osoba: Ivana Plačková
Předpoklady
Nejsou vyžadovány žádné předpoklady.
Omezení zápisu do předmětu
Předmět je otevřen studentům libovolného oboru.
Cíle předmětu
Základní kurz programování pro posluchače 1. ročníku bakalářského studia oboru Aplikovaná informatika.
Cílem předmětu je porozumění základům algoritmizace; seznámení se základními konstrukcemi programovacích jazyků; praktické zvládnutí vytváření a ladění programů ve vývojovém prostředí; řešení jednoduchých algoritmických úloh.
Osnova
  • 1. Tvorba programu, postupy a nástroje, programovací jazyk, ladění. Algoritmus, důkaz správnosti, porovnávání kvality algoritmů, časová a paměťová složitost.
  • 2. Programovací jazyk Pascal. Struktura programu. Proměnná, identifikátor, datový typ. Definice konstant. Přehled příkazů v Pascalu. Integrované vývojové prostředí – základní funkce.
  • 3. Dosazovací příkaz. Číselné výrazy, vyhodnocování. Podmíněný příkaz, složený příkaz, cyklus. Jednoduché a složené podmínky. Integrované vývojové prostředí – ladění programů.
  • 4. Inicializované proměnné. Standardní procedury read a write, formátování výstupu. Aritmetické přetečení, zaokrouhlovací chyby. Logické proměnné a výrazy.
  • 5. Procedury a funkce – význam, lokalita, viditelnost identifikátorů. Předávání parametrů hodnotu a odkazem.
  • 6. Pole. Vyhledávání v poli. Třídění čísel v poli – přímý výběr, přímé zatřiďování, bublinkové třídění.
  • 7. Zásobník a fronta. Práce s dlouhými čísly v poli. Vícerozměrná pole. Použití polí.
  • 8. Znaky a znakové řetězce. Hornerovo schéma. Poziční číselné soustavy, převody.
  • 9. Záznam. Pseudonáhodná čísla, generátor pseudonáhodných čísel. Dekompozice problému, programování proti rozhraní, metody návrhu a ladění programu - příklady.
  • 10. Textové soubory – operace, použití, formátování výstupu.
  • 11. Datové soubory, přímý přístup. Vnější třídění.
  • 12. Halda, operace na haldě, implementace haldy, heapsort.
Literatura
    doporučená literatura
  • P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 2007 (2. vyd.)
  • P.Satrapa: Pascal pro zelenáče, Neocortex Praha 2005 (více vydání)
  • P.Töpfer: Základy programování v úlohách, Scientia Praha 1997
Výukové metody
Přednášky a cvičení v prezenční formě; řízené skupinové konzultace v kombinované formě; minimální povinná účast na cvičeních v prezenční formě studia je 75%, na řízených skupinových konzultacích v kombinované formě studia 50%.
Metody hodnocení
Předmět je zakončen zápočtem a zkouškou. Podmínkou pro udělení zápočtu je vypracování několika domácích prací (návrh a odladění menších programů). Zkouška má podobu praktického testu (napsat program, proceduru nebo funkci).
Navazující předměty
Informace učitele
http://ksvi.mff.cuni.cz/~topfer/vsfs/
Prezentace k přednáškám a ukázkové programy z přednášek i ze cvičení jsou k dispozici na Internetu. Jsou doplňovány průběžně po každé přednášce.
Doporučená studijní literatura:
P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vydání 2007 - učebnice přímo určená pro tento základní kurz, pokrývá převážnou většinu učiva algoritmů, nevykládá syntaxi programovacího jazyka, jazyk Pascal se ale používá v programových ukázkách
P.Satrapa: Pascal pro zelenáče, Neocortex Praha 2001 - více vydání - učebnice programovacího jazyka Pascal, místo ní lze použít i jakoukoliv jinou učebnici Pascalu
P.Töpfer: Základy programování v úlohách, Scientia Praha 1997 - sbírka řešených úloh demonstruje použtí základních programových konstrukcí jazyka Pascal a návrh řešení základních úloh
Další komentáře
Poznámka k ukončení předmětu: ISP
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2007, léto 2008, zima 2008, léto 2009, zima 2009, léto 2010, zima 2010, léto 2011, zima 2011, zima 2012, zima 2013, zima 2014, zima 2015, zima 2016, zima 2017, zima 2018, zima 2019, zima 2020, zima 2021, zima 2022, zima 2023, zima 2024.