PP1/Pitalice

Izvor: SI Wiki
Pređi na navigaciju Pređi na pretragu

Na sledećoj stranici sakupljene su pitalice sa testova pred laboratorijske vežbe. Nisu navedene ni u jednom konkretnom redosledu, i slične pitalice mogu biti spojene.

  • Za pitanja sa više odgovora, tačni odgovori su podebljani i uokvireni
  • Za pitanja za koje se odgovori unose, tačni odgovori su podvučeni i sakriveni, tako da se prikažu kada izaberete taj tekst (primer: ovako)
  • Pritisnite levo dugme ispod za sakrivanje i otkrivanje svih odgovora, ili desno dugme za uključivanje i isključivanje interaktivnog režima:

2. laboratorijska vežba

1. pitanje

Spojiti oblike numeričkih literala sa odgovarajućim tipovima podataka na programskom jeziku Python:

  1. 0b11101: int
  2. j2.0: greška
  3. 0oF117: greška
  4. 0x123: int
  5. -1.E-2j: complex
  6. .9969e3: float
  7. 0d112: greška
  8. 0o1812: greška
  9. 0xabc: int

2. pitanje

Šta ispisuje sledeći fragment koda na programskom jeziku Python?

j = 5.0
x = 0
while j > 1:
    j //= 2
    x += 1
else:
    x += 1
print(x)

Rešenje: 3

Objašnjenje: U prvoj iteraciji petlje j će se smanjiti na 2 (5 podeljeno sa 2 zaokruženo na niži broj) a u drugoj na 1 (2 podeljeno sa 2), i zatim će se izvršiti deo koda u else.

3. pitanje

Koja su tvrđenja tačna u vezi sa tipovima na programskom jeziku Python?

  1. Promenljiva se ne može promeniti nakon prve dodele vrednosti.
  2. Specijalna vrednost None označava da promenljiva nema vrednost, ali je definisana.
  3. Imena identifikatora se mogu sastojati samo od velikih i malih slova i znaka _, ali ne smeju počinjati znakom _.
  4. Uništavanje promenljivih se obavlja dinamički ili upotrebom naredbe del.
  5. Tip podataka precizira skup vrednosti i operacija koje se mogu primeniti na neki objekat.
  6. Rezervisane reči smeju biti korišćene kao imena identifikatora, ali se onda ne mogu koristiti odgovarajuće konstrukcije.

4. pitanje

U kojim od navedenih izraza na programskom jeziku Python, nakon izračunavanja promenljiva x ima vrednost False?

  1. x=not 21 and 8!=3
  2. x=86>=86>87
  3. x=not True or False and True
  4. x=not((not 0)==(not 3))
  5. x=bool("False")
  6. x=bool(-1)

5. pitanje

Koja su tvrđenja tačna za navedene funkcije, naredbe i kontrolne strukture na programskom jeziku Python?

  1. Naredba continue prekida izvršavanje tekuće iteracije petlje i prelazi na sledeću.
  2. Grana else se kod petlji izvršava samo ukoliko se petlja regularno završi.
  3. Ukoliko se telo for petlje sastoji od više naredbi, one moraju biti podjednako uvučene u odnosu na ključnu reč for.
  4. while petlja može da se direktno koristi za iteriranje kroz kolekcije.
  5. Ukoliko postoji elif grana kod if uslovnog grananja, onda obavezno mora postojati i else grana.

6. pitanje

Spojiti opise funkcija sa imenima funkcija koje se koriste za rad sa listama u programskom jeziku Python.

  1. Dodavanje elementa na zadatu poziciju: insert()
  2. Dohvatanje dužine liste: len()
  3. Uklanjanje člana po vrednosti: remove()
  4. Dodavanje pojedinačnih elemenata na kraj liste: append()
  5. Inicijalizacija liste: list()
  6. Uklanjanje člana sa zadate pozicije: pop()

7. pitanje

Koja su tvrđenja tačna za navedene funkcije, naredbe i kontrolne strukture na programskom jeziku Python?

  1. Funkcija range(n) generiše sekvencu vrednosti u opsegu od 1 do n.
  2. Naredba break nasilno prekida telo petlje na mestu na kome je izvršena.
  3. while petlja ponavlja blok naredbi dok god je zadati logički uslov ispunjen.
  4. Uslovno grananje sa if uvek mora da poseduje odgovarajuću else granu.
  5. Naredba pass se koristi za napuštanje bloka koda na mestu na kome je pozvana.

8. pitanje

Koji uslovni izraz odgovara izvršavanju sledećeg koda na programskom jeziku Python?

if a % 2 == 0:
    b = c
else:
    b = d

Odgovor: b = c if a % 2 == 0 else d

3. laboratorijska vežba

1. pitanje

Koja tvrđenja su tačna u vezi rada sa funkcijama na programskom jeziku Python?

  1. Funkcije ne mogu imati podrazumevane vrednosti argumenata.
  2. Argument funkcije može biti druga funkcija.
  3. Dozvoljeno je definisati funkciju u okviru druge funkcije.
  4. Argumenti funkcije se na programskom jeziku Python prenose isključivo po referenci.
  5. Funkcija može u okviru svog tela sadržati samo jednu return naredbu.

2. pitanje

Koja su tvrđenja tačna na programskom jeziku Python u vezi sa prostorima imena i opsegom važenja promenljivih?

  1. Rekurzivna funkcija je funkcija koja poziva samu sebe.
  2. Pri pozivu svake funkcije kreira se lokalni prostor imena te funkcije.
  3. Kada se program pokrene kreira se globalni prostor programa.
  4. Za dohvatanje promenljive koja se nalazi u okružujućoj funkciji iz unutrašnje funkcije koristi se ključna reč local.
  5. Ako u funkciji Fx nije definisana promenljiva foo, nije neophodno koristiti ključnu reč global kako bi izmenili vrednost globalne promenljive foo u funkciji Fx.

3. pitanje

Koja su tvrđenja tačna na programskom jeziku Python u vezi prostora imena i opsega važenja promenljivih?

  1. Isto ime može postojati u više prostora imena.
  2. Definicija promenljive u funkciji sakriva vidiljivost globalne promenljive sa istim imenom.
  3. Globalnoj promenljivoj može se pristupati iz svih funkcija.
  4. Python ne dozvoljava da se funkcija definiše unutar druge funkcije.
  5. Globalnoj promenljivoj može se pristupati samo korišćenjem ključne reči global.

4. pitanje

Koja tvrđenja su tačna u vezi rada sa funkcijama na programskom jeziku Python?

  1. Blok koji sadrži naredbe u okviru tela funkcije započinje znakom : (dvotačka).
  2. Funkcija može imati promenljiv broj parametara.
  3. Nakon deklaracije funkcije se opciono navodi dokumentacioni string.
  4. Funkcijski blok obavezno počinje rezervisanom reči var.
  5. Ukoliko funkcija ne vraća vrednost naredba return mora obavezno vratiti vrednost None.

5. pitanje

Neka se posmatra sledeći deo koda na programskom jeziku Python:

def funkcijap (a, b, c):
    a += 10
    b[0] = a
    b[1:] = b[:0:-1]
    c += "str"
    return
a = 1
b = 3 * [1, 2]
c = "a"
funkcijap (a, b, c)

Za svaku od navedenih promenljivih, ispravno definisati da li će promena stvarnog argumenta u potprogramu biti vidljiva u glavnom programu.

  1. b: promenjena
  2. a: nepromenjena
  3. c: nepromenjena

6. pitanje

Neka se posmatra sledeća funkcija koda na programskom jeziku Python:

def poruka (i, k = 0, tip = "i"):
    p = i if tip == "i" else k*0.3 + i*0.7
    return "polozio" if p > 50 else "pao"

Koji su sve pozivi funkcije korektni?

  1. poruka (tip="k", i = 50, k = 20)
  2. poruka (90)
  3. poruka (tip="k", k = 20)
  4. poruka ()
  5. poruka (20, tip="k")
  6. poruka (tip="i", k = 20, i = 70)
  7. poruka (tip="k", 20, 70)
  8. poruka (50, 20)
  9. poruka (tip="i", 20, i = 70)
  10. poruka (tip="i")

7. pitanje

Neka se posmatra sledeća funkcija koda na programskom jeziku Python:

def povrsina (a = 0, b = 0, c = 0):
    if a and b and c:
        s = (a + b + c) / 2
        return (s*(s-a)*(s-b)*(s-c))**0.5
    elif a and b:
        return a * b
    elif a:
        return a * a
    else:
        return 0

Koji su sve pozivi funkcije korektni?

Izaberite jedan ili više odgovora:

  1. povrsina (a = 5, c = 6, 10)
  2. povrsina (b = 6)
  3. povrsina (20, c = 16)
  4. povrsina (5, 6, 7)
  5. povrsina (a = 4, c = 5, 8)

4. laboratorijska vežba

1. pitanje

Kada se metodi format zada željena širina polja pri ispisu, sadržaj se (podrazumevano) uravnava:

  1. uz levu ivicu, bez obzira na tip podataka koji se ispisuje
  2. uz levu ivicu, ako se ispisuju numerički podaci
  3. uz levu ivicu, ako se ispisuju tekstualni podaci

2. pitanje

Koje su sve operacije nad stringovima dozvoljene od ponuđenih, ukoliko su zadate sledeće deklaracije:

s1 = "trla baba lan"
s2 = "da joj prođe 5. dan"
i = 5
  1. s3 = i in s2
  2. s3 = s1[i] in s2
  3. s3 = s1[:4] in s2[7:]
  4. s1[3:5] = s2[7:9]
  5. (s1+s2)[2]

3. pitanje

Ovaj zadatak nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Koja tvrđenja su tačna prilikom poziva sledeće funkcije format? U promenljivoj str se nalazi tekstualna vrednost.

"{:x,y}".format(str)
  1. 'y' predstavlja minimalan broj mesta za ispisivanje promenljive str
  2. 'x' predstavlja minimalan broj mesta za ispisivanje promenljive str
  3. 'y' predstavlja maksimalan broj mesta za ispisivanje promenljive str
  4. 'x' predstavlja maksimalan broj mesta za ispisivanje promenljive str

5. laboratorijska vežba

1. pitanje

Koja tvrđenja su tačna u vezi rada sa torkama na programskom jeziku Python?

  1. Torka predstavlja uređenu i promenljivu kolekciju podataka.
  2. Torka može da sadrži elemente različitog tipa.
  3. Objekat prazne torke može se formirati korišćenjem funkcije tuple(), kao i notacijom ().
  4. Svaki element torke u torki se pojavljuje samo jedanput (nema duplih elemenata).
  5. Moguće je iterirati (vršiti obilazak kolekcije) kroz objekat torke.

2. pitanje

Koja tvrđenja su tačna u vezi rada sa izuzecima na programskom jeziku Python?

  1. Blok finally se izvršava bez obzira da li je kod unutar try bloka generisao izuzetak ili ne.
  2. Moguće je uhvatiti jedan ili više tipova izuzetaka u except bloku.
  3. Blok finally se izvršava bez obzira da li je kod unutar except bloka generisao izuzetak ili ne.
  4. Izuzetak se može generisati isključivo upotrebom naredbe raise.
  5. Blok else se izvršava bez obzira da li je kod unutar try bloka generisao izuzetak ili ne.
  6. Blok exceptmože biti deklarisan da hvata jedan ili više tipova objekata izuzetaka.
  7. Jednu try naredbu može pratiti jedan ili više imenovanih except blokova.
  8. Može se napisati naredba try koju ne prati nijedan except ili finally blok.
  9. Ukoliko try naredbu prati except blok onda je ne može pratiti i finally blok.
  10. Jednu try naredbu može pratiti najviše jedan finally blok.

3. pitanje

Spojiti odgovarajuće režime otvaranja datoteka na programskom jeziku Python koji se zadaju funkciji open() sa navedenim opisima.

  1. Upis u tekstualnu datoteku ukoliko prethodno ne postoji: x
  2. Čitanje tekstualne datoteke: r
  3. Upis u binarnu datoteku: wb
  4. Čitanje binarne datoteke: rb
  5. Upis u tekstualnu datoteku: w
  6. Dodavanje na kraj tekstualne datoteke: a

4. pitanje

Spojiti odgovarajuće opise standardnih izuzetaka sa imenima tipova standardnih izuzetaka na programskom jeziku Python.

  1. Baca se kada ulazno-izlazna operacija ne uspe, kao što je otvaranje datoteke koja ne postoji. IOError
  2. Baca se kada se nekorektan indeks (indeks van opsega) upotrebi za pristup sekvenci. IndexError
  3. Baca se kada identifikator ne može da se pronađe u lokalnom ili globalnom prostoru imena. NameError

5. pitanje

Koja tvrđenja su tačna u vezi rada sa skupovima na programskom jeziku Python?

  1. Skup se može formirati zadavanjem liste ili string-a kao argumenta funkcije set.
  2. Svaki element skupa u skupu se pojavljuje samo jedanput(nema duplih elemenata).
  3. Objekat praznog skupa može se formirati korišćenjem funkcije set(), kao i notacijom ().
  4. Skup predstavlja uređenu i nepromenljivu kolekciju podataka.
  5. Moguće je iterirati (vršiti obilazak kolekcije) kroz objekat skupa.

6. pitanje

Šta sve može biti element objekta skupa na programskom jeziku Python?

  1. Literal tipa int (npr. 153).
  2. Objekat tipa liste (npr. [1, 2, 3]).
  3. Literal tipa str (npr. 'tekst').
  4. Objekat tipa skupa (npr. set(1, 2, 3)).
  5. Objekat tipa torke (npr. (1, 2, 3)).

7. pitanje

Spojiti izraze sa operatorima definisane za skupove sa ekvivalentnim izrazima sa metodama definisanim za skupove za objekte a i b na programskom jeziku Python.

  1. a & b: a.intersection(b)
  2. a <= b: a.issubset(b)
  3. a | b: a.union(b)
  4. a - b: a.difference(b)
  5. a >= b: a.issuperset(b)
  6. a |= b: a.update(b)
  7. a ^ b: a.symmetric_difference(b)

8. pitanje

Neka su date sledeće deklaracije na programskom jeziku Python:

arr = [1, 20, 8, 4, 41, 5]
msg = "Happy New Year"
year = "2o20"
name = "input.txt"

Smatrati da datoteka input.txt ne postoji na disku. Ispravno spojiti greške (izuzetke) i naredbe koje ih generišu.

  1. IndexError: msg[25]
  2. NameError: open(filename,"r")
  3. ValueError: int(year)
  4. IndexError: arr[6]
  5. TypeError: msg[6] = 'y'
  6. FileNotFoundError: open(filename,"r")

9. pitanje

Neka su date sledeće deklaracije na programskom jeziku Python:

f = open("test.txt")

Neka je sadržaj datoteke test.txt sledeći:

Quick brown fox

jumps
over a lazy
dog.
  1. Šta kao rezultat vraća poziv funkcije rez = f.read(1)?
    1. Prazan red: "\n"
    2. Sadržaj cele datoteke:"Quick brown fox jumps over a lazy dog."
    3. Prvo slovo u datoteci:"Q"
    4. Sadržaj cele datoteke:"Quick brown fox\n\njumps\nover a lazy\ndog."
    5. Prvu liniju datoteke:"Quick brown fox\n"
    6. Prvu reč u datoteci:"Quick"
  2. Šta kao rezultat vraća poziv funkcije rez = f.readline()?
    1. Prazan red: "\n"
    2. Sadržaj cele datoteke:"Quick brown fox jumps over a lazy dog."
    3. Prvo slovo u datoteci:"Q"
    4. Sadržaj cele datoteke:"Quick brown fox\n\njumps\nover a lazy\ndog."
    5. Prvu liniju datoteke:"Quick brown fox\n"
    6. Prvu reč u datoteci:"Quick"
  3. Šta kao rezultat vraća poziv funkcije rez = f.read()?
    1. Prazan red: "\n"
    2. Sadržaj cele datoteke:"Quick brown fox jumps over a lazy dog."
    3. Prvo slovo u datoteci:"Q"
    4. Sadržaj cele datoteke:"Quick brown fox\n\njumps\nover a lazy\ndog."
    5. Prvu liniju datoteke:"Quick brown fox\n"
    6. Prvu reč u datoteci:"Quick"

10. pitanje

Koji od ponuđenih delova koda na programskom jeziku Python uredno zatvara datoteku nakon sprovedenog čitanja ili upisa?Smatrati da datooteke postoje na disku.

Izaberite jedan ili više odgovora:

  1. with open('upis.txt', 'w') as f:
        f.write("Happy New Year!\n")
    
  2. fx = open("test.txt")
    fx.readline()
    fx.seek(0,2)
    
  3. fi = open("test.txt")
    fi.readline()
    fi.closed()
    
  4. fa = open("test.txt")
    res = fa.read()
    fa.close()