SubjectsSubjects(version: 902)
Course, academic year 2022/2023
   Login via CAS
Programming - NPRM001
Title: Programování
Guaranteed by: Department of Software and Computer Science Education (32-KSVI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2004
Semester: winter
E-Credits: 12
Hours per week, examination: winter s.:2/2 C+Ex [hours/week]
summer s.:2/2 C+Ex [hours/week]
Capacity: unlimited
Min. number of students: unlimited
Virtual mobility / capacity: no
State of the course: cancelled
Language: Czech
Teaching methods: full-time
Class: První ročník bak. studia M
První ročník M
Classification: Informatics > Programming
Incompatibility : NPRF033, NPRG004, NPRG030, NPRG031
Interchangeability : NPRF033, NPRG004, NPRG031
Is incompatible with: NHIF030, NHIF029, NPRF023, NPRF041, NPRF040, NPRM018, NPRG004, NPRF033, NPRM026
Is interchangeable with: NPRF041, NPRF023, NPRF033, NPRG004, NPRF040
Annotation -
Last update: T_KSVI (12.04.2001)
A basic course of programming for students of mathematics. Beside programming in Pascal and Borland Pascal on personal computer it covers the main problems of algorithm and program design. For successful passing of the winter semester it is required (beside other conditions) to pass a practical test on a PC (writing a small program). The test is prescribed and evaluated by the lecturer. Each student has three tryouts. Credit from the seminary is not required before passing the exam in the summer semester.
Literature - Czech
Last update: 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

Syllabus - Czech
Last update: 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í.

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html