ПП1/Питалице

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

На следећој страници сакупљене су питалице са тестова пред лабораторијске вежбе. Нису наведене ни у једном конкретном редоследу, и сличне питалице могу бити спојене.

  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

2. лабораторијска вежба

1. питање

Спојити облике нумеричких литерала са одговарајућим типовима података на програмском језику Python:

  1. 0b11101: int
  2. j2.0: грешка
  3. 0oF117: грешка
  4. 0x123: int
  5. -1.E-2j: complex
  6. .9969e3: float
  7. 0d112: грешка
  8. 0o1812: грешка
  9. 0xabc: int

2. питање

Шта исписује следећи фрагмент кода на програмском језику Python?

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

Решење: 3

Објашњење: У првој итерацији петље j ће се смањити на 2 (5 подељено са 2 заокружено на нижи број) а у другој на 1 (2 подељено са 2), и затим ће се извршити део кода у else.

3. питање

Која су тврђења тачна у вези са типовима на програмском језику Python?

  1. Променљива се не може променити након прве доделе вредности.
  2. Специјална вредност None означава да променљива нема вредност, али је дефинисана.
  3. Имена идентификатора се могу састојати само од великих и малих слова и знака _, али не смеју почињати знаком _.
  4. Уништавање променљивих се обавља динамички или употребом наредбе del.
  5. Тип података прецизира скуп вредности и операција које се могу применити на неки објекат.
  6. Резервисане речи смеју бити коришћене као имена идентификатора, али се онда не могу користити одговарајуће конструкције.

4. питање

У којим од наведених израза на програмском језику Python, након израчунавања променљива x има вредност 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. питање

Која су тврђења тачна за наведене функције, наредбе и контролне структуре на програмском језику Python?

  1. Наредба continue прекида извршавање текуће итерације петље и прелази на следећу.
  2. Грана else се код петљи извршава само уколико се петља регуларно заврши.
  3. Уколико се тело for петље састоји од више наредби, оне морају бити подједнако увучене у односу на кључну реч for.
  4. while петља може да се директно користи за итерирање кроз колекције.
  5. Уколико постоји elif грана код if условног гранања, онда обавезно мора постојати и else грана.

6. питање

Спојити описе функција са именима функција које се користе за рад са листама у програмском језику Python.

  1. Додавање елемента на задату позицију: insert()
  2. Дохватање дужине листе: len()
  3. Уклањање члана по вредности: remove()
  4. Додавање појединачних елемената на крај листе: append()
  5. Иницијализација листе: list()
  6. Уклањање члана са задате позиције: pop()

7. питање

Која су тврђења тачна за наведене функције, наредбе и контролне структуре на програмском језику Python?

  1. Функција range(n) генерише секвенцу вредности у опсегу од 1 до n.
  2. Наредба break насилно прекида тело петље на месту на коме је извршена.
  3. while петља понавља блок наредби док год је задати логички услов испуњен.
  4. Условно гранање са if увек мора да поседује одговарајућу else грану.
  5. Наредба pass се користи за напуштање блока кода на месту на коме је позвана.

8. питање

Који условни израз одговара извршавању следећег кода на програмском језику Python?

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

Одговор: b = c if a % 2 == 0 else d

3. лабораторијска вежба

1. питање

Која тврђења су тачна у вези рада са функцијама на програмском језику Python?

  1. Функције не могу имати подразумеване вредности аргумената.
  2. Аргумент функције може бити друга функција.
  3. Дозвољено је дефинисати функцију у оквиру друге функције.
  4. Аргументи функције се на програмском језику Python преносе искључиво по референци.
  5. Функција може у оквиру свог тела садржати само једну return наредбу.

2. питање

Која су тврђења тачна на програмском језику Python у вези са просторима имена и опсегом важења променљивих?

  1. Рекурзивна функција је функција која позива саму себе.
  2. При позиву сваке функције креира се локални простор имена те функције.
  3. Када се програм покрене креира се глобални простор програма.
  4. За дохватање променљиве која се налази у окружујућој функцији из унутрашње функције користи се кључна реч local.
  5. Ако у функцији Fx није дефинисана променљива foo, није неопходно користити кључну реч global како би изменили вредност глобалне променљиве foo у функцији Fx.

3. питање

Која су тврђења тачна на програмском језику Python у вези простора имена и опсега важења променљивих?

  1. Исто име може постојати у више простора имена.
  2. Дефиниција променљиве у функцији сакрива видиљивост глобалне променљиве са истим именом.
  3. Глобалној променљивој може се приступати из свих функција.
  4. Python не дозвољава да се функција дефинише унутар друге функције.
  5. Глобалној променљивој може се приступати само коришћењем кључне речи global.

4. питање

Која тврђења су тачна у вези рада са функцијама на програмском језику Python?

  1. Блок који садржи наредбе у оквиру тела функције започиње знаком : (двотачка).
  2. Функција може имати променљив број параметара.
  3. Након декларације функције се опционо наводи документациони string.
  4. Функцијски блок обавезно почиње резервисаном речи var.
  5. Уколико функција не враћа вредност наредба return мора обавезно вратити вредност None.

5. питање

Нека се посматра следећи део кода на програмском језику 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)

За сваку од наведених променљивих, исправно дефинисати да ли ће промена стварног аргумента у потпрограму бити видљива у главном програму.

  1. b: промењена
  2. a: непромењена
  3. c: непромењена

6. питање

Нека се посматра следећa функција кода на програмском језику 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"

Који су све позиви функције коректни?

  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. питање

Нека се посматра следећa функција кода на програмском језику 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

Који су све позиви функције коректни?

Изаберите један или више одговора:

  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. лабораторијска вежба

1. питање

Када се методи format зада жељена ширина поља при испису, садржај се (подразумевано) уравнава:

  1. уз леву ивицу, без обзира на тип података који се исписује
  2. уз леву ивицу, ако се исписују нумерички подаци
  3. уз леву ивицу, ако се исписују текстуални подаци

2. питање

Које су све операције над стринговима дозвољене од понуђених, уколико су задате следеће декларације:

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. питање

Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.

Која тврђења су тачна приликом позива следеће функције format? У променљивој str се налази текстуална вредност.

"{:x,y}".format(str)
  1. 'y' представља минималан број места за исписивање променљиве str
  2. 'x' представља минималан број места за исписивање променљиве str
  3. 'y' представља максималан број места за исписивање променљиве str
  4. 'x' представља максималан број места за исписивање променљиве str

5. лабораторијска вежба

1. питање

Која тврђења су тачна у вези рада са торкама на програмском језику Python?

  1. Торка представља уређену и променљиву колекцију података.
  2. Торка може да садржи елементе различитог типа.
  3. Објекат празне торке може се формирати коришћењем функције tuple(), као и нотацијом ().
  4. Сваки елемент торке у торки се појављује само једанпут (нема дуплих елемената).
  5. Могуће је итерирати (вршити обилазак колекције) кроз објекат торке.

2. питање

Која тврђења су тачна у вези рада са изузецима на програмском језику Python?

  1. Блок finally се извршава без обзира да ли је код унутар try блока генерисао изузетак или не.
  2. Могуће је ухватити један или више типова изузетака у except блоку.
  3. Блок finally се извршава без обзира да ли је код унутар except блока генерисао изузетак или не.
  4. Изузетак се може генерисати искључиво употребом наредбе raise.
  5. Блок else се извршава без обзира да ли је код унутар try блока генерисао изузетак или не.
  6. Блок exceptможе бити декларисан да хвата један или више типова објеката изузетака.
  7. Једну try наредбу може пратити један или више именованих except блокова.
  8. Може се написати наредба try коју не прати ниједан except или finally блок.
  9. Уколико try наредбу прати except блок онда је не може пратити и finally блок.
  10. Једну try наредбу може пратити највише један finally блок.

3. питање

Спојити одговарајуће режиме отварања датотека на програмском језику Python који се задају функцији open() са наведеним описима.

  1. Упис у текстуалну датотеку уколико претходно не постоји: x
  2. Читање текстуалне датотеке: r
  3. Упис у бинарну датотеку: wb
  4. Читање бинарне датотеке: rb
  5. Упис у текстуалну датотеку: w
  6. Додавање на крај текстуалне датотеке: a

4. питање

Спојити одговарајуће описе стандардних изузетака са именима типова стандардних изузетака на програмском језику Python.

  1. Баца се када улазно-излазна операција не успе, као што је отварање датотеке која не постоји. IOError
  2. Баца се када се некоректан индекс (индекс ван опсега) употреби за приступ секвенци. IndexError
  3. Баца се када идентификатор не може да се пронађе у локалном или глобалном простору имена. NameError

5. питање

Која тврђења су тачна у вези рада са скуповима на програмском језику Python?

  1. Скуп се може формирати задавањем листе или string-а као аргумента функције set.
  2. Сваки елемент скупа у скупу се појављује само једанпут(нема дуплих елемената).
  3. Објекат празног скупа може се формирати коришћењем функције set(), као и нотацијом ().
  4. Скуп представља уређену и непроменљиву колекцију података.
  5. Могуће је итерирати (вршити обилазак колекције) кроз објекат скупа.

6. питање

Шта све може бити елемент објекта скупа на програмском језику Python?

  1. Литерал типа int (нпр. 153).
  2. Објекат типа листе (нпр. [1, 2, 3]).
  3. Литерал типа str (нпр. 'текст').
  4. Објекат типа скупа (нпр. set(1, 2, 3)).
  5. Објекат типа торке (нпр. (1, 2, 3)).

7. питање

Спојити изразе са операторима дефинисане за скупове са еквивалентним изразима са методама дефинисаним за скупове за објекте a и b на програмском језику 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. питање

Нека су дате следеће декларације на програмском језику Python:

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

Сматрати да датотека input.txt не постоји на диску. Исправно спојити грешке (изузетке) и наредбе које их генеришу.

  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. питање

Нека су дате следеће декларације на програмском језику Python:

f = open("test.txt")

Нека је садржај датотеке test.txt следећи:

Quick brown fox

jumps
over a lazy
dog.
  1. Шта као резултат враћа позив функције rez = f.read(1)?
    1. Празан ред: "\n"
    2. Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
    3. Прво слово у датотеци:"Q"
    4. Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
    5. Прву линију датотеке:"Quick brown fox\n"
    6. Прву реч у датотеци:"Quick"
  2. Шта као резултат враћа позив функције rez = f.readline()?
    1. Празан ред: "\n"
    2. Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
    3. Прво слово у датотеци:"Q"
    4. Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
    5. Прву линију датотеке:"Quick brown fox\n"
    6. Прву реч у датотеци:"Quick"
  3. Шта као резултат враћа позив функције rez = f.read()?
    1. Празан ред: "\n"
    2. Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
    3. Прво слово у датотеци:"Q"
    4. Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
    5. Прву линију датотеке:"Quick brown fox\n"
    6. Прву реч у датотеци:"Quick"

10. питање

Који од понуђених делова кода на програмском језику Python уредно затвара датотеку након спроведеног читања или уписа?Сматрати да датоотеке постоје на диску.

Изаберите један или више одговора:

  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()