Programování 1 pro matematiky

Ve školním roce 2019/2020 vedu cvičení z předmětu Programování 1 [NMIN111], což je základní kurs programování pro studenty matematiky. Cvičení se koná každý pátek od 10:40 v učebně K11.

Programujeme v Pythonu 3, používáme interaktivní prostředí IDLE.

Pokud se mnou chcete cokoliv probrat, jste vítáni v mé pracovně S322 na Malé Straně. Případně napište e-mail na adresu mares+p1m@kam.mff.cuni.cz.

Zápočet se udílí za získání alespoň 70 bodů za domácí úkoly. Úkoly se odevzdávají v ReCodExu.

Co jsme dělali

datum téma
4. 10.
11. 10.
18. 10.
  • Slidy: Seznamy
  • Výpis seznamu pozpátku
  • Fibonacciho čísla
  • Eratosthenovo síto
  • Další úkoly: Je dána posloupnost čísel...
    • zjistěte, jestli jsou všechna navzájem různá.
    • najděte dvojici s co nejmenším rozdílem.
    • vypište všechna opakující se čísla (ale každé jen jednou).
    • Umíte předchozí úkoly vyřešit efektivněji, pokud víte, ze všechna zadaná čísla leží od 1 do 100?
25. 10.
1. 11.
  • Slidy: Funkce
  • Napište funkci, která:
    • vrátí nejmenší ze tří čísel: řešení
    • vrátí n-té Fibonacciho číslo: řešení
    • spočítá, kolik je v seznamu sudých čísel: řešení
    • vybere ze seznamu sudá čísla (a vrátí jejich seznam): řešení
    • dostane dva seřazené seznamy čísel a vrátí jejich průnik: řešení
    • dostane koeficienty kvadratické rovnice ax2 + bx + c = 0 a vrátí seznam jejích kořenů: řešení
    • vrátí číslo „zrcadlové“ k zadanému, například pro 12345 je to 54321.
8. 11.
  • Slidy: Seznamy, řezy a řetězce
  • Napište funkci, která:
    • otočí řetězec (datelletad)
    • otočí číslo v desítkové soustavě (10244201; může se hodit, že int(x) převádí z řetězce na číslo a str(x) opačně)
    • spočítá, kolik zadaný řetězec obsahuje slov (oddělených mezerami)
    • … kolik různých slov
    • vyhodnotí výraz se sčítáním (12+34+147)
    • vyjádří číslo česky (123"sto dvacet tři")
8. 11. Plán:
  • Slidy: List comprehensions
  • Napište funkci, která:
    • vytvoří tabulku násobilky (a×b pro všechna a, b od 1 do daného čísla)
    • zjistí průnik dvou (neuspořádaných) seznamů
    • vybere z textu slova, která jsou palindromická (čtou se stejně popředu jako pozpátku)
    • spočítá skalární součin dvou vektorů
    • vynásobí dvě matice (ne nutně čtvercové)
    • seřadí slova na řádku podle jejich délky (nápověda: nejprve slova převést na dvojice (délka, slovo), ty pak setřídit a nakonec z dvojic zase udělat slova)

Odkazy

Stránku spravuje Martin Mareš