Cvičení z "Programování pro fyziky" (pondělí, 14:50, PUČ)

email address as a .gif file



Zadání domácích úloh

  1. Napište program, který načte číslo z klávesnice a vytiskne tolik řádek "trojúhelníku složeného z hvězdiček". (řešení)
    *
    **
    ***
    ****
    *****
    
  2. Napište program, který zjistí délku nejdelšího rostoucího úseku v zadané posloupnosti přirozených čísel. Posloupnost je ukončená nulou ("0"), tj. zadána ve formátu "číslo-enter-číslo-enter-číslo-enter-nula-enter". Příklad: pro posloupnost 1-2-3-1-6-7-9-2-5 vytiskne číslo "4". (řešení)
  3. Napište program, který vytiskne prvních N řádek Pascalova trojúhelníku. (řešení)
  4. Napište program, který zjistí, zda se zadané číslo vyskytuje v daném SETŘÍZENÉM poli (logaritmická časová složitost, využití spodního+horního indexu, které určují rozsah, kde se prvek může vyskytovat). (řešení)
  5. Zadání 5. domácího úkolu ("bac minus cab"). (řešení)
  6. Zadání 6. domácího úkolu ("osvětlení místnosti"). (jak by mělo vyjít) (řešení)
  7. Zadání 7. domácího úkolu ("numerické integrování"). (řešení)
  8. Zadání 8. domácího úkolu ("šikmý vrh s odporem vzduchu"). (ř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
Dominika Brezinová 10 10 10 8 4 8 10 5 65 (zápočet)
Miroslav Edler 0 10 10 10 6 10 10 10 66 (zápočet)
Ali Hammoud 10 10 10 10 10 10 10 0 70 (zápočet)
Bohumil Hora 10 10 10 10 10 10 10 0 70 (zápočet)
David Kozák 10 10 10 10 10 9 10 0 69 (zápočet)
Kryštof Krsek 0 0 0 0 0 0 0 0 0
Tomáš Moravčík 10 10 10 10 10 10 10 0 70 (zápočet)
Sára Palatková 10 10 10 10 8 10 10 0 68 (zápočet)
Vojtěch Partík 10 10 10 10 10 10 10 10 80 (zápočet)
Lucie Pospichal 10 5 10 10 10 10 10 0 65 (zápočet)
Jakub Svoboda 0 0 0 0 0 0 0 0 0
Dominik Štolfa 10 6 10 10 10 8 4 8 66 (zápočet)
Jakub Tibitancl 0 0 0 0 0 0 0 0 0
Denisa Vizyová 10 0 10 0 7 0 10 5 42
Tadeáš Wilczek 10 10 10 10 10 10 0 10 70 (zápočet)

Úlohy probrané na cvičení

7. října 2019

Ahoj světe!
Nejjednodušší program, vytiskne text

14. října 2019

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
Trojciferná čísla s ciferným součtem 16
Zjistí, kolik je trojciferných čísel s ciferným součtem 16

21. října 2019

Sudá čísla
Vytiskne (sestupně) sudá čísla od 40 do 0
Kvadratická rovnice
Vyřeší zadanou kvadratickou rovnici
Násobilka
Vytiskne tabulku s malou násobilkou
Pí řada
Spočítá hodnotu čísla Pí jako součet (nekonečné) řady
Prvočíslo
Zjistí, zda je dané číslo prvočíslo či nikoli

4. listopadu 2019

Trojúhelník z hvězdiček
Zarovnaný vpravo
Kvadráty s "while" cyklem
Vytiskne kvadráty čísel od 0 do 10 pomocí while cyklu
Kvadráty s "repeat" cyklem
Vytiskne kvadráty čísel od 0 do 10 pomocí cyklu repeat
Aritmetický průměr
Načte řadu reálných čísel (ukončená nulou) a vytiskne její aritmetický průměr
Ciferný součet
Vytiskne ciferný součet zadaného čísla
Euklid
Najde největšího společného dělitele dvou zadaných čísel
Kvadráty čísel od -1 do 1 s krokem 0.1
...a následné vykreslení pomocí GNU Plotu

11. listopadu 2019

Rozložení zadaného čísla na prvočinitele
Načte číslo a vytiskne jeho rozklad na prvočitele
Naplň a tiskni pole
Základní demonstrace práce s poli
Najdi maximum
Vytiskne nejvyšší číslo obsažené v daném poli
Najdi číslo
Zjistí, zda se dané číslo vyskytuje či nevyskytuje v poli
Dvojková soustava
převede zadané číslo do dvojkové soustavy
Vypíše všechna prvočísla od 2 do N
Eratosthenovo síto

18. listopadu 2019

Opakující se výskyty
která čísla se v poli opakují a počet jejich výskytů
Bubblesort
Řazení pole pomocí "probublávání"
Hledání opakovaných výskytů v setřízeném poli
vytiskne, která čísla se v poli opakují a počet jejich výskytů

25. listopadu 2019

Absolutní hodnota
Funkce vracející absolutní hodnotu čísla
Procedura prohazující hodnoty dvou čísel
Demonstrace předávání odkazem
Minimum a maximum daného pole
Předávání pole a hodnot odkazem
Faktoriál
výpočet faktoriálu pomocí rekurze
Fibbonaciho posloupnost
pomocí rekurze

2. prosince 2019

Hanojské věže
řešení pomocí rekurze
Půlení intervalů
řešení rovnice metodou půlení intervalů
Součet na dvou kostkách 7
určení pravděpodobnosti, že součet bude roven 7 pomocí náhodných čísel
Monte Carlo - výpočet Pí
výpočet čísla Pí pomocí náhodných čísel
Zobrazí obsah daného textového souboru
základní práce se soubory

16. prosince 2019

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
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í procedury
Oběh Země kolem Slunce
rádi bychom dostali kružnici

6. ledna 2020

Náhodná procházka
1D, střední uražená vzdálenost
ASCII tabulka
vytiskne ASCII tabulku
Sčítání velkých čísel
reprezentace pomocí řetězců