1. seminář - Opakování

TEACHINGZPC2

Pro spnění tohoto předmětu je nutné znát následující pojmy a konstrukce. V případě, že některé z nich neznáte můžete se podívat na podrobnější informace na stránkách z předchozího kurzu zde.

  1. Proměnné (datové typy, jejich deklarece a inicializace)
  2. Datové typy: char, int, float, double, ...
  3. Operátory (jejich arita) - aritmetické operátory, operátor přiřazení, přiřazení s aritmetickým operátorem, operátory ++ a --
  4. Funkce printf(), scanf()
  5. Větvení programu (podmínky, logické operátory, konstrukce if-else, konstrukce switch
  6. Cykly: while, for, do-while
  7. Příkazy break a continue
  8. Pole (definice, inicializace, přístup k prvkům)
  9. Řetězce - pole char
  10. Funkce (definice, deklarace, návratová hodnota, argumenty funkcí, volání funkce)
  11. Rozsah platnosti proměnných - lokální a globální proměnné
  12. Struktury
  13. Pojmenování typů pomocí typedef
  14. Chyby programu - syntaktické a sémantické

Úkoly

Naprogramujte funkci, která jako argument bere řetězec a vypisuje počet výskytů jednotlivých znaků ve vstupním řetězci.
Napište program, který rozhodne, zdali je daný rok přestupný. Rok je přestupný, pokud je dělitelný 4. Pokud je ovšem dělitelný 100, musí být také dělitelný 400.
Pomocí hrubé síly prolomte Caesarovu šifru: ”mrwfvqbfcryivfiqborxqlfrmnqanmirpvpbfvcerwrfarqnxbhcvgibopubqr”
Naprogramujte funkci, která pro zadané n vrátí n-tý prvek posloupnosti, která je zadána rekurentním vztahem: a1 = 14688, an + 1 = 1/2 an + 1200. (10. člen je roven 2424)
Naprogramujte funkci, která jako vstup bere 2 celočíselné kladné argumenty m a n větší rovny 2 a pracuje podle následujícího pseudokódu:
  1. Vypiš n - 1 mezer, pak řetězec "(\o/)"
  2. Opakun m krát:
    • Na nový řádek vypiš n teček, velké X a n teček
  3. na nový řádek vypiš 2*n + 1 krát X