ПП1/Питалице — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (Formatiranje)
 
Ред 133: Ред 133:
# <span class="solution">Блок који садржи наредбе у оквиру тела функције започиње знаком : (двотачка).</span>
# <span class="solution">Блок који садржи наредбе у оквиру тела функције започиње знаком : (двотачка).</span>
# <span class="solution">Функција може имати променљив број параметара.</span>
# <span class="solution">Функција може имати променљив број параметара.</span>
# <span class="solution">Након декларације функције се опционо наводи документациони <code>string</code>.</span>
# <span class="solution">Након декларације функције се опционо наводи документациони ''string''.</span>
# Функцијски блок обавезно почиње резервисаном речи <code>var</code>.
# Функцијски блок обавезно почиње резервисаном речи <code>var</code>.
# Уколико функција не враћа вредност наредба <code>return</code> мора обавезно вратити вредност <code>None</code>.
# Уколико функција не враћа вредност наредба <code>return</code> мора обавезно вратити вредност <code>None</code>.
Ред 152: Ред 152:
funkcijap (a, b, c)
funkcijap (a, b, c)
</syntaxhighlight>
</syntaxhighlight>
За сваку од наведених променљивих,исправно дефинисати да ли ће промена стварног аргумента у потпрограму бити видљива у главном програму.
За сваку од наведених променљивих, исправно дефинисати да ли ће промена стварног аргумента у потпрограму бити видљива у главном програму.
<div class="abc-list" data-solution="select" data-options="промењена,непромењена">
<div data-solution="select" data-options="промењена,непромењена">
# <code>b</code>: <span class="spoiler">промењена</span>
# <code>b</code>: <span class="spoiler">промењена</span>
# <code>a</code>: <span class="spoiler">непромењена</span>
# <code>a</code>: <span class="spoiler">непромењена</span>
# <code>c</code>: <span class="spoiler">непромењена</span>
# <code>c</code>: <span class="spoiler">непромењена</span>
</div>


</div>
=== 6. питање ===
=== 6. питање ===
Нека се посматра следећa функција кода на програмском језику ''Python'':
Нека се посматра следећa функција кода на програмском језику ''Python'':
Ред 167: Ред 167:
</syntaxhighlight>
</syntaxhighlight>
Који су све позиви функције коректни?
Који су све позиви функције коректни?
Изаберите један или више одговора:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution">poruka (tip="k", i = 50, k = 20)</span>
# <syntaxhighlight lang="python" class="solution" inline>poruka (tip="k", i = 50, k = 20)</syntaxhighlight>
# <span class="solution">poruka (90)</span>
# <syntaxhighlight lang="python" class="solution" inline>poruka (90)</syntaxhighlight>
# poruka (tip="k", k = 20)
# <syntaxhighlight lang="python" inline>poruka (tip="k", k = 20)</syntaxhighlight>
# poruka ()
# <syntaxhighlight lang="python" inline>poruka ()</syntaxhighlight>
# <span class="solution">poruka (20, tip="k")</span>
# <syntaxhighlight lang="python" class="solution" inline>poruka (20, tip="k")</syntaxhighlight>
# <span class="solution">poruka (tip="i", k = 20, i = 70)</span>
# <syntaxhighlight lang="python" class="solution" inline>poruka (tip="i", k = 20, i = 70)</syntaxhighlight>
# poruka (tip="k", 20, 70)
# <syntaxhighlight lang="python" inline>poruka (tip="k", 20, 70)</syntaxhighlight>
# <span class="solution">poruka (50, 20)</span>
# <syntaxhighlight lang="python" class="solution" inline>poruka (50, 20)</syntaxhighlight>
#poruka (tip="i", 20, i = 70)
# <syntaxhighlight lang="python" inline>poruka (tip="i", 20, i = 70)</syntaxhighlight>
#poruka (tip="i")
# <syntaxhighlight lang="python" inline>poruka (tip="i")</syntaxhighlight>
</div>
</div>
=== 7. питање ===
=== 7. питање ===
Нека се посматра следећa функција кода на програмском језику ''Python'':
Нека се посматра следећa функција кода на програмском језику ''Python'':
Ред 199: Ред 198:
Изаберите један или више одговора:
Изаберите један или више одговора:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# povrsina (a = 5, c = 6, 10)
# <syntaxhighlight lang="python" inline>povrsina (a = 5, c = 6, 10)</syntaxhighlight>
# <span class="solution">povrsina (b = 6)</span>
# <syntaxhighlight lang="python" class="solution" inline>povrsina (b = 6)</syntaxhighlight>
# <span class="solution">povrsina (20, c = 16)</span>
# <syntaxhighlight lang="python" class="solution" inline>povrsina (20, c = 16)</syntaxhighlight>
# <span class="solution">povrsina (5, 6, 7)</span>
# <syntaxhighlight lang="python" class="solution" inline>povrsina (5, 6, 7)</syntaxhighlight>
#povrsina (a = 4, c = 5, 8)
# <syntaxhighlight lang="python" inline>povrsina (a = 4, c = 5, 8)</syntaxhighlight>
</div>


== 4. лабораторијска вежба ==
=== 1. питање ===
Када се методи <code>format</code> зада жељена ширина поља при испису, садржај се (подразумевано) уравнава:
<div class="abc-list" data-solution="single">
# уз леву ивицу, без обзира на тип података који се исписује
# уз леву ивицу, ако се исписују нумерички подаци
# <span class="solution">уз леву ивицу, ако се исписују текстуални подаци</span>
</div>
</div>
== 4. лабораторијска вежба ==
''Овај рок није решен. Помозите SI Wiki тако што ћете га решити.''
===1. питање ===
Када се методи формат зада жељена ширина поља при испису, садржај се (подразумевано) уравнава:


Изаберите један одговор:
#уз леву ивицу, без обзира на тип података који се исписује
#уз леву ивицу, ако се исписују нумерички подаци
#уз леву ивицу, ако се исписују текстуални подаци
=== 2. питање ===
=== 2. питање ===
Које су све операције над стринговима дозвољене од понуђених, уколико су задате следеће декларације:
Које су све операције над стринговима дозвољене од понуђених, уколико су задате следеће декларације:
Ред 222: Ред 221:
i = 5
i = 5
</syntaxhighlight>
</syntaxhighlight>
<div class="abc-list" data-solution="multiple">
# <syntaxhighlight lang="python" inline>s3 = i in s2</syntaxhighlight>
# <syntaxhighlight lang="python" inline class="solution">s3 = s1[i] in s2</syntaxhighlight>
# <syntaxhighlight lang="python" inline class="solution">s3 = s1[:4] in s2[7:]</syntaxhighlight>
# <syntaxhighlight lang="python" inline>s1[3:5] = s2[7:9]</syntaxhighlight>
# <syntaxhighlight lang="python" inline class="solution">(s1+s2)[2]</syntaxhighlight>
</div>


Изаберите један или више одговора:
# 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. питање ===
=== 3. питање ===
{{делимично решено}}
Која тврђења су тачна приликом позива следеће функције <code>format</code>? У променљивој <code>str</code> се налази текстуална вредност.
Која тврђења су тачна приликом позива следеће функције <code>format</code>? У променљивој <code>str</code> се налази текстуална вредност.
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
"{:x,y}".format(str)
"{:x,y}".format(str)
</syntaxhighlight>
</syntaxhighlight>
 
<div class="abc-list">
Изаберите један или више одговора:
# 'y' представља минималан број места за исписивање променљиве <code>str</code>
# 'y' представља минималан број места за исписивање променљиве <code>str</code>
# 'x' представља минималан број места за исписивање променљиве <code>str</code>
# 'x' представља минималан број места за исписивање променљиве <code>str</code>
# 'y' представља максималан број места за исписивање променљиве <code>str</code>
# 'y' представља максималан број места за исписивање променљиве <code>str</code>
# 'x' представља максималан број места за исписивање променљиве <code>str</code>
# 'x' представља максималан број места за исписивање променљиве <code>str</code>
</div>
== 5. лабораторијска вежба ==
== 5. лабораторијска вежба ==
=== 1. питање ===
=== 1. питање ===
Ред 246: Ред 248:
# Торка представља уређену и променљиву колекцију података.
# Торка представља уређену и променљиву колекцију података.
# <span class="solution">Торка може да садржи елементе различитог типа.</span>
# <span class="solution">Торка може да садржи елементе различитог типа.</span>
# <span class="solution">Објекат празне торке може се формирати коришћењем функције <code>tuple()</code>, као и нотацијом <code>()</code> .</span>
# <span class="solution">Објекат празне торке може се формирати коришћењем функције <code>tuple()</code>, као и нотацијом <code>()</code>.</span>
# Сваки елемент торке у торки се појављује само једанпут(нема дуплих елемената).
# Сваки елемент торке у торки се појављује само једанпут (нема дуплих елемената).
# <span class="solution">Могуће је итерирати(вршити обилазак колекције) кроз објекат торке.</span>
# <span class="solution">Могуће је итерирати (вршити обилазак колекције) кроз објекат торке.</span>
</div>
</div>
=== 2. питање ===
=== 2. питање ===
Која тврђења су тачна у вези рада са изузецима на програмском језику ''Python''?
Која тврђења су тачна у вези рада са изузецима на програмском језику ''Python''?
Ред 268: Ред 271:
Спојити одговарајуће режиме отварања датотека на програмском језику ''Python'' који се задају функцији <code>open()</code> са наведеним описима.
Спојити одговарајуће режиме отварања датотека на програмском језику ''Python'' који се задају функцији <code>open()</code> са наведеним описима.
<div class="abc-list" data-solution="select" data-options="a,w,rb,r,wb,x">
<div class="abc-list" data-solution="select" data-options="a,w,rb,r,wb,x">
# <code>Упис у текстуалну датотеку уколико претходно не постоји</code>: <span class="spoiler">x</span>
# Упис у текстуалну датотеку уколико претходно не постоји: <span class="spoiler">x</span>
# <code>Читање текстуалне датотеке</code>: <span class="spoiler">r</span>
# Читање текстуалне датотеке: <span class="spoiler">r</span>
# <code>Упис у бинарну датотеку</code>: <span class="spoiler">wb</span>
# Упис у бинарну датотеку: <span class="spoiler">wb</span>
# <code>Читање бинарне датотеке</code>: <span class="spoiler">rb</span>
# Читање бинарне датотеке: <span class="spoiler">rb</span>
# <code>Упис у текстуалну датотеку</code>: <span class="spoiler">w</span>
# Упис у текстуалну датотеку: <span class="spoiler">w</span>
# <code>Додавање на крај текстуалне датотеке</code>: <span class="spoiler">a</span>
# Додавање на крај текстуалне датотеке: <span class="spoiler">a</span>
</div>
</div>
=== 4. питање ===
=== 4. питање ===
Спојити одговарајуће описе стандардних изузетака са именима типова стандардних изузетака на програмском језику ''Python''.
Спојити одговарајуће описе стандардних изузетака са именима типова стандардних изузетака на програмском језику ''Python''.
<div class="abc-list" data-solution="select" data-options="IndexError,IOError,NameError">
<div class="abc-list" data-solution="select" data-options="IndexError,IOError,NameError">
# <code>Баца се када улазно-излазна операција не успе, као што је отварање датотеке која не постоји.</code>: <span class="spoiler">IOError</span>
# Баца се када улазно-излазна операција не успе, као што је отварање датотеке која не постоји. <span class="spoiler">IOError</span>
# <code>Баца се када се некоректан индекс(индекс ван опсега) употреби за приступ секвенци.</code>: <span class="spoiler">IndexError</span>
# Баца се када се некоректан индекс (индекс ван опсега) употреби за приступ секвенци. <span class="spoiler">IndexError</span>
# <code>Баца се када идентификатор не може да се пронађе у локалном или глобалном простору имена.</code>: <span class="spoiler">NameError</span>
# Баца се када идентификатор не може да се пронађе у локалном или глобалном простору имена. <span class="spoiler">NameError</span>
</div>


</div>
=== 5. питање ===
=== 5. питање ===
Која тврђења су тачна у вези рада са скуповима на програмском језику ''Python''?
Која тврђења су тачна у вези рада са скуповима на програмском језику ''Python''?
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution">Скуп се може формирати задавањем листе или <code>stringa</code> као аргумента функције <code>set</code>.</span>
# <span class="solution">Скуп се може формирати задавањем листе или ''string''-а као аргумента функције <code>set</code>.</span>
# <span class="solution">Сваки елемент скупа у скупу се појављује само једанпут(нема дуплих елемената).</span>
# <span class="solution">Сваки елемент скупа у скупу се појављује само једанпут(нема дуплих елемената).</span>
# Објекат празног скупа може се формирати коришћењем функције <code>set()</code>, као и нотацијом <code>()</code>.
# Објекат празног скупа може се формирати коришћењем функције <code>set()</code>, као и нотацијом <code>()</code>.
# Скуп представља уређену и непроменљиву колекцију података.
# Скуп представља уређену и непроменљиву колекцију података.
# <span class="solution">Могуће је итерирати(вршити обилазак колекције) кроз објекат скупа.</span>
# <span class="solution">Могуће је итерирати (вршити обилазак колекције) кроз објекат скупа.</span>
</div>
</div>
=== 6. питање ===
=== 6. питање ===
Шта све може бити елемент објекта скупа на програмском језику ''Python''?
Шта све може бити елемент објекта скупа на програмском језику ''Python''?
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution">Литерал типа <code>int</code>(нпр. 153).</span>
# <span class="solution">Литерал типа <code>int</code> (нпр. 153).</span>
# Објекат типа листе (нпр.[1, 2, 3]).
# Објекат типа листе (нпр. [1, 2, 3]).
# <span class="solution">Литерал типа <code>string</code>(нпр.'текст').</span>
# <span class="solution">Литерал типа <code>str</code> (нпр. 'текст').</span>
# Објекат типа скупа (нпр.set(1, 2, 3)).
# Објекат типа скупа (нпр. set(1, 2, 3)).
# <span class="solution">Објекат типа торке (нпр.(1, 2, 3)).</span>
# <span class="solution">Објекат типа торке (нпр. (1, 2, 3)).</span>
</div>
</div>
=== 7. питање ===
=== 7. питање ===
Спојити изразе са операторима дефинисане за скупове са еквивалентним изразима са методама дефинисаним за скупове за објекте a и b на програмском језику ''Python''.
Спојити изразе са операторима дефинисане за скупове са еквивалентним изразима са методама дефинисаним за скупове за објекте a и b на програмском језику ''Python''.
Ред 312: Ред 318:
# <code>a ^ b</code>: <span class="spoiler">a.symmetric_difference(b)</span>
# <code>a ^ b</code>: <span class="spoiler">a.symmetric_difference(b)</span>
</div>
</div>
=== 8. питање ===
=== 8. питање ===
Нека су дате следеће декларације на програмском језику ''Python'':
Нека су дате следеће декларације на програмском језику ''Python'':
Ред 320: Ред 327:
name = "input.txt"
name = "input.txt"
</syntaxhighlight>
</syntaxhighlight>
Сматрати да датотека ''input.txt'' не постоји на диску.
Сматрати да датотека ''input.txt'' не постоји на диску. Исправно спојити грешке (изузетке) и наредбе које их генеришу.
Исправно спојити грешке(изузетке) и наредбе које их генеришу.
<div class="abc-list" data-solution="select" data-options="int(year),msg[25],open(filename,"r"),arr[6],msg[6] = 'y'">
<div class="abc-list" data-solution="select" data-options="int(year),msg[25],open(filename,"r"),arr[6],msg[6] = 'y'">
# <code>IndexError</code>: <span class="spoiler">msg[25]</span>
# <code>IndexError</code>: <span class="spoiler">msg[25]</span>
Ред 329: Ред 335:
# <code>TypeError</code>: <span class="spoiler">msg[6] = 'y'</span>
# <code>TypeError</code>: <span class="spoiler">msg[6] = 'y'</span>
# <code>FileNotFoundError</code>: <span class="spoiler">open(filename,"r")</span>
# <code>FileNotFoundError</code>: <span class="spoiler">open(filename,"r")</span>
</div>


</div>
=== 9. питање ===
=== 9. питање ===
Нека су дате следеће декларације на програмском језику ''Python'':
Нека су дате следеће декларације на програмском језику ''Python'':
Ред 344: Ред 350:
dog.
dog.
</syntaxhighlight>
</syntaxhighlight>
1) Шта као резултат враћа позив функције ''rez = f.read(1)''?
<ol>
 
<li>Шта као резултат враћа позив функције ''rez = f.read(1)''?
Изаберите један одговор:
<div class="abc-list" data-solution="single">
<div class="abc-list" data-solution="multiple">
# Празан ред: "\n"
# Празан ред: "\n"
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
Ред 355: Ред 360:
# Прву реч у датотеци:"Quick"
# Прву реч у датотеци:"Quick"
</div>
</div>
2) Шта као резултат враћа позив функције ''rez = f.readline()''?
</li>
 
<li>Шта као резултат враћа позив функције ''rez = f.readline()''?
Изаберите један одговор:
<div class="abc-list" data-solution="single">
<div class="abc-list" data-solution="multiple">
# Празан ред: "\n"
# Празан ред: "\n"
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
Ред 366: Ред 370:
# Прву реч у датотеци:"Quick"
# Прву реч у датотеци:"Quick"
</div>
</div>
3) Шта као резултат враћа позив функције ''rez = f.read()''?
</li>
 
<li>Шта као резултат враћа позив функције ''rez = f.read()''?
Изаберите један одговор:
<div class="abc-list" data-solution="single">
<div class="abc-list" data-solution="multiple">
# Празан ред: "\n"
# Празан ред: "\n"
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
Ред 377: Ред 380:
# Прву реч у датотеци:"Quick"
# Прву реч у датотеци:"Quick"
</div>
</div>
</li>
</ol>
=== 10. питање ===
=== 10. питање ===
Који од понуђених делова кода на програмском језику ''Python'' уредно затвара датотеку након спроведеног читања или уписа?Сматрати да датоотеке постоје на диску.
Који од понуђених делова кода на програмском језику ''Python'' уредно затвара датотеку након спроведеног читања или уписа?Сматрати да датоотеке постоје на диску.
Ред 382: Ред 388:
Изаберите један или више одговора:
Изаберите један или више одговора:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution"></span><syntaxhighlight lang="python">
# <syntaxhighlight lang="python" class="solution">
with open('upis.txt', 'w') as f:
with open('upis.txt', 'w') as f:
     f.write("Happy New Year!\n")
     f.write("Happy New Year!\n")
</syntaxhighlight>
</syntaxhighlight>
#<syntaxhighlight lang="python">
# <syntaxhighlight lang="python">
fx = open("test.txt")
fx = open("test.txt")
fx.readline()
fx.readline()
fx.seek(0,2)
fx.seek(0,2)
</syntaxhighlight>
</syntaxhighlight>
#<syntaxhighlight lang="python">
# <syntaxhighlight lang="python">
fi = open("test.txt")
fi = open("test.txt")
fi.readline()
fi.readline()
fi.closed()
fi.closed()
</syntaxhighlight>
</syntaxhighlight>
# <span class="solution"></span><syntaxhighlight lang="python">
# <syntaxhighlight lang="python" class="solution">
fa = open("test.txt")
fa = open("test.txt")
res = fa.read()
res = fa.read()
fa.close()
fa.close()
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>


[[Категорија:ПП1]]
[[Категорија:ПП1]]
[[Категорија:Лабораторијске вежбе]]
[[Категорија:Лабораторијске вежбе]]

Тренутна верзија на датум 9. фебруар 2023. у 13:20

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

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

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