1. Priebežný test z Programovania (1) v 2022 - variant B


Odovzdávaš len jeden skript test.py, v ktorom budú všetky tvoje riešenia úloh. V odovzdanom riešení nepoužívaj import a ani prvky Pythonu, ktoré sme sa neučili v prvých 13. prednáškach. Svojim funkciám (oproti zadaniu) môžeš zmeniť mená parametrov.


  1. Napíš funkciu vloz(n, zoznam), ktorá dostane zoznam celých čísel. Funkcia medzi každé dve čísla v zozname vloží nový prvok, ktorý je súčtom týchto čísel. Napríklad:

    >>> z = [1, 2, 5]
    >>> vloz(1, z)
    >>> z
        [1, 3, 2, 7, 5]
    >>> zoz = [1, 0]
    >>> vloz(2, zoz)
    >>> zoz
        [1, 2, 1, 1, 0]
    

    Parameter n označuje, koľkokrát sa toto vkladanie do zoznamu zopakuje. Funkcia nič nevypisuje ani nevracia. Výsledok bude v pôvodnom zozname.


  1. Napíš funkciu spoj(veta1, veta2), ktorá dostáva dva reťazce slov (slová sú oddelené aspoň jednou medzerou). Funkcia tieto dve vety zlúči tak, že vráti jednu vetu, v ktorej sa slová postupne striedajú: slovo z prvej vety, potom slovo z druhej a opäť ďalšie z prvej vety atď. Zrejme, ak má niektorá z viet menej slov, tak sa výsledku z nej objavia len existujuce slová. Funkcia nič nevypisuje len vráti jeden znakový reťazec. Napriklad:

    >>> spoj('Anička dušička', 'kde si bola')
        'Anička kde dušička si bola'
    

  1. Korytnačka by nakreslila tento rekurzívny obrázok so striedajúcimi sa farebnými bodkami:

    f = 'red green yellow blue pink'.split()
    def antena(n, a):
        if n > 0:
            for i in range(3):
                t.fd(a)
                antena(n - 1, a // 2)
                t.fd(-a)
                t.lt(120)
        t.dot(10, f[0])
        f.append(f.pop(0))
    

    Keby sme ku každej farebnej bodke vyslali z počiatočného bodu kreslenia jednu húseničku, každá prejde nejakú inú vzdialenosť. Zaujíma nás súčet vzdialeností, ktoré prejdú húseničky ku všetkým červeným bodkám, ale tiež aj ku všetkým zeleným, atď. Prepíš túto funkciu tak, aby nepotrebovala korytnačí modul turtle a namiesto vykreslenia obrázku vypíše celkovú dĺžku ciest od počiatku kreslenia k príslušnej farbe.

    Napríklad pre volanie antena(2, 20) by sa malo vypísať:

    red 90
    green 80
    yellow 50
    blue 50
    pink 60
    

  1. V textovom súbore sú v riadkoch slová oddelené aspoň jednou medzerou. Napíš funkciu najcastejsie(meno_suboru), ktorá zistí slovo, ktoré sa vyskytuje v najviac riadkoch. Ak je takých slov viac, vráti ich všetky (vráti zoznam slov). Napríklad pre súbor:

    prvy riadok
    druhy riadok nie je prvy a nie je ani druhy
    treti riadok je neskor ako prvy a nie je ani treti
    

    funkcia vráti zoznam: ['prvy', 'riadok']


  1. Nájdi štvoricu najmenších za sebou idúcich prvočísel, ktoré sa navzájom líšia o 12. Napríklad, ak by sme hľadali štvoricu prvočísel, ktoré sa líšia len o 6, výsledkom by boli čísla 251, 257, 263 a 269. Výsledok pre rozdiel 12 priraď do premennej v tvare:

    stvorica = [251, 257, 263, 269]
    

    Uvedom si, že dve prvočísla sú za sabou idúce, ak medzi nimi nie je žiadne ďalšie prvočíslo. Pre túto úlohu nemusíš odovzdávať program, stačí len priradiť 4 provočísla do premennej stvorica.


Riešenie odovzdaj v súbore test.py (môžeš si ho stiahnuť z L.I.S.T.u), pričom prvé tri riadky súboru budú obsahovať:

# 1B. priebezny test 2022
# student: Janko Hrasko
# datum: 8.11.2022

zrejme ako študenta uvedieš svoje meno.