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