Cvičení z "Programování pro fyziky" (pondělí, 14:00 - 15:30)
Zadání domácích úloh
- Napište program, který vytiskne prvních n řádek trojúhelníku složeného z hvězdiček, zarovnaného vpravo (na i-tém řádku vždy i hvězdiček). Číslo n načtěte z klávesnice. (termín odevzdání: 29.10.) (řešení)
- Napište program, který vytiskne všechna prvočísla od 2 do N. (termín odevzdání: 12.11.) (řešení)
- Napište program, který pro zadanou počáteční rychlost a úhel spočítá dráhu šikmého vrhu a výsledek vykreslí. (termín odevzdání: 19.11.) (řešení)
- Zadefinujte si vlastní funkce pro skalární a vektorové násobení a s jejich pomocí na konkrétně zvolených vektorech A, B, C demonstrujte platnost pravidla "BAC minus CAB". (termín odevzdání: 26.11.) (řešení)
- Zadání 5. domácího úkolu (termín odevzdání: 3.12.) (řešení)
- "Ověřte" centrální limitní teorém pomocí náhodných čísel. Vygenerujte celem milión desetic čísel od 0 do 1 (tj. celkem deset miliónů náhodných čísel). Pro každou z nich spočítejte průměrnou hodnotu (bude mezi 0 a 1, hodnoty kolem 0.5 budou nejčastější). Vytvořte histogram těchto průměrných hodnot (100 binů od 0 do 1) a vykreslete jej, optimálně normovaný na "hustotu pravděpodobosti" (tj. tak, aby jeho integrál byl roven 1). Překreslete odpovídající Gaussovku (střední hodnota 0.5, sigma=1/sqrt(12*N), kde N=10). (termín odevzdání: 17.12.) (jak by mělo vyjít) (řešení)
- Zadání 7. domácího úkolu (termín odevzdání: 17.12.) (jak by mělo vyjít) (řešení)
- Zadání 8. domácího úkolu (termín odevzdání: 7.1.) (řešení)
Hodnocení domácích úloh (na zápočet potřeba 65b, ostatní individuálně)
Jméno |
DÚ 1 |
DÚ 2 |
DÚ 3 |
DÚ 4 |
DÚ 5 |
DÚ 6 |
DÚ 7 |
DÚ 8 |
Celkem |
Radek Brabenec |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
|
70 (zápočet) |
Emma Deáková |
10 |
5 |
10 |
8 |
10 |
10 |
10 |
7 |
70 (zápočet) |
Boris Gut |
10 |
10 |
0 |
10 |
10 |
10 |
9 |
9 |
68 (zápočet) |
Amálie Anna Kulhánková |
10 |
10 |
7 |
10 |
10 |
10 |
10 |
|
67 (zápočet) |
Adam Kutálek |
10 |
8 |
10 |
10 |
10 |
10 |
9 |
9 |
76 (zápočet) |
Adam Oliver Kužílek |
10 |
9 |
10 |
10 |
10 |
10 |
10 |
|
69 (zápočet) |
Šimon Láznička |
10 |
9 |
10 |
10 |
10 |
10 |
10 |
|
69 (zápočet) |
Xuan My Le |
10 |
9 |
10 |
10 |
10 |
10 |
10 |
|
69 (zápočet) |
Vojtěch Lembej |
10 |
9 |
10 |
10 |
10 |
10 |
10 |
10 |
79 (zápočet) |
Ivan Lichý |
10 |
8 |
10 |
10 |
10 |
10 |
10 |
|
68 (zápočet) |
Silvia Majbová |
10 |
7 |
10 |
10 |
10 |
10 |
10 |
10 |
77 (zápočet) |
Jan Mareš |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
Matyáš Mazal |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
9 |
79 (zápočet) |
Petr Vitko |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
|
70 (zápočet) |
Úlohy probrané na cvičení
2. října 2023
Slovní úlohy "s algoritmickou tématikou"
9. října 2023
- Ahoj světe!
- Nejjednodušší program, vytiskne text
- Obsah kruhu
- Načte poloměr kruhu a spočítá jeho obsah
- Sudé liché
- Načte číslo a určí, zda je sudé či liché
- Kvadraty s "for" cyklem
- Vytiskne kvadráty čísel od 0 do 10 pomocí for cyklu
- Součet čísel od 1 do 100
- Spočítá a vytiskne součet čísel od 1 do 100
- Faktoriál
- Vypočítá faktoriál zadaného čísla
16. října 2023
- Trojciferná čísla s ciferným součtem 16
- Zjistí, kolik je trojciferných čísel s ciferným součtem 16
- Pí řada
- Spočítá hodnotu čísla Pí jako součet (nekonečné) řady
23. října 2023
- Je prvočíslo
- Zjistí, zda je dané číslo prvočíslo či nikoli
- Trojúhelník
- Vytiskne trojúhelník složený z hvězdiček
- Kvadráty s "while" cyklem
- Vytiskne kvadráty čísel od 0 do 10 pomocí while cyklu
- Ciferný součet
- Vytiskne ciferný součet zadaného čísla
- Aritmetický průměr
- Načte řadu reálných čísel (ukončená nulou) a vytiskne její aritmetický průměr
- Euklid
- Najde největšího společného dělitele dvou zadaných čísel
30. října 2023
- Součet řady 1/2 + 1/4 + 1/8 + ...
- pomocí while
- Nejdelší rostoucí úsek
- Vytiskne délku nejdelšího rostoucího úseku v zadané posloupnosti (posloupnost ukončená číslem 0)
- Rozložení zadaného čísla na prvočinitele
- Načte číslo a vytiskne jeho rozklad na prvočitele
- Úvod do seznamů (list)
- Učíme se dělat seznamy
6. listopadu 2023
- Pokračování se seznamy (list)
- Už je celkem umíme
- Dvojková soustava
- převede zadané číslo do dvojkové soustavy
- Najdi maximum
- Vytiskne nejvyšší číslo obsažené v daném poli
- Pascalův trojúhelník
- vytiskne prvních N řádek Pascalova trojúhelníku
13. listopadu 2023
- Opakující se výskyty
- která čísla se v poli opakují a počet jejich výskytů
- Bubblesort
- Řazení pole pomocí "probublávání"
- Úvod do polí (np.array)
- Učíme se dělat pole
- Úvod do kreslení (matplotlib.pyplot)
- Učíme se kreslit
20. listopadu 2023
- Pokračování s poli (np.array)
- Už je celkem umíme
- Pokračování s kreslením (matplotlib.pyplot)
- Už to celkem umíme
- Najdi číslo v setřízeném poli
- Zjistí, zda se dané číslo vyskytuje či nevyskytuje v poli
- Úvod do funkcí
- Učíme se psát vlastní funkce
- Lokální / globální proměnné
- Tušíme co a jak
- Absolutní hodnota
- Funkce vracející absolutní hodnotu čísla
- Faktoriál
- výpočet faktoriálu pomocí rekurze
- Fibbonaciho posloupnost
- pomocí rekurze
27. listopadu 2023
- Hanojské věže
- řešení pomocí rekurze
- Úvod do náhodných čísel (random)
- Učíme se generovat náhodná čísla
- Střední hodnota a směrodatná odchylka
- Výpočet, netřeba si pamatovat všechny
- Střední hodnota a směrodatná odchylka rychleji (numba njit)
- Demonstrace numba.njit
- Monte Carlo - výpočet Pí
- výpočet čísla Pí pomocí náhodných čísel
4. prosince 2023
- Půlení intervalu
- řešení rovnice metodou půlení intervalů
- Newtonova metoda tečen
- řešení rovnice metodou tečen
- Quicksort
- řazení pole
- Quicksort 2
- jiná verze algoritmu (bonus, nedělali jsme, jen zmiňovali)
- Úvod do práce se soubory
- ASCII soubory + np.save/savez/load
18. prosince 2023
- "Vzorová písemka"
- odkaz na google colab
- Řešení prvního příkladu
- snad
- Řešení příkladu dvě A
- to
- Řešení příkladu dvě B
- takhle
- Řešení příkladu tři
- může
- Řešení příkladu čtyři
- být
- Zbytek práce se soubory
- pickle + json
- Numerické řešení diferenciální rovnice 1. řádu
- nejjednodušší, Eulerova metoda
- Numerické řešení diferenciální rovnice 2. řádu (harmonický oscilátor)
- polohu počítáme z nové rychlosti - vede k lepší přesnosti
8. ledna 2024
- Neharmonické kmity
- a testování různých počátečních podmínek
- Obdoba minulého příkladu
- oddělení "řešiče" do zvláštní funkce a reprezentace polem
- Oběh Země kolem Slunce
- rádi bychom dostali kružnici
- Oběh Země kolem Slunce
- přesnější metoda
- Oběh Země kolem Slunce
- s využitím knihovny
- Náhodná procházka
- 1D, střední uražená vzdálenost
- Cesta koně
- mezi dvěma poli na šachovnici