PředmětyPředměty(verze: 945)
Předmět, akademický rok 2023/2024
   Přihlásit přes CAS
Programování - NPRF033
Anglický název: Programming
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2007
Semestr: zimní
E-Kredity: 12
Rozsah, examinace: zimní s.:2/2, Z [HT]
letní s.:2/2, Z+Zk [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: zrušen
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Třída: Fyzika
Kategorizace předmětu: Informatika > Programování
Neslučitelnost : NPRG004, NPRM001
Záměnnost : NPRG004, NPRM001
Je neslučitelnost pro: NPRF041, NPRG004, NPRF040, NPRM001
Je záměnnost pro: NPRF040, NPRF041, NPRM001, NPRG004
Výsledky anket   Termíny zkoušek   Rozvrh   Nástěnka   
Anotace -
Poslední úprava: T_KSVI (12.04.2001)
Základní kurs programování pro studenty 1. ročníku magisterského studia fyziky. Obsahem kursu je programovací jazyk Pascal a Turbo Pascal, otázky 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: RNDr. Pavel Zakouřil, Ph.D. (05.08.2002)
  • [1] J.Drózd, R.Kryl: Začínáme s programováním, Grada Praha 1992
  • [2] P.Töpfer: Základy programování v úlohách, Scientia Praha 1997
  • [3] P.Töpfer, D.Töpferová: Programování - Sbírka úloh, Fortuna Praha 1998
  • [4] P.Töpfer: Programování - Rekurze, Fortuna Praha 1998
  • [5] P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995
  • [6] N.Wirth: Algoritmy a datové struktury, Alfa, Bratislava 1988
  • [7] I.Libicher, P.Töpfer: Od problému k algoritmu a programu, Grada Praha 1992
  • [8] různé učebnice a příručky na Turbo Pascal a Borland Pascal

Sylabus
Poslední úprava: G_I (28.05.2001)
1. Práce na PC v Turbo Pascalu
práce na PC, základy operačního systému MS-DOS - role algoritmizace a programování při využívání počítačů - 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 - typ řetězec v Turbo Pascalu - procedury a funkce, parametry, lokalita, rekurze - práce se soubory - 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é.

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 - chyby při výpočtech s reálnými čísly - 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 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í - hašování - programová realizace základních grafových algoritmů (souvislost grafu, Dijkstrův algoritmus, minimální kostra, topologické třídění) - principy objektového programování.

4. Rozšiřující informace
dnešní trendy (programování řízené událostmi, opakované užívání softwarových komponent, užívané programovací jazyky, moderní ladicí prostředky, týmová práce ve vývoji software).

 
Univerzita Karlova | Informační systém UK