ПП1/Питалице — разлика између измена
Ред 377: | Ред 377: | ||
# Прву реч у датотеци:"Quick" | # Прву реч у датотеци:"Quick" | ||
</div> | </div> | ||
=== 10. питање === | |||
Који од понуђених делова кода на програмском језику ''Python'' уредно затвара датотеку након спроведеног читања или уписа?Сматрати да датоотеке постоје на диску. | |||
Изаберите један или више одговора: | |||
<div class="abc-list" data-solution="multiple"> | |||
# <span class="solution"></span><syntaxhighlight lang="python"> | |||
with open('upis.txt', 'w') as f: | |||
f.write("Happy New Year!\n") | |||
</syntaxhighlight> | |||
#<syntaxhighlight lang="python"> | |||
fx = open("test.txt") | |||
fx.readline() | |||
fx.seek(0,2) | |||
</syntaxhighlight> | |||
#<syntaxhighlight lang="python"> | |||
fi = open("test.txt") | |||
fi.readline() | |||
fi.closed() | |||
</syntaxhighlight> | |||
# <span class="solution"></span><syntaxhighlight lang="python"> | |||
fa = open("test.txt") | |||
res = fa.read() | |||
fa.close() | |||
</syntaxhighlight> | |||
</div> | |||
[[Категорија:ПП1]] | [[Категорија:ПП1]] | ||
[[Категорија:Лабораторијске вежбе]] | [[Категорија:Лабораторијске вежбе]] |
Верзија на датум 26. септембар 2022. у 13:47
На следећој страници сакупљене су питалице са тестова пред лабораторијске вежбе. Нису наведене ни у једном конкретном редоследу, и сличне питалице могу бити спојене.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
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)
4. лабораторијска вежба
Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
1. питање
Када се методи формат зада жељена ширина поља при испису, садржај се (подразумевано) уравнава:
Изаберите један одговор:
- уз леву ивицу, без обзира на тип података који се исписује
- уз леву ивицу, ако се исписују нумерички подаци
- уз леву ивицу, ако се исписују текстуални подаци
2. питање
Које су све операције над стринговима дозвољене од понуђених, уколико су задате следеће декларације:
s1 = "trla baba lan"
s2 = "da joj prođe 5. dan"
i = 5
Изаберите један или више одговора:
- s3 = i in s2
- s3 = s1[i] in s2
- s3 = s1[:4] in s2[7:]
- s1[3:5] = s2[7:9]
- (s1+s2)[2]
3. питање
Која тврђења су тачна приликом позива следеће функције format
? У променљивој str
се налази текстуална вредност.
"{:x,y}".format(str)
Изаберите један или више одговора:
- 'y' представља минималан број места за исписивање променљиве
str
- 'x' представља минималан број места за исписивање променљиве
str
- 'y' представља максималан број места за исписивање променљиве
str
- 'x' представља максималан број места за исписивање променљиве
str
5. лабораторијска вежба
1. питање
Која тврђења су тачна у вези рада са торкама на програмском језику Python?
- Торка представља уређену и променљиву колекцију података.
- Торка може да садржи елементе различитог типа.
- Објекат празне торке може се формирати коришћењем функције
tuple()
, као и нотацијом()
. - Сваки елемент торке у торки се појављује само једанпут(нема дуплих елемената).
- Могуће је итерирати(вршити обилазак колекције) кроз објекат торке.
2. питање
Која тврђења су тачна у вези рада са изузецима на програмском језику Python?
- Блок
finally
се извршава без обзира да ли је код унутарtry
блока генерисао изузетак или не. - Могуће је ухватити један или више типова изузетака у
except
блоку. - Блок
finally
се извршава без обзира да ли је код унутарexcept
блока генерисао изузетак или не. - Изузетак се може генерисати искључиво употребом наредбе
raise
. - Блок
else
се извршава без обзира да ли је код унутарtry
блока генерисао изузетак или не. - Блок
except
може бити декларисан да хвата један или више типова објеката изузетака. - Једну
try
наредбу може пратити један или више именованихexcept
блокова. - Може се написати наредба
try
коју не прати ниједанexcept
илиfinally
блок. - Уколико
try
наредбу пратиexcept
блок онда је не може пратити иfinally
блок. - Једну
try
наредбу може пратити највише једанfinally
блок.
3. питање
Спојити одговарајуће режиме отварања датотека на програмском језику Python који се задају функцији open()
са наведеним описима.
Упис у текстуалну датотеку уколико претходно не постоји
: xЧитање текстуалне датотеке
: rУпис у бинарну датотеку
: wbЧитање бинарне датотеке
: rbУпис у текстуалну датотеку
: wДодавање на крај текстуалне датотеке
: a
4. питање
Спојити одговарајуће описе стандардних изузетака са именима типова стандардних изузетака на програмском језику Python.
Баца се када улазно-излазна операција не успе, као што је отварање датотеке која не постоји.
: IOErrorБаца се када се некоректан индекс(индекс ван опсега) употреби за приступ секвенци.
: IndexErrorБаца се када идентификатор не може да се пронађе у локалном или глобалном простору имена.
: NameError
5. питање
Која тврђења су тачна у вези рада са скуповима на програмском језику Python?
- Скуп се може формирати задавањем листе или
stringa
као аргумента функцијеset
. - Сваки елемент скупа у скупу се појављује само једанпут(нема дуплих елемената).
- Објекат празног скупа може се формирати коришћењем функције
set()
, као и нотацијом()
. - Скуп представља уређену и непроменљиву колекцију података.
- Могуће је итерирати(вршити обилазак колекције) кроз објекат скупа.
6. питање
Шта све може бити елемент објекта скупа на програмском језику Python?
- Литерал типа
int
(нпр. 153). - Објекат типа листе (нпр.[1, 2, 3]).
- Литерал типа
string
(нпр.'текст'). - Објекат типа скупа (нпр.set(1, 2, 3)).
- Објекат типа торке (нпр.(1, 2, 3)).
7. питање
Спојити изразе са операторима дефинисане за скупове са еквивалентним изразима са методама дефинисаним за скупове за објекте a и b на програмском језику Python.
a & b
: a.intersection(b)a <= b
: a.issubset(b)a | b
: a.union(b)a - b
: a.difference(b)a >= b
: a.issuperset(b)a |= b
: a.update(b)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 не постоји на диску. Исправно спојити грешке(изузетке) и наредбе које их генеришу.
IndexError
: msg[25]NameError
: open(filename,"r")ValueError
: int(year)IndexError
: arr[6]TypeError
: msg[6] = 'y'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)?
Изаберите један одговор:
- Празан ред: "\n"
- Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
- Прво слово у датотеци:"Q"
- Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
- Прву линију датотеке:"Quick brown fox\n"
- Прву реч у датотеци:"Quick"
2) Шта као резултат враћа позив функције rez = f.readline()?
Изаберите један одговор:
- Празан ред: "\n"
- Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
- Прво слово у датотеци:"Q"
- Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
- Прву линију датотеке:"Quick brown fox\n"
- Прву реч у датотеци:"Quick"
3) Шта као резултат враћа позив функције rez = f.read()?
Изаберите један одговор:
- Празан ред: "\n"
- Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
- Прво слово у датотеци:"Q"
- Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
- Прву линију датотеке:"Quick brown fox\n"
- Прву реч у датотеци:"Quick"
10. питање
Који од понуђених делова кода на програмском језику Python уредно затвара датотеку након спроведеног читања или уписа?Сматрати да датоотеке постоје на диску.
Изаберите један или више одговора:
with open('upis.txt', 'w') as f: f.write("Happy New Year!\n")
fx = open("test.txt") fx.readline() fx.seek(0,2)
fi = open("test.txt") fi.readline() fi.closed()
fa = open("test.txt") res = fa.read() fa.close()