B_UPg Úvod do programování

Vysoká škola finanční a správní
zima 2008
Rozsah
2/2/0. 14hodin/semestr. 6 kr. Ukončení: z.
Vyučující
prof. RNDr. Ondřej Čepek, Ph.D. (cvičící)
doc. RNDr. Pavel Töpfer, CSc. (cvičící)
Garance
prof. RNDr. Ondřej Čepek, Ph.D.
Katedra informatiky a matematiky (FES, KIM) – Katedry – Vysoká škola finanční a správní
Kontaktní osoba: Lenka Bažantová
Rozvrh seminárních/paralelních skupin
B_UPg/cAPH: Po 10:30–11:14 DELL ROOM E302PC, Po 11:15–12:00 DELL ROOM E302PC, P. Töpfer
B_UPg/pAPH: Po 8:45–9:29 DELL ROOM E302PC, Po 9:30–10:15 DELL ROOM E302PC, P. Töpfer
B_UPg/vA21PH: Pá 10. 10. 12:00–13:30 DELL ROOM E302PC, 13:45–15:15 DELL ROOM E302PC, Pá 24. 10. 12:00–13:30 DELL ROOM E302PC, 13:45–15:15 DELL ROOM E302PC, Pá 7. 11. 12:00–13:30 DELL ROOM E302PC, Pá 21. 11. 12:00–13:30 DELL ROOM E302PC, 13:45–15:15 DELL ROOM E302PC, O. Čepek
B_UPg/vA22PH: Pá 10. 10. 15:30–17:00 E303PC, 17:15–18:45 E303PC, Pá 24. 10. 15:30–17:00 E303PC, 17:15–18:45 E303PC, Pá 7. 11. 13:45–15:15 E303PC, Pá 21. 11. 15:30–17:00 E303PC, 17:15–18:45 E303PC, O. Čepek
Předpoklady
K tomuto předmětu nejsou nutné žádné zvláštní znalosti nad rámec běžných vědomostí.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Anotace je stejná pro obě formy studia.
Základní kurz programování pro posluchače 1. ročníku bakalářského studia oboru Aplikovaná informatika. Obsahem kursu jsou základy algoritmizace, základní konstrukce programovacího jazyka Pascal, seznámení s vývojem a laděním programů v integrovaném vývojovém prostředí Free Pascal nebo Turbo Pascal a řešení jednoduchých algoritmických úloh.
Osnova
  • Tato osnova je určena pro prezenční studium, průběh výuky pro kombinované studium je uveden ve studijních materiálech formou metodického listu (ML).
  • Obsah přednášek:
  • 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. Struktura programu v Pascalu. Proměnná, identifikátor, typ. Přehled datových 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. Příkaz case. Typ Boolean, logické výrazy. Pole.
  • 5. 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í. Zásobník a fronta.
  • 6. Práce s dlouhými čísly v poli. Vícerozměrná pole. Procedury a funkce – význam, lokalita, viditelnost identifikátorů. Předávání parametrů hodnotu a odkazem.
  • 7. Pseudonáhodná čísla, generátor pseudonáhodných čísel. Příklady využití pole a tvorby programu.
  • 8. Znaky a znakové řetězce – char, string. Hornerovo schéma. Poziční číselné soustavy, převody.
  • 9. Záznam, příkaz with. Textové soubory – operace, použití, formátování výstupu.
  • 10. Datové soubory, přímý přístup. Vnější třídění. Návrh a ladění programů shora/zdola. Dekompozice problému, programování proti rozhraní. Ukázky řešení úloh.
  • 11. Halda, operace na haldě, implementace haldy, heapsort.
  • 12. Modulární programování, unity. Unit CRT.
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
  • P.Töpfer, D.Töpferová: Programování - Sbírka úloh, Fortuna Praha 1998
Metody hodnocení
Předmět je zakončen zápočtem. K získání zápočtu se požaduje
1. Pravidelná účast na výuce - je nutná minimálně 50% účast na přednáškách a cvičeních.
2. Samostatné vypracování zadaných domácích úkolů a odevzdání jejich řešení ve stanovených termínech - je nutné správně a včas vyřešit alespoň 50% ze zadaných domácích úkolů.
Zápočty se udělují na posledním cvičení v semestru.
Z předmětu Úvod do programování není zkouška, znalosti probraného učiva budou ovšem požadovány u zkoušky z bezprostředně navazujícího předmětu Programování v letním semestru.
Navazující předměty
Informace učitele
http://ksvi.mff.cuni.cz/~topfer/vsfs/
Prezentace k přednáškám v PowerPointu 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),
P.Töpfer, D.Töpferová: Programování - Sbírka úloh, Fortuna 1998 (sbírka jednoduchých i těžších úloh na procvičování),
P.Satrapa: Pascal pro zelenáče, Neocortex Praha 2001 - více vydání (místo ní lze použít jinou učebnici Pascalu).
Další komentáře
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, léto 2009, zima 2009, léto 2010, zima 2010, léto 2011, zima 2011, léto 2012, 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.