B_UPg Úvod do programování

Vysoká škola finanční a správní
zima 2013
Rozsah
2/2. 14 hodin KS/semestr. 7 kr. Ukončení: zk.
Vyučující
doc. RNDr. Pavel Töpfer, CSc. (přednášející)
prof. RNDr. Ondřej Čepek, Ph.D. (přednášející)
Garance
doc. RNDr. Pavel Töpfer, CSc.
Katedra informatiky a matematiky (FES, KIM) – Katedry – Vysoká škola finanční a správní
Kontaktní osoba: Dagmar Medová, DiS.
Rozvrh seminárních/paralelních skupin
B_UPg/cA1PH: Po 10:30–11:14 E303PC, Po 11:15–12:00 E303PC, P. Töpfer
B_UPg/cA2PH: Po 7:00–7:44 E303PC, Po 7:45–8:30 E303PC, P. Töpfer
B_UPg/pAPH: Po 8:45–9:29 E227, Po 9:30–10:15 E227, P. Töpfer
B_UPg/vAPH: Pá 25. 10. 15:30–17:00 E303PC, 17:15–18:45 E303PC, Pá 8. 11. 12:00–13:30 E303PC, Pá 22. 11. 13:45–15:15 E303PC, 15:30–17:00 E303PC, Pá 6. 12. 13:45–15:15 E303PC, 15:30–17:00 E303PC, O. Čepek
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
Tento předmět je základním kurzem programování pro posluchače prvního ročníku bakalářského studia Aplikované informatiky.
Na konci tohoto kurzu bude student schopen:
řešit jednoduché algoritmické úlohy;
používat základní konstrukce programovacích jazyků;
vytvářet a ladit programy v integrovaném vývojovém prostředí;
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. Textové soubory – operace, použití, formátování výstupu.
  • 10. Záznam. Datové soubory, přímý přístup. Vnější třídění.
  • 11. Halda, operace na haldě, implementace haldy, heapsort.
  • 12. Pseudonáhodná čísla. Dekompozice problému, programování proti rozhraní. Metody návrhu a ladění programu - příklady.
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
Výuka probíhá formou přednášek a cvičení v prezenčním studiu a řízených skupinových konzultací v kombinovaném studiu. Minimální povinná účast na cvičeních v prezenčním studiu je 75%, na řízených skupinových konzultacích v kombinovaném studiu 50%. Studentům, kteří nesplní povinný rozsah účasti, budou v průběhu semestru nebo po jeho skončení zadány dodatečné studijní povinnosti.
Metody hodnocení
Předmět je zakončen zápočtem a písemnou zkouškou. Podmínkou pro udělení zápočtu je vypracování stanoveného počtu domácích prací, které spočívají v návrhu a odladění menších programů. V písemné zkoušce je úkolem napsat program, proceduru nebo funkci pro řešení zadného problému. Hodnotí se správnost a efektivita zvoleného postupu a výběr odpovídajících prostředků programovacího jazyka.
Navazující předměty
Informace učitele
http://ksvi.mff.cuni.cz/~topfer/vsfs/
Studijní text a ukázkové programy z přednášek i ze cvičení jsou k dispozici na Internetu (odkaz z webové stránky předmětu).
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
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je vyučován každoročně.
Bb1.
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, léto 2012, zima 2012, zima 2014, zima 2015, zima 2016, zima 2017, zima 2018, zima 2019, zima 2020, zima 2021, zima 2022, zima 2023, zima 2024.