PředmětyPředměty(verze: 901)
Předmět, akademický rok 2021/2022
  
Programování - NPRM001
Anglický název: Programming
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2004
Semestr: zimní
E-Kredity: 12
Rozsah, examinace: zimní s.:2/2 Z [hodiny/týden]
letní s.:2/2 Z+Zk [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Virtuální mobilita / počet míst: ne
Stav předmětu: zrušen
Jazyk výuky: čeština
Způsob výuky: prezenční
Třída: První ročník bak. studia M
První ročník M
Kategorizace předmětu: Informatika > Programování
Neslučitelnost : NPRF033, NPRG004, NPRG030, NPRG031
Záměnnost : NPRF033, NPRG004, NPRG031
Je neslučitelnost pro: NHIF030, NHIF029, NPRF023, NPRF041, NPRF040, NPRM018, NPRG004, NPRF033, NPRM026
Je záměnnost pro: NPRF041, NPRF023, NPRF033, NPRG004, NPRF040
Výsledky anket   Termíny zkoušek   Rozvrh   Nástěnka   
Anotace -
Poslední úprava: G_I (11.04.2003)
Přednáška pro 1. ročník bakalářského studia matematiky. Obsahem kursu je seznámení s prací na osobním počítači typu PC, základy programování v jazyce Pascal a Turbo Pascal a klíčové otázky z oblasti návrhu algoritmů a tvorby programů. Jednou z podmínek udělení zápočtu za ZS je úspěšné vykonání praktického testu u počítačů (odladění programu). Test zadává a hodnotí přednášející, každý student se testu může zúčastnit nejvýše třikrát. V letním semestru není získání zápočtu podmínkou konání zkoušky.
Literatura
Poslední úprava: G_I (16.03.2004)
  • J.Drózd, R.Kryl: Začínáme s programováním, Grada Praha 1992
  • 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
  • P.Töpfer: Programování - Rekurze, Fortuna Praha 1998
  • P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995
  • N.Wirth: Algoritmy a datové struktury, Alfa, Bratislava 1988
  • I.Libicher, P.Töpfer: Od problému k algoritmu a programu, Grada Praha 1992
  • různé učebnice a příručky na Turbo Pascal a Borland Pascal

Sylabus
Poslední úprava: G_I (14.04.2003)
1. Práce na PC v Turbo Pascalu
práce na PC, integrované prostředí Turbo Pascalu, ladící prostředky.

2. Jazyk Pascal a Turbo Pascal
  • algoritmus, správnost, vstupní a výstupní data, efektivita
  • program, programovací jazyk, chyby v programu, ladění
  • proměnná, konstanta
  • číselné typy, char, boolean, výčtový typ, interval
  • stavba výrazu a jeho vyhodnocení
  • základní příkazy v Pascalu (:=, if, while, repeat, složený)
  • hierarchická stavba příkazů, struktura programu
  • pole, for-cyklus, záznam, with, množina
  • znakový řetězec v Turbo Pascalu
  • procedury a funkce, parametry, lokalita, rekurze
  • práce se soubory v Turbo Pascalu
  • unity, návrh programu shora dolů
  • unit Crt v Turbo Pascalu
  • grafika na PC, unit Graph v Turbo Pascalu
  • typ ukazatel, dynamicky alokované proměnné
  • objekty v Turbo Pascalu.

3. Algoritmy a programování

  • Eukleidův algoritmus
  • Eratosthenovo síto
  • Hornerovo schéma
  • reprezentace dlouhých čísel v poli
  • vyhledávání v poli (sekvenční, binární, zarážka)
  • operace s maticemi
  • rekurze a možnosti jejího využití
  • metoda "rozděl a panuj"
  • prohledávání do hloubky (backtracking)
  • prohledávání do šířky (algoritmus "vlny")
  • časová a paměťová složitost a algoritmů, programů a problémů
  • odvození složitosti konkrétních algoritmů a programů
  • základní metody vnitřního třídění (přímé metody, quicksort, heapsort, mergesort, přihrádkové třídění)
  • vnější třídění (přímé a přirozené slučování)
  • lineární spojové seznamy a operace s nimi
  • realizace zásobníku a fronty v poli a spojovým seznamem
  • stromy, grafy, průchody stromem a grafem
  • binární vyhledávací stromy bez vyvažování, operace
  • aritmetické notace a metody vyhodnocení aritmetického výrazu
  • programová realizace základních grafových algoritmů (souvislost grafu, Dijkstrův algoritmus, minimální kostra, bipartitnost, topologické třídění)
  • základy objektového programování.

 
Univerzita Karlova | Informační systém UK