ПП1/Питалице
На следећој страници сакупљене су питалице са тестова пред лабораторијске вежбе. Нису наведене ни у једном конкретном редоследу, и сличне питалице могу бити спојене.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
2. лабораторијска вежба
1. питање
Спојити облике нумеричких литерала са одговарајућим типовима података на програмском језику Python:
0b11101
: intj2.0
: грешка0oF117
: грешка0x123
: int-1.E-2j
: complex.9969e3
: float0d112
: грешка0o1812
: грешка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?
- Променљива се не може променити након прве доделе вредности.
- Специјална вредност
None
означава да променљива нема вредност, али је дефинисана. - Имена идентификатора се могу састојати само од великих и малих слова и знака
_
, али не смеју почињати знаком_
. - Уништавање променљивих се обавља динамички или употребом наредбе
del
. - Тип података прецизира скуп вредности и операција које се могу применити на неки објекат.
- Резервисане речи смеју бити коришћене као имена идентификатора, али се онда не могу користити одговарајуће конструкције.
4. питање
У којим од наведених израза на програмском језику Python, након израчунавања променљива x
има вредност False
?
x=not 21 and 8!=3
x=86>=86>87
x=not True or False and True
x=not((not 0)==(not 3))
x=bool("False")
x=bool(-1)
5. питање
Која су тврђења тачна за наведене функције, наредбе и контролне структуре на програмском језику Python?
- Наредба
continue
прекида извршавање текуће итерације петље и прелази на следећу. - Грана
else
се код петљи извршава само уколико се петља регуларно заврши. - Уколико се тело
for
петље састоји од више наредби, оне морају бити подједнако увучене у односу на кључну речfor
. while
петља може да се директно користи за итерирање кроз колекције.- Уколико постоји
elif
грана кодif
условног гранања, онда обавезно мора постојати иelse
грана.
6. питање
Спојити описе функција са именима функција које се користе за рад са листама у програмском језику Python.
- Додавање елемента на задату позицију:
insert()
- Дохватање дужине листе:
len()
- Уклањање члана по вредности:
remove()
- Додавање појединачних елемената на крај листе:
append()
- Иницијализација листе:
list()
- Уклањање члана са задате позиције:
pop()
7. питање
Која су тврђења тачна за наведене функције, наредбе и контролне структуре на програмском језику Python?
- Функција
range(n)
генерише секвенцу вредности у опсегу од 1 доn
. - Наредба
break
насилно прекида тело петље на месту на коме је извршена. while
петља понавља блок наредби док год је задати логички услов испуњен.- Условно гранање са
if
увек мора да поседује одговарајућуelse
грану. - Наредба
pass
се користи за напуштање блока кода на месту на коме је позвана.
8. питање
Који условни израз одговара извршавању следећег кода на програмском језику Python?
if a % 2 == 0:
b = c
else:
b = d
Одговор: b = c if a % 2 == 0 else d
3. лабораторијска вежба
1. питање
Која тврђења су тачна у вези са радом са функцијама на програмском језику Python?
- Функције не могу имати подразумеване вредности аргумената.
- Аргумент функције може бити друга функција.
- Дозвољено је дефинисати функцију у оквиру друге функције.
- Аргументи функције се на програмском језику Python преносе искључиво по референци.
- Функција може у оквиру свог тела садржати само једну
return
наредбу.
2. питање
Која су тврђења тачна на програмском језику Python у вези са просторима имена и опсегом важења променљивих?
- Рекурзивна функција је функција која позива саму себе.
- При позиву сваке функције креира се локални простор имена те функције.
- Када се програм покрене креира се глобални простор програма.
- За дохватање променљиве која се налази у окружујућој функцији из унутрашње функције користи се кључна реч
local
. - Ако у функцији Fx није дефинисана променљива foo, није неопходно користити кључну реч
global
како би изменили вредност глобалне променљиве foo у функцији Fx.
3. питање
Која су тврђења тачна на програмском језику Python у вези простора имена и опсега важења променљивих?
- Исто име може постојати у више простора имена.
- Дефиниција променљиве у функцији сакрива видиљивост глобалне променљиве са истим именом.
- Глобалној променљивој може се приступати из свих функција.
- Python не дозвољава да се функција дефинише унутар друге функције.
- Глобалној променљивој може се приступати само коришћењем кључне речи
global
.
4. питање
Која тврђења су тачна у вези са радом са функцијама на програмском језику Python?
- Блок који садржи наредбе у оквиру тела функције започиње знаком : (двотачка).
- Функција може имати променљив број параметара.
- Након декларације функције се опционо наводи документациони
string
. - Функцијски блок обавезно почиње резервисаном речи
var
. - Уколико функција не враћа вредност наредба
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)
За сваку од наведених променљивих,исправно дефинисати да ли ће промена стварног аргумента у потпрограму бити видљива у главном програму.
b
: промењенаa
: непромењена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"
Који су све позиви функције коректни?
Изаберите један или више одговора:
- poruka (tip="k", i = 50, k = 20)
- poruka (90)
- poruka (tip="k", k = 20)
- poruka ()
- poruka (20, tip="k")
- poruka (tip="i", k = 20, i = 70)
- poruka (tip="k", 20, 70)
- poruka (50, 20)
- poruka (tip="i", 20, i = 70)
- 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
Који су све позиви функције коректни?
Изаберите један или више одговора:
- povrsina (a = 5, c = 6, 10)
- povrsina (b = 6)
- povrsina (20, c = 16)
- povrsina (5, 6, 7)
- povrsina (a = 4, c = 5, 8)