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.
- Proměnné (datové typy, jejich deklarece a inicializace)
- Datové typy:
char
,int
,float
,double
, ... - Operátory (jejich arita) - aritmetické operátory, operátor přiřazení, přiřazení s aritmetickým operátorem, operátory
++
a--
- Funkce
printf()
,scanf()
- Větvení programu (podmínky, logické operátory, konstrukce
if-else
, konstrukceswitch
- Cykly:
while
,for
,do-while
- Příkazy
break
acontinue
- Pole (definice, inicializace, přístup k prvkům)
- Řetězce - pole
char
- Funkce (definice, deklarace, návratová hodnota, argumenty funkcí, volání funkce)
- Rozsah platnosti proměnných - lokální a globální proměnné
- Struktury
- Pojmenování typů pomocí
typedef
- 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:
- Vypiš n - 1 mezer, pak řetězec "(\o/)"
- Opakun m krát:
- Na nový řádek vypiš n teček, velké X a n teček
- na nový řádek vypiš 2*n + 1 krát X