====== Zkouška 14.1.2020 ====== Jednotlivé programy pojmenujte číslem příkladu (01.py, 02.py, ...), zabalte do jednoho zip souboru a nahrajte do BRUTE (zkouska). Pokud budete nahrávat samostatné soubory, napište na začátek souboru do komentáře, o který příklad se jedná. ---- 1. Napište program, který hledá slova s nejvyšším počtem samohlásek v textovém souboru. Program načte textový soubor (cesta k souboru je zadána jako konstanta) a vypíše jednu řádku: N slovo kde ''N'' je počet samohlásek a ''slovo'' je detekované slovo s maximálním počtem samohlásek. Je-li takových slov víc, vypíše libovolné z nich. Na vstupu bude vždy alespoň jedno slovo. Slova jsou zapsána pouze ASCII znaky ('a-zA-Z') a jsou oddělená jednou či více mezerami. Hodnocení: 8 bodů ---- 2. Napište program, který který v poli celých čísel hledá nejbližší vyšší číslo k vybranému prvku pole. Nejbližší vyšší číslo je prvek pole, pro který platí: * jeho hodnota je vyšší než hodnota zadaného prvku pole, * absolutní rozdíl indexů zadaného prvku a tohoto prvku je minimální (je nejblíže) * pokud existují dva prvky, které splňují první dvě podmínky, pak je to menší z nich (menší podle hodnoty). **Vstup:** dvě řádky na standardním vstupu - pole celých čísel oddělených mezerou - jedno celé kladné číslo, které označuje index do pole **Výstup:** jedna řádka na standardní výstup, která obsahuje * hodnotu nejbližšího vyššího čísla (pokud existuje) * řetězec 'NaN' (bez uvozovek), pokud žádné vyšší číslo neexistuje Prvky v poli jsou indexovány od 0. Vstupy jsou vždy zadány správně, tj. vstupní pole má vždy nenulovou délku a index vstupního prvku je vždy validní. **Vstup:** 1 2 3 5 11 6 9 7 10 5 6 6 **Výstup:** 10 **Vysvětlení:** Nejbližšími vyššími čísly čísla 9 (číslo s indexem 6) jsou čísla 10 a 11, vzdálené od indexu 6 o dvě pozice. Vybírám tedy menší z nich. Hodnocení: 8 bodů ---- 3. Napište program, který vypíše sloupce 2D matice reprezentované 2D seznamem seřazené sestupně podle součtu prvků. Pokud jsou v matice dva sloupce se stejným součtem, vypíšou se v libovolném pořadí. **Vstup:** 1 2 3 4 3 4 3 5 3 5 1 8 **Výstup:** 4 5 8 2 4 5 3 3 1 1 3 3 Hodnocení: 8 bodů ---- 4. Napište program, který načte ze standardního vstupu textový řetězec a vypíše řetězec složený z prvních dvou a posledních dvou znaků vstupu. **Vstup:** Hello world **Výstup:** Held Hodnocení: 4 body ---- 5. Napište program pro konverzi arabského čísla v rozsahu 0 - 3999 na římské. V programu můžete využít následující seznam: conv = [[1000, 'M'], [900, 'CM'], [500, 'D'], [400, 'CD'], [ 100, 'C'], [ 90, 'XC'], [ 50, 'L'], [ 40, 'XL'], [ 10, 'X'], [ 9, 'IX'], [ 5, 'V'], [ 4, 'IV'], [ 1, 'I']] Hodnocení: 8 bodů ---- 6. Napište program pro kapitalizaci všech slov v textovém řetězci. **Vstup:** jenom tak klidne levituji ve vzduchu **Výstup:** Jenom Tak Klidne Levituji Ve Vzduchu Hodnocení: 4 body