Warning
This page is located in archive. Go to the latest version of this course pages.

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í:

  • 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

  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

  • 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 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ů

courses/bab37zpr/zkouska/zk04.txt · Last modified: 2020/01/21 08:55 by viteks