SubjectsSubjects(version: 970)
Course, academic year 2024/2025
   Login via CAS
Programming - NPRF033
Title: Programování
Guaranteed by: Department of Software and Computer Science Education (32-KSVI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2007
Semester: winter
E-Credits: 12
Hours per week, examination: winter s.:2/2, C [HT]
summer s.:2/2, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: cancelled
Language: Czech
Teaching methods: full-time
Class: Fyzika
Classification: Informatics > Programming
Incompatibility : NPRG004, NPRM001
Interchangeability : NPRG004, NPRM001
Is incompatible with: NPRF041, NPRG004, NPRF040, NPRM001
Is interchangeable with: NPRF040, NPRF041, NPRM001, NPRG004
Annotation -
Basic course of programming for students of first year of magister study of physics. Content of course is programming language Pascal (and Turbo Pascal), design of algorithms and programs.
Last update: T_KSVI (12.04.2001)
Literature - Czech
  • [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

Last update: Zakouřil Pavel, RNDr., Ph.D. (05.08.2002)
Syllabus - Czech
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).

Last update: G_I (28.05.2001)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html