SYLLABUS 2.25 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
=== Programování 1 ===

Základní kurs programovacího jazyka Python (0/2 Z).

Cvičení, jehož součástí je výklad programovacího jazyka.
Zápočet se uděluje za domácí úkoly zadávané během semestru.

Značení:
  "-" jsou části výkladu
  "#" příklady konkrétních programů
  (n) udává plánovaný počet hodin

## Základy (1)
- Python jako kalkulačka
- celá čísla
- floaty a problémy s přesností
- operátory a jejich priority
- přiřazení
- 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)
# rozklad čísla na číslice
# znaky dělitelnosti jako algoritmy
# Euklidův algoritmus
# prvočísla dělením do odmocniny
# faktorizace

## Cykly a pole (2)
- for cykly, range()
- break, continue
- seznamy používané jako pole
- přiřazení seznamu přiřazuje pouze odkaz
- časová složitost, spíš jen intuitivně
# vyhodnocení polynomu (Hornerovo schéma)
# k-tý nejmenší prvek v čase k*n
# Eratosthenovo síto
# násobení matic
# Gaussova eliminace

## Třídění a vyhledávání (1)
# elementární třídicí algoritmy
# binární vyhledávání
# hledání kořenů funkcí: půlení intervalu, lineární interpolace

## Funkce (1)
- definice a volání funkcí
- nepovinné parametry
Martin Mareš's avatar
Martin Mareš committed
49
* abstrakce a modularita programů
50
- lokální identifikátory a jejich viditelnost
Martin Mareš's avatar
Martin Mareš committed
51
52
* princip rekurze
* předávání funkcí jiným funkcím
53
54
55
56
57
58
59
60
61

## Knihovny I a grafika (1)
- používání knihoven, import
- kreslení grafů pomocí matplotlib

## Seznamy a řetězce (2)
- seznamy a operace s nimi
- fronta a zásobník
- iterování přes seznam
Martin Mareš's avatar
Martin Mareš committed
62
- řezy a přiřazování do nich
63
64
- list comprehension
- stringy
Martin Mareš's avatar
Martin Mareš committed
65
- formátování
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# slévání setříděných posloupností

## Datové struktury (1)
- podrobněji o typovém systému
- tuples
- slovníky a operace s nimi
- výjimky a jejich odchytávání
# práce se stromy

## Objekty (1)
- třídy a objekty
- popis reality pomocí objektů
- odvozování typů, dědičnost

## Knihovny II a soubory (1)
- práce se soubory
- standardní knihovna
Martin Mareš's avatar
Martin Mareš committed
83
- random
84
85
86
# načítání a vypisování dat v různých formátech

(zbývající hodiny jsou věnovány procvičování)