Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (18.01.2018)
Základy programovacího jazyka Python
- floaty a problémy s přesností
- operátory a jejich priority
- základní podmínky a cykly (while)
- struktura programu: komentáře, odsazování
- triviální input() a print()
- ladění programu, používání vývojového prostředí (IDLE/PyCharm)
- seznamy používané jako pole
- přiřazení seznamu přiřazuje pouze odkaz
- abstrakce a modularita programů
- lokální identifikátory a jejich viditelnost
- předávání funkcí jiným funkcím
- používání knihoven, import
- kreslení grafů pomocí matplotlib
- podrobněji o typovém systému
- slovníky a operace s nimi
- výjimky a jejich odchytávání
- popis reality pomocí objektů
- odvozování typů, dědičnost
Základní algoritmy
- prvočísla dělením do odmocniny
- vyhodnocení polynomu (Hornerovo schéma)
- k-tý nejmenší prvek v čase k*n
- elementární třídicí algoritmy
- hledání kořenů funkcí: půlení intervalu, lineární interpolace
- slévání setříděných posloupností
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (11.10.2017)
1. Typical programming language elements and mechanisms, as exemplified in the Turbo Pascal language
- variables, constants, types, variable initializers
- primitive and compound data types (numbers, characters, booleans, enumerated types, arrays, lists, strings of symbols)
- simple and compound statements (assignment, if, while, repeat, for, case, with)
- text files (including formatted output)
- procedures and functions (local identifiers, parameter passing mechanisms, recursion)
- basic compiler directives (memory limits, run-time checks)
2. Basic algorithms, data structures and programming techniques
- algorithm, correctness, input/output data
- basic notions of algorithmic efficiency
- divisibility, Euclid's algorithm
- primality testing, the sieve of Eratosthenes
- dividing an integer into digits, positional notation for numbers
- array search algorithms (sequential, binary, sentinel)
- sorting data in an array (internal sorting)
- implementing stacks and queues using an array
- higher-precision arithmetic ("long numbers")
- recursion, backtracking, divide and conquer
- depth-first search and breadth-first search
3. Creating programs
Working with an IDE (integrated development environment), creating and debugging programs - practically demonstrated using the Turbo Pascal or Free Pascal IDE (editor, compiler, debugging tools - tracing, examining variable values etc.)
|