# **NPRG013** Programování v jazyce Java

<{Box(infobox)}>
|-----|-----|
| **Stránka předmětu:** | [Web](https://d3s.mff.cuni.cz/cz/teaching/nprg013/) |
| **Učitel:** | [doc. RNDr. Petr Hnětynka, Ph.D.](https://www.mff.cuni.cz/cs/fakulta/organizacni-struktura/lide?hdl=1841) |
| **Odkaz do SISu:** | [NPRG013](https://is.cuni.cz/studium/predmety/index.php?do=predmet&kod=NPRG013) |
| **Diskuze:** | [Discord kanál](https://discord.com/channels/625428723302137876/760255536754458634) |

![public static void main(string[] args)](/NPRG013/slepice.png)
<{/Box}>

## Studijní materiály

- [Teorie a vypracované otázky](https://github.com/kohuto/MFF/tree/main/java) - by [Eugleo](https://github.com/Eugleo), [kohuto](https://github.com/kohuto) a další
- [Staré fórum Matfyzák](https://forum.matfyzak.cz/viewforum.php?f=250) - už jen v read-only módu, ale je tam pár relevantních příspěvků se zkouškovými otázkami a předchozími zadáními zápočtových testů

## Zkoušky

- [Zkouška 12. 1. 2026 by Filip Stupka](https://wiki.matfyz.cz/NPRG013/zkouska-12-01-2026.md)

## Zápočtové testy

#### Piškvorky po síti

- [Tic Tac Toe](./Zápočtový test tictactoe.jpg).
- [Formátování CSV](./Zápočtový test Formátování CSV)
- [Roboti](./Zápočtový test roboti)
- [Queue manager](./Zápočtový test Queue manager)


## Úkoly

#### 1. MULTIPLICATION TABLE
Úkolem je vytvořit program, který vypíše "malou násobilku" pro číslo zadané jako parametr programu.

#### 2.DYN-ARRAY
Úkolem je naimplementovat dynamické pole pomocí obyčejného pole.

#### 3. BIN-TREE
Úkolem je naimplementovat třídu, jejíž instance reprezentují binární vyhledávací strom. Data uložená ve stromu jsou typy int.

#### 4. JUSTIFY
Úkolem je vytvořit program, který zarovná text do bloku na zadaný počet znaků na řádek, tj. každý řádek má právě zadaný počet znaků.

#### 5. QUICK-SORT
Naimplementujte statickou metodu, která bere jako parametr pole intů a setřídí pole pomocí quicksortu. Ikdyž to není v zadání napsané, tak chtějí aby to bylo inplace.

#### 6. POST-CALC
Úkolem je vytvořit jednoduchou kalkulačku, která načítá vstup v postfixové notaci.

#### 7. USER-STAT
Úkolem je napsat program, který vypíše statistiku uživatelů na unixovém systému.