Zkouška 21.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í:

Vstup: dvě řádky na standardním vstupu

  1. pole celých čísel oddělených mezerou
  2. jedno celé kladné číslo, které označuje index do pole

Výstup: jedna řádka na standardní výstup, která obsahuje

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 funkci, která vykreslí na obrazovku šachovnici o velikosti N x M, maximální velikost je 10×10. Při kreslení šachovnice jsou použity dva různé ASCII znaky. Znaky a velikost šachovnice jsou argumenty funkce. Při nesprávně zadaných argumentech funkce vypíše ERROR.

Příklad: šachovnice 8×3

def sachovnice (a, b, c, d)
    pass
 
sachovnice (8, 3, '#', 'o')
 
#o#o#o#o
o#o#o#o#
#o#o#o#o

Hodnocení: 8 bodů


4. Napište program, který rozhodne, zda text zadaný z klávesnice je palindromem (palindrom je slovo, které lze číst v libovolném směru a má stále stejný význam). Příklad:

def palindrom (text):
    pass
 
print(palindrom('krk'))
# text je palindrom
print(palindrom('ahoj'))
# text neni palindom
Hodnocení: 4 body


5. 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. Příklad:

def pp (text):
    pass
 
print(pp('Hello world'))
# Held
Hodnocení: 4 body


6. Napište program, který převede víceslovná výrazy na lower Camel Case. Příklad:

def lcc (text):
    pass
 
print(lcc('jedna pani povidala'))
# jednaPaniPovidala

Hodnocení: 8 bodů