<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sonja+L.</id>
	<title>SI Wiki - Кориснички доприноси [sr]</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sonja+L."/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/wiki/%D0%9F%D0%BE%D1%81%D0%B5%D0%B1%D0%BD%D0%BE:%D0%94%D0%BE%D0%BF%D1%80%D0%B8%D0%BD%D0%BE%D1%81%D0%B8/Sonja_L."/>
	<updated>2026-06-04T06:27:16Z</updated>
	<subtitle>Кориснички доприноси</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8335</id>
		<title>Прројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8335"/>
		<updated>2026-03-12T19:46:49Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: Sonja L. преместио је страницу Прројектовање софтвера/Јануар 2026 на Пројектовање софтвера/Јануар 2026&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#Преусмери [[Пројектовање софтвера/Јануар 2026]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8334</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8334"/>
		<updated>2026-03-12T19:46:49Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: Sonja L. преместио је страницу Прројектовање софтвера/Јануар 2026 на Пројектовање софтвера/Јануар 2026&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Јануарски рок 2026. године&#039;&#039;&#039; одржан је 2. месеца и трајао је 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Pogledati prezentacije o projektnim uzorcima.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Пројектовање софтвера]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=Januar_2026.&amp;diff=8333</id>
		<title>Januar 2026.</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=Januar_2026.&amp;diff=8333"/>
		<updated>2026-03-12T19:46:33Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: Sonja L. преместио је страницу Januar 2026. на Прројектовање софтвера/Јануар 2026&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#Преусмери [[Прројектовање софтвера/Јануар 2026]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8332</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8332"/>
		<updated>2026-03-12T19:46:33Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: Sonja L. преместио је страницу Januar 2026. на Прројектовање софтвера/Јануар 2026&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Јануарски рок 2026. године&#039;&#039;&#039; одржан је 2. месеца и трајао је 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Pogledati prezentacije o projektnim uzorcima.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Пројектовање софтвера]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8331</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8331"/>
		<updated>2026-03-12T19:43:20Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Јануарски рок 2026. године&#039;&#039;&#039; одржан је 2. месеца и трајао је 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Pogledati prezentacije o projektnim uzorcima.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Пројектовање софтвера]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8330</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8330"/>
		<updated>2026-03-12T19:42:03Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Januarski rok 2026. godine&#039;&#039;&#039; održan je 2. meseca i trajao je 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Pogledati prezentacije o projektnim uzorcima.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Пројектовање софтвера]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8329</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8329"/>
		<updated>2026-03-12T19:41:01Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Januarski rok 2026. godine&#039;&#039;&#039; održan je 2. meseca i trajao je 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Pogledati prezentacije o projektnim uzorcima.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Пројектовање софтвера/Јануар 2026]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8328</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8328"/>
		<updated>2026-03-12T19:39:03Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Januarski rok 2026. godine&#039;&#039;&#039; održan je 2. meseca i trajao je 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Pogledati prezentacije o projektnim uzorcima.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Пројектовање софтвера]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8327</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8327"/>
		<updated>2026-03-12T19:36:41Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* Napomene */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Januarski rok 2026. godine&#039;&#039;&#039; održan je 2. meseca i trajao je 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Pogledati prezentacije o projektnim uzorcima.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Januar 2026.]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8326</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8326"/>
		<updated>2026-03-12T19:35:43Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Januarski rok 2026. godine&#039;&#039;&#039; održan je 2. meseca i trajao je 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Pogledati prezentacije o projektnim uzorcima.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Napomene ==&lt;br /&gt;
&amp;lt;!-- Izbaciti ukoliko ne postoje napomene --&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Januar 2026.]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8325</id>
		<title>Пројектовање софтвера/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%9A%D0%B5_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D0%B0/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8325"/>
		<updated>2026-03-12T19:35:01Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: Нова страница: {{tocright}} &amp;#039;&amp;#039;&amp;#039;Januarski rok 2026. godine&amp;#039;&amp;#039;&amp;#039; održan je 2. meseca i trajao je 1,5h. {{rešenja}}  &amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt; &amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;  == 1. zada…&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Januarski rok 2026. godine&#039;&#039;&#039; održan je 2. meseca i trajao je 1,5h.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Adapter&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Decorator&amp;lt;/span&amp;gt;&lt;br /&gt;
# Strategy&lt;br /&gt;
# Nijedan od navedenih, već ovaj: ____________&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Dobro je da zadaci sa neočiglednim odgovorima imaju objašnjenje ispod sebe.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Protumačiti sledeći dijagram.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;Nije odgovoreno.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Napomene ==&lt;br /&gt;
&amp;lt;!-- Izbaciti ukoliko ne postoje napomene --&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Januar 2026.]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:Dijagram_5._zadatak.png&amp;diff=8324</id>
		<title>Датотека:Dijagram 5. zadatak.png</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:Dijagram_5._zadatak.png&amp;diff=8324"/>
		<updated>2026-03-12T19:18:43Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: Отпремљено кроз дијалог за отпремање датотека.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{file&lt;br /&gt;
| description = Na dijagramu su dve klase, A i B, povezane agregacijom.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%A11/%D0%88%D1%83%D0%BD_2024&amp;diff=8124</id>
		<title>ОС1/Јун 2024</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%A11/%D0%88%D1%83%D0%BD_2024&amp;diff=8124"/>
		<updated>2025-10-18T19:08:00Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* 2. zadatak */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[http://os.etf.rs/OS1/rokovi/2024/jun/Jun%202024.pdf Zadaci na stranici predmeta.]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati Unix komandnu liniju koja pokreće procese nad sistemskim programima &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;, tako da prvi proces znakove sa svog standardnog ulaza dobija iz fajla &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;, a znakove svog standardnog izlaza prosleđuje na stanadardni ulaz drugog procesa. Fajl &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; se nalazi u poddirektorijumu &amp;lt;code&amp;gt;docs&amp;lt;/code&amp;gt; roditeljskog direktorijuma tekućeg direktorijuma interpretera komandne linije.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt; ../docs/text | less&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na asembleru 32-bitnog procesora picoRISC napisati naredbu tela date funkcije &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; koja u registar &amp;lt;code&amp;gt;r1&amp;lt;/code&amp;gt; učitava vrednost argumenta &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;. Upotrebiti simboličku konstantu, a njenu vrednost prethodno definisati direktivom &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt;. Argumenti se na stek smeštaju zdesna nalevo, stek raste ka nižim adresama, SP ukazuje na poslednju popunjenu lokaciju, povratna adresa je 32-bitna i samo ona se, osim argumenata, stavlja na stek pri pozivu potprograma, adresiblina jedinica je bajt, a tip &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; je 32-bitni.&lt;br /&gt;
&amp;lt;code&amp;gt;void f (int x, int y, int z);&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&lt;br /&gt;
 offset def 12     ;z je 3. argument: [SP+0]=RA, [SP+4]=x, [SP+8]=y, [SP+12]=z&lt;br /&gt;
 f:&lt;br /&gt;
   load r1, [SP+offset]&lt;br /&gt;
   ret&lt;br /&gt;
  &lt;br /&gt;
Pogledati redosled po kom se argumenti funkcije stavljaju na stek.&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Šta je eksterna fragmentacija?&lt;br /&gt;
b) Da li se ona javlja kod kontinualne organizacije memorije, a da li se javlja kod segmentno-stranične organizacije memorije?&lt;br /&gt;
c) Navesti samo naziv tehnike kojom se rešava eksterna fragmentacija bez promene načina organizacije memorije.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Eksterna fragmentacija je situacija u kojoj je slobodna memorija izdeljena među memorijom alociranom za procese. Fragmentacija je u tom slučaju eksterna jer se nalazi van prostora alociranog za procese. Pri eksternoj fragmentaciji može doći do situacije da u sistemu ima dovoljno slobodne memorije, ali da se neko parče zbog svoje veličine ne može alocirati u kontinuitetu.&lt;br /&gt;
# Eksterna fragmentacija se javlja kod kontinualne organizacije memorije, ali ne i kod segmentno-stranične.&lt;br /&gt;
# kompakcija&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Kojom tehnikom se izbegava nepotrebna alokacija fizičke memorije za procese pokrenute sistemskim pozivom &amp;lt;i&amp;gt;fork&amp;lt;/i&amp;gt; (navesti samo naziv na srpskom i engleskom)? Kakva hardverska podrška je neophodna za implementaciju ove tehnike?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# kopiranje na upis (engl. &amp;lt;i&amp;gt;copy-on-write&amp;lt;/i&amp;gt;)&lt;br /&gt;
# Potrebno je da procesor podržava virtuelizaciju memorije, to jest da &amp;lt;strong&amp;gt;ima MMU&amp;lt;/strong&amp;gt;, kao i da desktiptori stranica imaju bitove za dozvolu upisa, kako bi moglo da dođe do određenog izuzetka kada bi se stranice iskopirale.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati deo C koda kojim tekući Unix proces čeka da mu se završi proces dete sa &amp;lt;i&amp;gt;pid&amp;lt;/i&amp;gt; datim u promenljivoj &amp;lt;code&amp;gt;cpid&amp;lt;/code&amp;gt;, a povratni status tog procesa deteta upisuje u promenljivu &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
waitpid(cpid, &amp;amp;stat);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Koji hardverski mehanizam je neophodan za to da operativni sistem radi preotimanje (&amp;lt;i&amp;gt;preemption&amp;lt;/i&amp;gt;) procesora?&lt;br /&gt;
b) Kako se zovu hardverski uređaji računara koji omogućavaju implementaciju vremenske raspodele (&amp;lt;i&amp;gt;time sharing&amp;lt;/i&amp;gt;) procesora?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Spoljašnji hardverski prekidi.&lt;br /&gt;
# Tajmeri.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Šta je problem sledeće implementacije kritične sekcije uposlenim čekanjem?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ada&amp;quot;&amp;gt;&lt;br /&gt;
shared var flag1 = false, flag2 = false;&lt;br /&gt;
process P1&lt;br /&gt;
begin&lt;br /&gt;
    loop&lt;br /&gt;
        flag1: true;&lt;br /&gt;
        while flag2 = true do null end;&lt;br /&gt;
        &amp;lt;critical section&amp;gt;&lt;br /&gt;
        flag1 := false;&lt;br /&gt;
        &amp;lt;non-critical section&amp;gt;&lt;br /&gt;
    end&lt;br /&gt;
end P1;&lt;br /&gt;
&lt;br /&gt;
process P2&lt;br /&gt;
begin&lt;br /&gt;
    loop&lt;br /&gt;
        flag2: true;&lt;br /&gt;
        while flag1 = true do null end;&lt;br /&gt;
        &amp;lt;critical section&amp;gt;&lt;br /&gt;
        flag2 := false;&lt;br /&gt;
        &amp;lt;non-critical section&amp;gt;&lt;br /&gt;
    end&lt;br /&gt;
end P2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Problem datog rešenja je mogići &amp;lt;strong&amp;gt;livelock&amp;lt;/strong&amp;gt;. Ako bi jedan proces izgubio procesor nakon svoje &amp;lt;code&amp;gt;flagx := true&amp;lt;/code&amp;gt; linije, došlo bi do livelocka-a.&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Precizno objasniti šta radi sledeći fragment programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int fd = open(&amp;quot;./log&amp;quot;,O_CREAT|O_TRUNC|O_WRONLY);&lt;br /&gt;
if (fd&amp;lt;0) handle_error(&amp;quot;Cannot open log file.&amp;quot;);&lt;br /&gt;
int pid = fork ();&lt;br /&gt;
if (pid==0) {&lt;br /&gt;
    dup2(fd,2);&lt;br /&gt;
    execlp(&amp;quot;./myprog.a&amp;quot;,NULL);&lt;br /&gt;
    handle_error(&amp;quot;Cannot open exe file.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Proces otvara fajl &amp;lt;code&amp;gt;log&amp;lt;/code&amp;gt; za upisivanje i prazni ga. Ukoliko ne postoji, biće napravljen.&lt;br /&gt;
Zatim pravi dete proces koji preusmerava svoj izlaz za greške na dati fajl, i na kraju pokreće program &amp;lt;code&amp;gt;myprog.a&amp;lt;/code&amp;gt;. Ukoliko pokretanje programa ne bude uspešno, ispisaće poruku o grešci.&lt;br /&gt;
&lt;br /&gt;
Ukratko: Pokreće proces-dete nad &amp;lt;code&amp;gt;myprog.a&amp;lt;/code&amp;gt;, čiji će se izlaz za greške upisati u fajl &amp;lt;code&amp;gt;log&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Kako se zove jednostavan i jedan od najstarijih standardnih protokola za prenos fajlova&lt;br /&gt;
između udaljenih računara po principu klijent-server (dati pun naziv i akronim)?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
FTP, File Transfer Protocol.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Šta predstavlja struktura pod nazivom &amp;lt;i&amp;gt;dentry cache&amp;lt;/i&amp;gt; u implementaciji fajl sistema i čemu&lt;br /&gt;
služi? Navesti kratak primer upotrebe te strukture.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ОС1]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%A11/%D0%88%D1%83%D0%BD_2024&amp;diff=8123</id>
		<title>ОС1/Јун 2024</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%A11/%D0%88%D1%83%D0%BD_2024&amp;diff=8123"/>
		<updated>2025-10-18T19:07:40Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[http://os.etf.rs/OS1/rokovi/2024/jun/Jun%202024.pdf Zadaci na stranici predmeta.]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati Unix komandnu liniju koja pokreće procese nad sistemskim programima &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;, tako da prvi proces znakove sa svog standardnog ulaza dobija iz fajla &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;, a znakove svog standardnog izlaza prosleđuje na stanadardni ulaz drugog procesa. Fajl &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; se nalazi u poddirektorijumu &amp;lt;code&amp;gt;docs&amp;lt;/code&amp;gt; roditeljskog direktorijuma tekućeg direktorijuma interpretera komandne linije.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt; ../docs/text | less&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na asembleru 32-bitnog procesora picoRISC napisati naredbu tela date funkcije &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; koja u registar &amp;lt;code&amp;gt;r1&amp;lt;/code&amp;gt; učitava vrednost argumenta &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;. Upotrebiti simboličku konstantu, a njenu vrednost prethodno definisati direktivom &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt;. Argumenti se na stek smeštaju zdesna nalevo, stek raste ka nižim adresama, SP ukazuje na poslednju popunjenu lokaciju, povratna adresa je 32-bitna i samo ona se, osim argumenata, stavlja na stek pri pozivu potprograma, adresiblina jedinica je bajt, a tip &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; je 32-bitni.&lt;br /&gt;
&amp;lt;code&amp;gt;void f (int x, int y, int z);&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&lt;br /&gt;
 offset def 12     ;z je 3. argument: [SP+0]=RA, [SP+4]=x, [SP+8]=y, [SP+12]=z&lt;br /&gt;
 f:&lt;br /&gt;
   load r1, [SP+offset]&lt;br /&gt;
   ret&lt;br /&gt;
  &lt;br /&gt;
Pogledati redosled po kom se argumenti funkcije stavljaju na stek.&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Šta je eksterna fragmentacija?&lt;br /&gt;
b) Da li se ona javlja kod kontinualne organizacije memorije, a da li se javlja kod segmentno-stranične organizacije memorije?&lt;br /&gt;
c) Navesti samo naziv tehnike kojom se rešava eksterna fragmentacija bez promene načina organizacije memorije.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Eksterna fragmentacija je situacija u kojoj je slobodna memorija izdeljena među memorijom alociranom za procese. Fragmentacija je u tom slučaju eksterna jer se nalazi van prostora alociranog za procese. Pri eksternoj fragmentaciji može doći do situacije da u sistemu ima dovoljno slobodne memorije, ali da se neko parče zbog svoje veličine ne može alocirati u kontinuitetu.&lt;br /&gt;
# Eksterna fragmentacija se javlja kod kontinualne organizacije memorije, ali ne i kod segmentno-stranične.&lt;br /&gt;
# kompakcija&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Kojom tehnikom se izbegava nepotrebna alokacija fizičke memorije za procese pokrenute sistemskim pozivom &amp;lt;i&amp;gt;fork&amp;lt;/i&amp;gt; (navesti samo naziv na srpskom i engleskom)? Kakva hardverska podrška je neophodna za implementaciju ove tehnike?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# kopiranje na upis (engl. &amp;lt;i&amp;gt;copy-on-write&amp;lt;/i&amp;gt;)&lt;br /&gt;
# Potrebno je da procesor podržava virtuelizaciju memorije, to jest da &amp;lt;strong&amp;gt;ima MMU&amp;lt;/strong&amp;gt;, kao i da desktiptori stranica imaju bitove za dozvolu upisa, kako bi moglo da dođe do određenog izuzetka kada bi se stranice iskopirale.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati deo C koda kojim tekući Unix proces čeka da mu se završi proces dete sa &amp;lt;i&amp;gt;pid&amp;lt;/i&amp;gt; datim u promenljivoj &amp;lt;code&amp;gt;cpid&amp;lt;/code&amp;gt;, a povratni status tog procesa deteta upisuje u promenljivu &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
waitpid(cpid, &amp;amp;stat);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Koji hardverski mehanizam je neophodan za to da operativni sistem radi preotimanje (&amp;lt;i&amp;gt;preemption&amp;lt;/i&amp;gt;) procesora?&lt;br /&gt;
b) Kako se zovu hardverski uređaji računara koji omogućavaju implementaciju vremenske raspodele (&amp;lt;i&amp;gt;time sharing&amp;lt;/i&amp;gt;) procesora?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Spoljašnji hardverski prekidi.&lt;br /&gt;
# Tajmeri.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Šta je problem sledeće implementacije kritične sekcije uposlenim čekanjem?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ada&amp;quot;&amp;gt;&lt;br /&gt;
shared var flag1 = false, flag2 = false;&lt;br /&gt;
process P1&lt;br /&gt;
begin&lt;br /&gt;
    loop&lt;br /&gt;
        flag1: true;&lt;br /&gt;
        while flag2 = true do null end;&lt;br /&gt;
        &amp;lt;critical section&amp;gt;&lt;br /&gt;
        flag1 := false;&lt;br /&gt;
        &amp;lt;non-critical section&amp;gt;&lt;br /&gt;
    end&lt;br /&gt;
end P1;&lt;br /&gt;
&lt;br /&gt;
process P2&lt;br /&gt;
begin&lt;br /&gt;
    loop&lt;br /&gt;
        flag2: true;&lt;br /&gt;
        while flag1 = true do null end;&lt;br /&gt;
        &amp;lt;critical section&amp;gt;&lt;br /&gt;
        flag2 := false;&lt;br /&gt;
        &amp;lt;non-critical section&amp;gt;&lt;br /&gt;
    end&lt;br /&gt;
end P2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Problem datog rešenja je mogići &amp;lt;strong&amp;gt;livelock&amp;lt;/strong&amp;gt;. Ako bi jedan proces izgubio procesor nakon svoje &amp;lt;code&amp;gt;flagx := true&amp;lt;/code&amp;gt; linije, došlo bi do livelocka-a.&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Precizno objasniti šta radi sledeći fragment programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int fd = open(&amp;quot;./log&amp;quot;,O_CREAT|O_TRUNC|O_WRONLY);&lt;br /&gt;
if (fd&amp;lt;0) handle_error(&amp;quot;Cannot open log file.&amp;quot;);&lt;br /&gt;
int pid = fork ();&lt;br /&gt;
if (pid==0) {&lt;br /&gt;
    dup2(fd,2);&lt;br /&gt;
    execlp(&amp;quot;./myprog.a&amp;quot;,NULL);&lt;br /&gt;
    handle_error(&amp;quot;Cannot open exe file.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Proces otvara fajl &amp;lt;code&amp;gt;log&amp;lt;/code&amp;gt; za upisivanje i prazni ga. Ukoliko ne postoji, biće napravljen.&lt;br /&gt;
Zatim pravi dete proces koji preusmerava svoj izlaz za greške na dati fajl, i na kraju pokreće program &amp;lt;code&amp;gt;myprog.a&amp;lt;/code&amp;gt;. Ukoliko pokretanje programa ne bude uspešno, ispisaće poruku o grešci.&lt;br /&gt;
&lt;br /&gt;
Ukratko: Pokreće proces-dete nad &amp;lt;code&amp;gt;myprog.a&amp;lt;/code&amp;gt;, čiji će se izlaz za greške upisati u fajl &amp;lt;code&amp;gt;log&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Kako se zove jednostavan i jedan od najstarijih standardnih protokola za prenos fajlova&lt;br /&gt;
između udaljenih računara po principu klijent-server (dati pun naziv i akronim)?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
FTP, File Transfer Protocol.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Šta predstavlja struktura pod nazivom &amp;lt;i&amp;gt;dentry cache&amp;lt;/i&amp;gt; u implementaciji fajl sistema i čemu&lt;br /&gt;
služi? Navesti kratak primer upotrebe te strukture.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ОС1]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%A11/%D0%88%D1%83%D0%BD_2024&amp;diff=8122</id>
		<title>ОС1/Јун 2024</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%A11/%D0%88%D1%83%D0%BD_2024&amp;diff=8122"/>
		<updated>2025-10-18T19:07:03Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* 2. zadatak */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[http://os.etf.rs/OS1/rokovi/2024/jun/Jun%202024.pdf Zadaci na stranici predmeta.]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati Unix komandnu liniju koja pokreće procese nad sistemskim programima &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;, tako da prvi proces znakove sa svog standardnog ulaza dobija iz fajla &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;, a znakove svog standardnog izlaza prosleđuje na stanadardni ulaz drugog procesa. Fajl &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; se nalazi u poddirektorijumu &amp;lt;code&amp;gt;docs&amp;lt;/code&amp;gt; roditeljskog direktorijuma tekućeg direktorijuma interpretera komandne linije.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt; ../docs/text | less&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na asembleru 32-bitnog procesora picoRISC napisati naredbu tela date funkcije &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; koja u registar &amp;lt;code&amp;gt;r1&amp;lt;/code&amp;gt; učitava vrednost argumenta &amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt;. Upotrebiti simboličku konstantu, a njenu vrednost prethodno definisati direktivom &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt;. Argumenti se na stek smeštaju zdesna nalevo, stek raste ka nižim adresama, SP ukazuje na poslednju popunjenu lokaciju, povratna adresa je 32-bitna i samo ona se, osim argumenata, stavlja na stek pri pozivu potprograma, adresiblina jedinica je bajt, a tip &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; je 32-bitni.&lt;br /&gt;
&amp;lt;code&amp;gt;void f (int x, int y, int z);&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
offset def 12     ;z je 3. argument: [SP+0]=RA, [SP+4]=x, [SP+8]=y, [SP+12]=z&lt;br /&gt;
f:&lt;br /&gt;
   load r1, [SP+offset]&lt;br /&gt;
   ret&lt;br /&gt;
  &lt;br /&gt;
Pogledati redosled po kom se argumenti funkcije stavljaju na stek.&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Šta je eksterna fragmentacija?&lt;br /&gt;
b) Da li se ona javlja kod kontinualne organizacije memorije, a da li se javlja kod segmentno-stranične organizacije memorije?&lt;br /&gt;
c) Navesti samo naziv tehnike kojom se rešava eksterna fragmentacija bez promene načina organizacije memorije.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Eksterna fragmentacija je situacija u kojoj je slobodna memorija izdeljena među memorijom alociranom za procese. Fragmentacija je u tom slučaju eksterna jer se nalazi van prostora alociranog za procese. Pri eksternoj fragmentaciji može doći do situacije da u sistemu ima dovoljno slobodne memorije, ali da se neko parče zbog svoje veličine ne može alocirati u kontinuitetu.&lt;br /&gt;
# Eksterna fragmentacija se javlja kod kontinualne organizacije memorije, ali ne i kod segmentno-stranične.&lt;br /&gt;
# kompakcija&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Kojom tehnikom se izbegava nepotrebna alokacija fizičke memorije za procese pokrenute sistemskim pozivom &amp;lt;i&amp;gt;fork&amp;lt;/i&amp;gt; (navesti samo naziv na srpskom i engleskom)? Kakva hardverska podrška je neophodna za implementaciju ove tehnike?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# kopiranje na upis (engl. &amp;lt;i&amp;gt;copy-on-write&amp;lt;/i&amp;gt;)&lt;br /&gt;
# Potrebno je da procesor podržava virtuelizaciju memorije, to jest da &amp;lt;strong&amp;gt;ima MMU&amp;lt;/strong&amp;gt;, kao i da desktiptori stranica imaju bitove za dozvolu upisa, kako bi moglo da dođe do određenog izuzetka kada bi se stranice iskopirale.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati deo C koda kojim tekući Unix proces čeka da mu se završi proces dete sa &amp;lt;i&amp;gt;pid&amp;lt;/i&amp;gt; datim u promenljivoj &amp;lt;code&amp;gt;cpid&amp;lt;/code&amp;gt;, a povratni status tog procesa deteta upisuje u promenljivu &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
waitpid(cpid, &amp;amp;stat);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
a) Koji hardverski mehanizam je neophodan za to da operativni sistem radi preotimanje (&amp;lt;i&amp;gt;preemption&amp;lt;/i&amp;gt;) procesora?&lt;br /&gt;
b) Kako se zovu hardverski uređaji računara koji omogućavaju implementaciju vremenske raspodele (&amp;lt;i&amp;gt;time sharing&amp;lt;/i&amp;gt;) procesora?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Spoljašnji hardverski prekidi.&lt;br /&gt;
# Tajmeri.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Šta je problem sledeće implementacije kritične sekcije uposlenim čekanjem?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ada&amp;quot;&amp;gt;&lt;br /&gt;
shared var flag1 = false, flag2 = false;&lt;br /&gt;
process P1&lt;br /&gt;
begin&lt;br /&gt;
    loop&lt;br /&gt;
        flag1: true;&lt;br /&gt;
        while flag2 = true do null end;&lt;br /&gt;
        &amp;lt;critical section&amp;gt;&lt;br /&gt;
        flag1 := false;&lt;br /&gt;
        &amp;lt;non-critical section&amp;gt;&lt;br /&gt;
    end&lt;br /&gt;
end P1;&lt;br /&gt;
&lt;br /&gt;
process P2&lt;br /&gt;
begin&lt;br /&gt;
    loop&lt;br /&gt;
        flag2: true;&lt;br /&gt;
        while flag1 = true do null end;&lt;br /&gt;
        &amp;lt;critical section&amp;gt;&lt;br /&gt;
        flag2 := false;&lt;br /&gt;
        &amp;lt;non-critical section&amp;gt;&lt;br /&gt;
    end&lt;br /&gt;
end P2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Problem datog rešenja je mogići &amp;lt;strong&amp;gt;livelock&amp;lt;/strong&amp;gt;. Ako bi jedan proces izgubio procesor nakon svoje &amp;lt;code&amp;gt;flagx := true&amp;lt;/code&amp;gt; linije, došlo bi do livelocka-a.&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Precizno objasniti šta radi sledeći fragment programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int fd = open(&amp;quot;./log&amp;quot;,O_CREAT|O_TRUNC|O_WRONLY);&lt;br /&gt;
if (fd&amp;lt;0) handle_error(&amp;quot;Cannot open log file.&amp;quot;);&lt;br /&gt;
int pid = fork ();&lt;br /&gt;
if (pid==0) {&lt;br /&gt;
    dup2(fd,2);&lt;br /&gt;
    execlp(&amp;quot;./myprog.a&amp;quot;,NULL);&lt;br /&gt;
    handle_error(&amp;quot;Cannot open exe file.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Proces otvara fajl &amp;lt;code&amp;gt;log&amp;lt;/code&amp;gt; za upisivanje i prazni ga. Ukoliko ne postoji, biće napravljen.&lt;br /&gt;
Zatim pravi dete proces koji preusmerava svoj izlaz za greške na dati fajl, i na kraju pokreće program &amp;lt;code&amp;gt;myprog.a&amp;lt;/code&amp;gt;. Ukoliko pokretanje programa ne bude uspešno, ispisaće poruku o grešci.&lt;br /&gt;
&lt;br /&gt;
Ukratko: Pokreće proces-dete nad &amp;lt;code&amp;gt;myprog.a&amp;lt;/code&amp;gt;, čiji će se izlaz za greške upisati u fajl &amp;lt;code&amp;gt;log&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Kako se zove jednostavan i jedan od najstarijih standardnih protokola za prenos fajlova&lt;br /&gt;
između udaljenih računara po principu klijent-server (dati pun naziv i akronim)?&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
FTP, File Transfer Protocol.&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Šta predstavlja struktura pod nazivom &amp;lt;i&amp;gt;dentry cache&amp;lt;/i&amp;gt; u implementaciji fajl sistema i čemu&lt;br /&gt;
služi? Navesti kratak primer upotrebe te strukture.&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ОС1]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%A11/%D0%88%D1%83%D0%BD_2017&amp;diff=8121</id>
		<title>ОС1/Јун 2017</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%A11/%D0%88%D1%83%D0%BD_2017&amp;diff=8121"/>
		<updated>2025-10-18T18:31:17Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[http://os.etf.bg.ac.rs/OS1/rokovi/2017/jun/Jun%202017.pdf Zadaci na stranici predmeta.]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Šta je multiprogramiranje, a šta multiprocesiranje? &lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Videti zadatak iz [[ОС1/Јануар 2014#1. zadatak|januarskog roka 2014]].&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Objasniti kako se obezbeđuje međusobno isključenje pristupa kritičnim sekcijama jezgra operativnog sistema od strane uporednih tokova kontrole (niti) koji se izvršavaju na istom, odnosno na različitim procesorima.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Videti zadatak iz [[ОС1/Фебруар 2014#2. zadatak|februarskog roka 2014]].&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem sistemskog poziva &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; inline&amp;gt;create_thread(void(*f)(void*),void* p)&amp;lt;/syntaxhighlight&amp;gt; koji kreira nit koja izvršava datu funkciju &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt; sa datim argumentom &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;, na jeziku C napisati program koji u &#039;&#039;n&#039;&#039; uporednih niti izračunava kvadrat svakog elementa nekog celobrojnog niza (&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; inline&amp;gt;a[i]*=a[i]&amp;lt;/syntaxhighlight&amp;gt;) veličine &amp;lt;code&amp;gt;n*k&amp;lt;/code&amp;gt;, tako što svaka nit obrađuje &#039;&#039;k&#039;&#039; elemanata (jednu particiju niza).&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int n = ...;&lt;br /&gt;
int k = ...;&lt;br /&gt;
int a[n * k];&lt;br /&gt;
&lt;br /&gt;
void square(void* p) {&lt;br /&gt;
    int part = *(int*)(p);&lt;br /&gt;
    free(p);&lt;br /&gt;
    part *= k;&lt;br /&gt;
    for (int i = 0; i &amp;lt; k; i++) {&lt;br /&gt;
        a[part + i] *= a[part + i];&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void main() {&lt;br /&gt;
    for (int i = 0; i &amp;lt; n; i++) {&lt;br /&gt;
        int* context = malloc(sizeof(int));&lt;br /&gt;
        *context = i;&lt;br /&gt;
        create_thread(square, context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem standardnih brojačkih semafora u školskom jezgru, na jeziku C++ napisati implementaciju ograničenog bafera (&#039;&#039;bounded buffer&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Videti sedmi zadatak zadatak iz [[ОС1/Јул 2011#4. zadatak|jula 2011]].&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ako u svom C programu ni u jednom fajlu ne definišete funkciju &amp;lt;code&amp;gt;main()&amp;lt;/code&amp;gt;, ko će prijaviti grešku i kog tipa, prevodilac ili linker? Precizno obrazložiti na osnovu čega se ta greška prijavljuje. &lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Linker prijavljuje grešku o nedefinisanom simbolu &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;. Kada se povezuje C/C++ program, lista obj fajlova mora da sadrži i obavezno generiše modul koji poziva funkciju &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;, pa je zato i referiše kao spoljni simbol kog uvozi, što dovodi do greške ako ga nema.&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Da li se količina memorije koju program zahteva u najgorem slučaju njegovog izvršavanja smanjuje primenom tehnike dinamičkog učitavanja (u odnosu na količinu koju zahteva kada se ta tehnika ne koristi)? Kratko obrazložiti. &lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Ne smanjuje se, jer u najgorem slučaju on zahteva sve svoje potprograme i strukture, a tehnika dinamičkog učitavanja obezbeđuje da delovi ne moraju da se učitavaju samo dok se prvi put ne javi potreba za njima.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Virtuelni adresni prostor je veličine 1GB, organizovan je segmentno, sa maksimalnom veličinom segmenta od 4KB, adresibilna jedinica je bajt. Svi segmenti nekog procesa su stvarne veličine od po 2KB i u fizičku memoriju smešteni su odmah jedan iza drugog, pri čemu segment broj 0 počinje od fizičke adrese F000h. Prikazati logičku strukturu virtuelne adrese i izračunati u koju fizičku adresu se preslikava virtuelna adresa 2564h.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Virtuelni adresni prostor je &amp;lt;math&amp;gt;2^{30}B&amp;lt;/math&amp;gt;.&lt;br /&gt;
* Segment od 4KB, odnosno &amp;lt;math&amp;gt;2^{12}B&amp;lt;/math&amp;gt;, znači da će deo za pomeraj zauzeti 12 bita, tako da struktura izgleda VA(30): segment(18) offset(12).&lt;br /&gt;
* Virtuelna adresa 2564h označava adresu sa segmentom 2 i pomerajem 564h. Ako na F000h dodamo još 2 puta veličinu fizičkog segmenta, što je 2KB, dobijamo fizičku adresu 10564h.&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Objasniti kako se znakovno orijentisani sekvencijalni ulazni uređaj može učiniti (virtuelno) istim takvim, ali sa direktnim pristupom?&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Znakovno orijentisani sekvencijalni ulazni uređaj može se učiniti virtuelno istim takvim, ali sa direktnim pristupom tako što operativni sistem između uređaja i korisničkog programa uvede međusloj za baferovanje (spooling ili keširanje).&lt;br /&gt;
Podaci koji dolaze sa sekvencijalnog uređaja (npr. tastature, čitača trake ili serijskog porta) najpre se čitaju redom i smeštaju u privremenu memoriju ili na disk. Nakon toga, korisnički program ne komunicira direktno sa fizičkim uređajem, već pristupa podacima u tom međuskladištu, gde se oni mogu čitati nasumično, po proizvoljnim pozicijama.&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ako je tekući direktorijum nekog procesa &amp;lt;code&amp;gt;/a/b/c&amp;lt;/code&amp;gt;, koja je apsolutna staza do fajla koga ovaj proces otvara zadajući sledeću stazu: &amp;lt;code&amp;gt;../../d/e/../f.txt&amp;lt;/code&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;code&amp;gt;/a/d/f.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Neki fajl sistem koristi kombinovani indeksirani pristup alokaciji fajlova sa indeksima od jednog do tri nivoa. Objasniti zašto taj fajl sistem pokušava da alocira blokove za sadržaj fajla što bliže jedan drugome na disku, kad god je to moguće? &lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Da bi vreme pristupa blokovima bilo što kraće.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ОС1]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D0%98%D0%90&amp;diff=7893</id>
		<title>ПИА</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D0%98%D0%90&amp;diff=7893"/>
		<updated>2025-04-05T13:54:01Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: Додата 4 решена K1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Предмет&lt;br /&gt;
| назив     = Програмирање интернет апликација&lt;br /&gt;
| шифра     = 13С114ПИА, 13Е113ПИА&lt;br /&gt;
| семестар  = 7 (СИ), 6 (РТИ)&lt;br /&gt;
| статус    = обавезни&lt;br /&gt;
| страница  = [https://rti.etf.bg.ac.rs/rti/ir4pia/ rti.etf.rs/rti/ir4pia]&lt;br /&gt;
| одсек     = СИ, РТИ&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Програмирање интернет апликација&#039;&#039;&#039; је обавезни предмет у седмом семестру за СИ, а у шестом за РТИ. Мото предмета: &#039;&#039;&#039;Како год, само да ради.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Корисне везе ==&lt;br /&gt;
* [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/17677849443 ETF Materijali (Box)] (решења старијих рокова)&lt;br /&gt;
* [https://github.com/sonjuska/PIA Reseni rokovi sa sajta predmeta (K1)] (решења новијих рокова)&lt;br /&gt;
* [https://github.com/PavleSarenac/Rokovi_K2_PIA Reseni rokovi sa sajta predmeta (K2)] (решења новијих рокова)&lt;br /&gt;
&lt;br /&gt;
== Настава ==&lt;br /&gt;
На предмету се, за разлику од осталих предмета, градиво предаје у два блока: први у којем се раде &#039;&#039;Angular&#039;&#039; и &#039;&#039;Spring Boot&#039;&#039;, и други у којем се ради MEAN (&#039;&#039;MongoDB&#039;&#039;, &#039;&#039;Express&#039;&#039;, &#039;&#039;Angular&#039;&#039; и &#039;&#039;Node.js&#039;&#039;). Први колоквијум, стога, не буде у колоквијумској недељи већ негде у осмој или деветој недељи семестра, а други колоквијум је уједно и испит и може се полагати у сваком испитном року, као и у предроку који буде у последњој недељи пред јануарски рок. Градиво са предавања генерално није релевантно за колоквијуме и испите и излаже се чисто ради дубљег упознавања са облашћу. На РТИ се, због недостатка [[Веб дизајн|ВД]], у прве три недеље на вежбама раде HTML и CSS, док се прве две недеље на предавањима ради JavaScript.&lt;br /&gt;
&lt;br /&gt;
Вежбе са &#039;&#039;Angular&#039;&#039; и &#039;&#039;Node.js&#039;&#039; се раде у &#039;&#039;Visual Studio Code&#039;&#039;. Све релевантне верзије алата и библиотека, заједно са презентацијама, кодом писаним на вежбама, и почетним пројектима за &#039;&#039;Spring Boot&#039;&#039; и MEAN наведене су на страници предмета.&lt;br /&gt;
&lt;br /&gt;
Тренутно је од материјала на викију доступан [[ПИА/JSF|водич за JSF]], који вероватно неће бити релевантан почев од школске 2023/2024. године.&lt;br /&gt;
&lt;br /&gt;
== Пројекат ==&lt;br /&gt;
Пројекат на предмету носи 30 бодова и обавезан је, са минималних 15 бодова потребно како би се положио предмет. Једна поставка пројекта важи у јануарском и фебруарском року, друга у јунском и јулском и трећа у августовском и септембарском. Ради се или користећи технологије првог или другог блока. Да би бранио пројекат, студент мора да има барем 35 бодова на првом и другом колоквијуму заједно, и барем 10 бодова појединачно. На одбрани се од студента очекује да на рачунару у лабораторији постави пројекат, одговори на питања у вези са њим и евентуалне додатне захтеве. Над предатим пројектима се извршава провера сличности.&lt;br /&gt;
&lt;br /&gt;
Пројекти из претходних године се више не могу наћи на станици предмета, али се по потреби могу наћи [https://web.archive.org/web/*/https://rti.etf.bg.ac.rs/rti/ir4pia/materijali/projekat/* на &#039;&#039;Wayback Machine&#039;&#039;] или на &#039;&#039;Github&#039;&#039; репозиторијумима уз решења која су студенти поставили.&lt;br /&gt;
&lt;br /&gt;
== Лабораторијске вежбе ==&lt;br /&gt;
Лабораторијске вежбе на предмету су показног карактера (као припрема за одговарајући колоквијум) и одржавају се у другом и трећем блоку наставе. За РТИ постоји још једна лабораторијска вежба у првом блоку на којој се раде HTML, CSS, JavaScript и &#039;&#039;Bootstrap&#039;&#039; (градиво које се на СИ обрађује на [[Веб дизајн|Веб дизајну]] и делимично [[ПСИ|Принципима софтверског инжењерства]]). На страници предмета доступни су материјали са претходних лабораторијских вежби.&lt;br /&gt;
&lt;br /&gt;
== Испитни рокови ==&lt;br /&gt;
Испитни рокови доступни су са странице предмета, без решења. На роковима је генерално доступан сав код са вежби, документације свих технологија које се користе, као и почетни пројекат за одговарајућу технологију.&lt;br /&gt;
&lt;br /&gt;
Следећи рокови су решени на викију:&lt;br /&gt;
{{#dpl:&lt;br /&gt;
| category    = ПИА&lt;br /&gt;
| category    = Рокови&lt;br /&gt;
| format      = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],,&lt;br /&gt;
| ordermethod = title&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Начин оцењивања ==&lt;br /&gt;
* &amp;lt;math&amp;gt;K_1&amp;lt;/math&amp;gt; — бодови са првог колоквијума, надокнада у јануару и фебруару или кроз интегрални испит (0-35)&lt;br /&gt;
* &amp;lt;math&amp;gt;K_2&amp;lt;/math&amp;gt; — бодови са другог колоквијума, у сваком року се може радити одвојено или интегрално (0-35)&lt;br /&gt;
* &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; — бодови са пројекта (0-30)&lt;br /&gt;
* &#039;&#039;&#039;Бодови:&#039;&#039;&#039; &amp;lt;math&amp;gt;P = K_1 + K_2 + D&amp;lt;/math&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Услов:&#039;&#039;&#039; &amp;lt;math&amp;gt;K_1 &amp;gt; 10&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;K_2 &amp;gt; 10&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;K_1 + K_2 &amp;gt; 35&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;D &amp;gt; 15&amp;lt;/math&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Бодови&lt;br /&gt;
| &amp;lt;math&amp;gt;P \leq 50&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;50 &amp;lt; P \leq 60&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;60 &amp;lt; P \leq 70&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;70 &amp;lt; P \leq 80&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;80 &amp;lt; P \leq 90&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;90 &amp;lt; P&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Оцена&lt;br /&gt;
| 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Потребна помоћ ==&lt;br /&gt;
* {{задаци|rešenja}}&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%A0%D0%A22/%D0%9A3_%D0%A4%D0%B5%D0%B1%D1%80%D1%83%D0%B0%D1%80_2021&amp;diff=5518</id>
		<title>ОРТ2/К3 Фебруар 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%A0%D0%A22/%D0%9A3_%D0%A4%D0%B5%D0%B1%D1%80%D1%83%D0%B0%D1%80_2021&amp;diff=5518"/>
		<updated>2023-02-10T14:16:25Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* Меморија */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{нерешено}}&lt;br /&gt;
&#039;&#039;&#039;Испит у фебруарском року 2021. године&#039;&#039;&#039; одржан је 22. фебруара.&lt;br /&gt;
&lt;br /&gt;
== Поставка == &lt;br /&gt;
Посматра се део рачунара који чине меморија и процесор. Меморија је капацитета 2&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt; бајтова. Ширина меморијске речи је 1 бајт. Процесор је са једноадресним форматом инструкција. Адресе и подаци су дужине 16 бита и заузимају по две суседне меморијске локације, при чему се старији бајт налази на вишој, а млађи бајт на нижој адреси.&lt;br /&gt;
&lt;br /&gt;
У процесору постоји регистар програмског бројача PC дужине 2 бајта, адресни регистар меморије MAR дужине 2 бајта, прихватни регистар податка меморије MDR дужине 1 бајт, прихватни регистар инструкције IR дужине 3 бајта, акумулатор A дужине 2 бајта, прихватни регистар податка B дужине 2 бајта, регистри опште намене R0 до R3 дужине 2 бајта, програмска статусна реч PSW дужине 1 бајт. Програмска статусна реч PSW садржи битове N, Z, C и V који се ажурирају приликом рада процесора. Инструкције су дужине 1, 2 или 3 бајта.&lt;br /&gt;
&lt;br /&gt;
Битови 7, 6 и 5 првог бајта инструкције је 000 за све инструкције скока. Код инструкције условног скока бит 4 првог бајта инструкције је 0, док код инструкција безусловног скока бит 4 првог бајта инструкције је 1. Инструкција условног скока је инструкција условног скока уколико је резултат негативан (BN) и инструкције безусловног скока су инструкција безусловног скока (JMP) и инструкција скока на потпрограм JSR. Битовима 3 до 0 првог бајта инструкције специфицира се код операције и на основу тога су за инструкције BN, JMP и JSR усвојени кодови операције 00000000, 00010000 и 00010001, респективно. Инструкције JMP и JSR се реализују као апсолутни скокови, при чему је адреса дата другим и трећим бајтом инструкције. Дужина инструкција је 3 бајта. Инструкција BN се реализује као релативни скок у односу на текућу вредност програмског бројача PC, а померај је 8 битна целобројна величина са знаком дата другим бајтом инструкције. Дужина инструкције је 2 бајта.&lt;br /&gt;
&lt;br /&gt;
Битови 7, 6 и 5 првог бајта инструкције је 001 за све безадресне инструкције. Безадресне инструкције су инструкције стављања садржаја акумулатора на стек (PUSH), пуњења акумулатора садржајем са стека (POP) и инструкција комплементирања садржаја акумулатора (NOT). Битовима 4 до 0 првог бајта инструкције специфира се код операције за безадресне инструкције. На основу тога су за инструкције PUSH, POP и NOT усвојени кодови операција 00100000, 00100001 и 00100010, респективно. Дужина инструкција је 1 бајт. &lt;br /&gt;
&lt;br /&gt;
Битови 7, 6 и 5 првог бајта инструкције имају вредности од 010 до 111 за адресне инструкције. Адресне инструкције су инструкција преноса у акумулатор (LD), инструкција преноса из акумулатора (ST), инструкција аритметичког померања удесно за једно место (ASR), инструкција упоређивања акумулатора са операндом (CMP), инструкција сабирања (ADD) и инструкција одузимања (SUB). На основу тога су за инструкције LD, ST, ASR, CMP, ADD и SUB усвојени кодови операција 010, 011, 100, 101, 110 и 111, респективно. Дужина инструкција је 2 или 3 бајта и зависи од специфичног начина адресирања.&lt;br /&gt;
&lt;br /&gt;
Начини адресирања су специфицирани битовима 4, 3 и 2 првог бајта инструкције и то на следећи начин: 000-меморијско директно адресирање (memdir), 001-меморијско индиректно адресирање (memind), 010-регистарско директно адресирање (regdir), 011-регистарско индиректно адресирање (regind), 100-релативно адресирање са померајем (pcrel), 101-непосредно адресирање (immed) и 110-регистарско индиректно адресирање са преинкрементирањем (preincr). Код меморијског директног и меморијског индиректног адресирања 16 битна адреса меморијске локације је дата другим и трећим бајтом инструкције. Битови 1 и 0 првог бајта инструкције се не користе. Дужина инструкције је 3 бајта. Регистарско директно, регистарско индиректно и регистарско индиректно адресирање са преинкрементирањем користе неке од регистара опште намене R0 до R3 специфициране битовима 1 и 0 првог бајта. Дужина инструкција је 1 бајт. Код релативног адресирања са померајем други бајт инструкције садржи 8 битни померај који је дат као целобројна величина са знаком. Битови 1 и 0 првог бајта инструкције се не користе. Дужина инструкција је 2 бајта. Код непосредног адресирања 16 битни операнд дат је другим и трећим бајтом инструкције. Битови 1 и 0 првог бајта инструкције се не користе. Дужина инструкција је 3 бајта.&lt;br /&gt;
&lt;br /&gt;
Стек расте према вишим меморијским локацијама, а регистар SP указује на прву слободну меморијску локацију. Процесор нема могућност обраде прекида.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Пројектовати део операционе јединице процесора (фазе: FETCH, ADDR и EXEC) која је потребна да се изврши инструкција &#039;&#039;&#039;CMP +(R0)&#039;&#039;&#039;. Цртати само неопходне компоненте које су потребне за извршавање наведене инструкције.&lt;br /&gt;
# Дати су почетни садржаји регистара и индикатора: PC=1000h, SP=2000h, ACC=FFF7h, R0=0000h, R1=0001h, R2=0002h, R3=0003h, N=1, Z=0, V=0 и C=0. Индикатори статусне речи на које инструкција не утиче треба да остану непромењени. Извршити 7 сукцесивних наредби и за сваку наредбу одредити следеће: у фази читања инструкције - меморијске адресе са којих је прочитана инструкција, садржај регистра IR, инструкцију која је прочитана и нови садржај регистра PC; у фази одређивања адресе операнда и читања операнда - меморијске адресе са којих је прочитана адреса операнда, меморијске адресе са којих је прочитан операнд, вредност операнда и нови садржај регистара опште намене који су у овој фази промењени; у фази извршавања операције - меморијске адресе којима се у овој фази приступа, садржај акумулатора A и индикатора N, Z, V и C након извршавања инструкције и нови садржај регистара и меморијских локација који су у овој фази промењени. Резултате представити у табелама 1, 2 и 3 формулара.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Садржај дела меморије из поставке задатка&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 0000 || 0001 || 0002 || 0003 || 0004 || 0005 || 0006 || 0007 || 0008 || 0009&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  F7  ||  FF  ||  00  ||  00  ||  21  ||  77  ||  11  ||  00  ||  0A  ||  83&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 1000 || 1001 || 1002 || 1003 || 1004 || 1005 || 1006 || 1007 || 1008 || 1009&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  60  ||  00  ||  00  ||  D4  ||  F6  ||  FF  ||  00  ||  0C  ||  D4  ||  F6&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 100A || 100B || 100C || 100D || 100E || 100F || 1010 || 1011 || 1012 || 1013&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  FF  ||  30  ||  00  ||  08  ||  A0  ||  40  ||  10  ||  19  ||  00  ||  52&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 1014 || 1015 || 1016 || 1017 || 1018 || 1019 || 101A || 101B || 101C || 101D&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  22  ||  E9  ||  84  ||  02  ||  00  ||  11  ||  00  ||  30  ||  E8  ||  E8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Решење ==&lt;br /&gt;
=== Кодови операција ===&lt;br /&gt;
=== Операциона јединица ===&lt;br /&gt;
=== Меморија ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! #&lt;br /&gt;
! Адресе у меморији са којих је учитана инструкција&lt;br /&gt;
! IR&amp;lt;sub&amp;gt;31..24&amp;lt;/sub&amp;gt;&lt;br /&gt;
! IR&amp;lt;sub&amp;gt;23..16&amp;lt;/sub&amp;gt;&lt;br /&gt;
! IR&amp;lt;sub&amp;gt;15..8&amp;lt;/sub&amp;gt;&lt;br /&gt;
! IR&amp;lt;sub&amp;gt;7..0&amp;lt;/sub&amp;gt;&lt;br /&gt;
! Инструкција&lt;br /&gt;
! PC&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1000, 1001, 1002&lt;br /&gt;
| /&lt;br /&gt;
| 60&lt;br /&gt;
| 00&lt;br /&gt;
| 00&lt;br /&gt;
| ST 0000&lt;br /&gt;
| 1003&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1003, 1004, 1005&lt;br /&gt;
| /&lt;br /&gt;
| D4&lt;br /&gt;
| F6&lt;br /&gt;
| FF&lt;br /&gt;
| ADD #FFF6&lt;br /&gt;
| 1006&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1006,1007&lt;br /&gt;
| /&lt;br /&gt;
| 00&lt;br /&gt;
| 0C&lt;br /&gt;
| &lt;br /&gt;
| BN(PC)0C&lt;br /&gt;
| 1008&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1014&lt;br /&gt;
| /&lt;br /&gt;
| 22&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| NOT&lt;br /&gt;
| 1015&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1015&lt;br /&gt;
| /&lt;br /&gt;
| E9&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| SUB R1&lt;br /&gt;
| 1016&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1016,1017,1018&lt;br /&gt;
| /&lt;br /&gt;
| 84&lt;br /&gt;
| 02&lt;br /&gt;
| 00&lt;br /&gt;
| ASR(0002)&lt;br /&gt;
| 1019&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1019, 101A, 101B&lt;br /&gt;
| /&lt;br /&gt;
| 11&lt;br /&gt;
| 00&lt;br /&gt;
| 30&lt;br /&gt;
| JSR 3000&lt;br /&gt;
| 101C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! #&lt;br /&gt;
! Адресе у меморији или регистри са којих је учитана адреса операнда&lt;br /&gt;
! Адресе у меморији или регистри са којих је учитан операнд&lt;br /&gt;
! Операнд&lt;br /&gt;
! Нови садржај регистара опште намене&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| FFF6&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 0001&lt;br /&gt;
| R1 = 0001&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 0002,0003&lt;br /&gt;
| 0000,0001&lt;br /&gt;
| FFF7&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! #&lt;br /&gt;
! Меморијске адресе којима се приступа у овој фази&lt;br /&gt;
! Акумулатор&lt;br /&gt;
! N&lt;br /&gt;
! Z&lt;br /&gt;
! V&lt;br /&gt;
! C&lt;br /&gt;
! Нови садржај регистара и меморијских локација који су промењени у овој фази&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0000, 0001&lt;br /&gt;
| FFF7&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| MEM[0000] = F7, MEM[0001] = FF&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| FFED&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| FFED&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| PC = 1014&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
| 0012&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| &lt;br /&gt;
| 0011&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| &lt;br /&gt;
| FFFB&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 2000, 2001&lt;br /&gt;
| FFFB&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| MEM[2000] = 1C , MEM[2001] = 10, SP = 2002, PC = 3000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ОРТ2]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%A0%D0%A22/%D0%9A3_%D0%A4%D0%B5%D0%B1%D1%80%D1%83%D0%B0%D1%80_2021&amp;diff=5517</id>
		<title>ОРТ2/К3 Фебруар 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%A0%D0%A22/%D0%9A3_%D0%A4%D0%B5%D0%B1%D1%80%D1%83%D0%B0%D1%80_2021&amp;diff=5517"/>
		<updated>2023-02-10T14:15:15Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* Поставка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{нерешено}}&lt;br /&gt;
&#039;&#039;&#039;Испит у фебруарском року 2021. године&#039;&#039;&#039; одржан је 22. фебруара.&lt;br /&gt;
&lt;br /&gt;
== Поставка == &lt;br /&gt;
Посматра се део рачунара који чине меморија и процесор. Меморија је капацитета 2&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt; бајтова. Ширина меморијске речи је 1 бајт. Процесор је са једноадресним форматом инструкција. Адресе и подаци су дужине 16 бита и заузимају по две суседне меморијске локације, при чему се старији бајт налази на вишој, а млађи бајт на нижој адреси.&lt;br /&gt;
&lt;br /&gt;
У процесору постоји регистар програмског бројача PC дужине 2 бајта, адресни регистар меморије MAR дужине 2 бајта, прихватни регистар податка меморије MDR дужине 1 бајт, прихватни регистар инструкције IR дужине 3 бајта, акумулатор A дужине 2 бајта, прихватни регистар податка B дужине 2 бајта, регистри опште намене R0 до R3 дужине 2 бајта, програмска статусна реч PSW дужине 1 бајт. Програмска статусна реч PSW садржи битове N, Z, C и V који се ажурирају приликом рада процесора. Инструкције су дужине 1, 2 или 3 бајта.&lt;br /&gt;
&lt;br /&gt;
Битови 7, 6 и 5 првог бајта инструкције је 000 за све инструкције скока. Код инструкције условног скока бит 4 првог бајта инструкције је 0, док код инструкција безусловног скока бит 4 првог бајта инструкције је 1. Инструкција условног скока је инструкција условног скока уколико је резултат негативан (BN) и инструкције безусловног скока су инструкција безусловног скока (JMP) и инструкција скока на потпрограм JSR. Битовима 3 до 0 првог бајта инструкције специфицира се код операције и на основу тога су за инструкције BN, JMP и JSR усвојени кодови операције 00000000, 00010000 и 00010001, респективно. Инструкције JMP и JSR се реализују као апсолутни скокови, при чему је адреса дата другим и трећим бајтом инструкције. Дужина инструкција је 3 бајта. Инструкција BN се реализује као релативни скок у односу на текућу вредност програмског бројача PC, а померај је 8 битна целобројна величина са знаком дата другим бајтом инструкције. Дужина инструкције је 2 бајта.&lt;br /&gt;
&lt;br /&gt;
Битови 7, 6 и 5 првог бајта инструкције је 001 за све безадресне инструкције. Безадресне инструкције су инструкције стављања садржаја акумулатора на стек (PUSH), пуњења акумулатора садржајем са стека (POP) и инструкција комплементирања садржаја акумулатора (NOT). Битовима 4 до 0 првог бајта инструкције специфира се код операције за безадресне инструкције. На основу тога су за инструкције PUSH, POP и NOT усвојени кодови операција 00100000, 00100001 и 00100010, респективно. Дужина инструкција је 1 бајт. &lt;br /&gt;
&lt;br /&gt;
Битови 7, 6 и 5 првог бајта инструкције имају вредности од 010 до 111 за адресне инструкције. Адресне инструкције су инструкција преноса у акумулатор (LD), инструкција преноса из акумулатора (ST), инструкција аритметичког померања удесно за једно место (ASR), инструкција упоређивања акумулатора са операндом (CMP), инструкција сабирања (ADD) и инструкција одузимања (SUB). На основу тога су за инструкције LD, ST, ASR, CMP, ADD и SUB усвојени кодови операција 010, 011, 100, 101, 110 и 111, респективно. Дужина инструкција је 2 или 3 бајта и зависи од специфичног начина адресирања.&lt;br /&gt;
&lt;br /&gt;
Начини адресирања су специфицирани битовима 4, 3 и 2 првог бајта инструкције и то на следећи начин: 000-меморијско директно адресирање (memdir), 001-меморијско индиректно адресирање (memind), 010-регистарско директно адресирање (regdir), 011-регистарско индиректно адресирање (regind), 100-релативно адресирање са померајем (pcrel), 101-непосредно адресирање (immed) и 110-регистарско индиректно адресирање са преинкрементирањем (preincr). Код меморијског директног и меморијског индиректног адресирања 16 битна адреса меморијске локације је дата другим и трећим бајтом инструкције. Битови 1 и 0 првог бајта инструкције се не користе. Дужина инструкције је 3 бајта. Регистарско директно, регистарско индиректно и регистарско индиректно адресирање са преинкрементирањем користе неке од регистара опште намене R0 до R3 специфициране битовима 1 и 0 првог бајта. Дужина инструкција је 1 бајт. Код релативног адресирања са померајем други бајт инструкције садржи 8 битни померај који је дат као целобројна величина са знаком. Битови 1 и 0 првог бајта инструкције се не користе. Дужина инструкција је 2 бајта. Код непосредног адресирања 16 битни операнд дат је другим и трећим бајтом инструкције. Битови 1 и 0 првог бајта инструкције се не користе. Дужина инструкција је 3 бајта.&lt;br /&gt;
&lt;br /&gt;
Стек расте према вишим меморијским локацијама, а регистар SP указује на прву слободну меморијску локацију. Процесор нема могућност обраде прекида.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Пројектовати део операционе јединице процесора (фазе: FETCH, ADDR и EXEC) која је потребна да се изврши инструкција &#039;&#039;&#039;CMP +(R0)&#039;&#039;&#039;. Цртати само неопходне компоненте које су потребне за извршавање наведене инструкције.&lt;br /&gt;
# Дати су почетни садржаји регистара и индикатора: PC=1000h, SP=2000h, ACC=FFF7h, R0=0000h, R1=0001h, R2=0002h, R3=0003h, N=1, Z=0, V=0 и C=0. Индикатори статусне речи на које инструкција не утиче треба да остану непромењени. Извршити 7 сукцесивних наредби и за сваку наредбу одредити следеће: у фази читања инструкције - меморијске адресе са којих је прочитана инструкција, садржај регистра IR, инструкцију која је прочитана и нови садржај регистра PC; у фази одређивања адресе операнда и читања операнда - меморијске адресе са којих је прочитана адреса операнда, меморијске адресе са којих је прочитан операнд, вредност операнда и нови садржај регистара опште намене који су у овој фази промењени; у фази извршавања операције - меморијске адресе којима се у овој фази приступа, садржај акумулатора A и индикатора N, Z, V и C након извршавања инструкције и нови садржај регистара и меморијских локација који су у овој фази промењени. Резултате представити у табелама 1, 2 и 3 формулара.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Садржај дела меморије из поставке задатка&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 0000 || 0001 || 0002 || 0003 || 0004 || 0005 || 0006 || 0007 || 0008 || 0009&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  F7  ||  FF  ||  00  ||  00  ||  21  ||  77  ||  11  ||  00  ||  0A  ||  83&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 1000 || 1001 || 1002 || 1003 || 1004 || 1005 || 1006 || 1007 || 1008 || 1009&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  60  ||  00  ||  00  ||  D4  ||  F6  ||  FF  ||  00  ||  0C  ||  D4  ||  F6&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 100A || 100B || 100C || 100D || 100E || 100F || 1010 || 1011 || 1012 || 1013&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  FF  ||  30  ||  00  ||  08  ||  A0  ||  40  ||  10  ||  19  ||  00  ||  52&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 1014 || 1015 || 1016 || 1017 || 1018 || 1019 || 101A || 101B || 101C || 101D&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  22  ||  E9  ||  84  ||  02  ||  00  ||  11  ||  00  ||  30  ||  E8  ||  E8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Решење ==&lt;br /&gt;
=== Кодови операција ===&lt;br /&gt;
=== Операциона јединица ===&lt;br /&gt;
=== Меморија ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! #&lt;br /&gt;
! Адресе у меморији са којих је учитана инструкција&lt;br /&gt;
! IR&amp;lt;sub&amp;gt;31..24&amp;lt;/sub&amp;gt;&lt;br /&gt;
! IR&amp;lt;sub&amp;gt;23..16&amp;lt;/sub&amp;gt;&lt;br /&gt;
! IR&amp;lt;sub&amp;gt;15..8&amp;lt;/sub&amp;gt;&lt;br /&gt;
! IR&amp;lt;sub&amp;gt;7..0&amp;lt;/sub&amp;gt;&lt;br /&gt;
! Инструкција&lt;br /&gt;
! PC&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1000, 1001, 1002&lt;br /&gt;
| /&lt;br /&gt;
| 60&lt;br /&gt;
| 00&lt;br /&gt;
| 00&lt;br /&gt;
| ST 0000&lt;br /&gt;
| 1003&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1003, 1004, 1005&lt;br /&gt;
| /&lt;br /&gt;
| D4&lt;br /&gt;
| F6&lt;br /&gt;
| FF&lt;br /&gt;
| ADD #FFF6&lt;br /&gt;
| 1006&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1006,1007&lt;br /&gt;
| /&lt;br /&gt;
| 00&lt;br /&gt;
| 0C&lt;br /&gt;
| &lt;br /&gt;
| BN(PC)0C&lt;br /&gt;
| 1008&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 1014&lt;br /&gt;
| /&lt;br /&gt;
| 22&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| NOT&lt;br /&gt;
| 1015&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 1015&lt;br /&gt;
| /&lt;br /&gt;
| E9&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| SUB R1&lt;br /&gt;
| 1016&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 1016,1017,1018&lt;br /&gt;
| /&lt;br /&gt;
| 84&lt;br /&gt;
| 02&lt;br /&gt;
| 00&lt;br /&gt;
| ASR(0002)&lt;br /&gt;
| 1019&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1019, 101A, 101B&lt;br /&gt;
| /&lt;br /&gt;
| 11&lt;br /&gt;
| 00&lt;br /&gt;
| 30&lt;br /&gt;
| JSR 3000&lt;br /&gt;
| 101C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! #&lt;br /&gt;
! Адресе у меморији или регистри са којих је учитана адреса операнда&lt;br /&gt;
! Адресе у меморији или регистри са којих је учитан операнд&lt;br /&gt;
! Операнд&lt;br /&gt;
! Нови садржај регистара опште намене&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| FFF6&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 0001&lt;br /&gt;
| R1 = 0001&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 0002,0003&lt;br /&gt;
| 0000,0001&lt;br /&gt;
| FFF7&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! #&lt;br /&gt;
! Меморијске адресе којима се приступа у овој фази&lt;br /&gt;
! Акумулатор&lt;br /&gt;
! N&lt;br /&gt;
! Z&lt;br /&gt;
! V&lt;br /&gt;
! C&lt;br /&gt;
! Нови садржај регистара и меморијских локација који су промењени у овој фази&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0000, 0001&lt;br /&gt;
| FFF7&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| MEM[0000] = F7, MEM[0001] = FF&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| FFED&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| FFED&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| PC = 1014&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
| 0012&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| &lt;br /&gt;
| 0011&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| &lt;br /&gt;
| FFFB&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 2000, 2001&lt;br /&gt;
| FFFB&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| MEM[2000] = 1C , MEM[2001] = 10, SP = 2002, PC = 3000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ОРТ2]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D0%9C%D0%A2/%D0%9A2_2019&amp;diff=5396</id>
		<title>ПМТ/К2 2019</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D0%9C%D0%A2/%D0%9A2_2019&amp;diff=5396"/>
		<updated>2023-02-07T21:20:51Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* Zadatak 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{нерешено}}&lt;br /&gt;
&lt;br /&gt;
== Pitanje 1 ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;(3p)&#039;&#039;&#039; Koje osobine ima idealan sistem za prenos? Opisati idealni sistem za prenos u vremenskom i spektralnom domenu.&lt;br /&gt;
# &#039;&#039;&#039;(2p)&#039;&#039;&#039; Odrediti minimalan protok signala dobijenog primenom vremenskog multipleksiranja &amp;lt;math&amp;gt;N = 12&amp;lt;/math&amp;gt; signala i IKM, ako je maksimalna učestanost u spektru svakog od signala &amp;lt;math&amp;gt;f_m = 10kHz&amp;lt;/math&amp;gt;, a primenjena je ravnomerna kvantizacija sa &amp;lt;math&amp;gt;q = 512&amp;lt;/math&amp;gt; nivoa.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pitanje 2 ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;(2p)&#039;&#039;&#039; Nacrtati dvostrani i jednostrani amplitudski spektar signala &amp;lt;math&amp;gt;x(t)=U_1 \cos(2\pi f_1 t)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;U_1=6V&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;f_1=400Hz&amp;lt;/math&amp;gt;. Nacrtati spektar snage signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
# &#039;&#039;&#039;(3p)&#039;&#039;&#039; Signal &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt; dobijen je idealnim odabiranjem signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt;, pri čemu je učestanost odabiranja jednaka &amp;lt;math&amp;gt;f_1=1000Hz&amp;lt;/math&amp;gt;. Nacrtati amplitudski spektar signala &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt; u opsegu od 0Hz do 3000Hz. Detaljno objasniti na koji način se na osnovu diskretizovanog signala &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt; može izvršiti rekonstrukcija signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadatak 1 ==&lt;br /&gt;
Dat je signal &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; koga čini periodična unipolarna povorka pravougaonih impulsa periode &amp;lt;math&amp;gt;T=0.5ms&amp;lt;/math&amp;gt;, vremena trajanja impulsa &amp;lt;math&amp;gt;\tau=0.1ms&amp;lt;/math&amp;gt; i amplitude &amp;lt;math&amp;gt;E=1V&amp;lt;/math&amp;gt;. Vreme početka impulsa je &amp;lt;math&amp;gt;t_0 = -\tau/2&amp;lt;/math&amp;gt;. Poznato da je dvostrani spektar povorke pravougaonih impulsa opisan izrazom&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;math&amp;gt;X_n = \frac{E\tau}{T}\frac{\sin(\pi n\tau / T)}{(\pi n\tau / T)}.&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;(3p)&#039;&#039;&#039; Nacrtati oblik amplitudskog spektra signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; u opsegu učestanosti do 10kHz. Koliko se spektralnih komponenti nalazi u opsegu od 3.4kHz do 8.9kHz (navesti učestanost svake komponente)? Napisati izraz za ukupnu snagu komponenata koje se nalaze u ovom opsegu.&lt;br /&gt;
# &#039;&#039;&#039;(2p)&#039;&#039;&#039; Odrediti srednju snagu signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt;, kao i srednju snagu signala &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt; koji se dobija propuštanjem &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; kroz filtar propusnih niskih učestanosti (NF), čija je amplitudska karakteristika opisana sa&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;math&amp;gt;\left|H_{NF}(jf)\right| = \left\{\begin{array}{ll}&lt;br /&gt;
    1, &amp;amp; f_z \leq 3800 Hz, \\&lt;br /&gt;
    0, &amp;amp; ostalo.&lt;br /&gt;
\end{array}&lt;br /&gt;
\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenja ===&lt;br /&gt;
==== a) ====&lt;br /&gt;
&amp;lt;math&amp;gt;|X_0| = 0.2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|X_1| = |X_{-1}| = 0.187&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|X_2| = |X_{-2}| = 0.151&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|X_3| = |X_{-3}| = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|X_4| = |X_{-4}| = 0.046&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|X_5| = |X_{-5}| = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
U opsegu od 3.4kHz do 8.9kHz se nalaze: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|X_2|, f_2 = 4000Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|X_3|, f_3 = 6000Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|X_4|, f_4 = 8000Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;P_{3.2-8.9} = 2\sum_{n=2}^{4}|X_n|^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== b) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;P_{srx} = 1/T\int_0^Tx^2(t)dt = U^2\frac{\tau}{T} = 0.2W&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;P_{sry} = |X_0|^2 + 2|X_1|^2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadatak 2 ==&lt;br /&gt;
Signal &amp;lt;math&amp;gt;p(t)&amp;lt;/math&amp;gt; čija maksimalna učestanost u spektru iznosi 20kHz prenosi se postupkom impulsne kodne modulacije (IKM). Signal &amp;lt;math&amp;gt;p(t)&amp;lt;/math&amp;gt; se odabire učestanošću koja je 10% veća od minimalne učestanosti, određene teoremom odabiranja. Raspodela amplituda odbiraka signala je uniformna u intervalu &amp;lt;math&amp;gt;[-4V, +4V]&amp;lt;/math&amp;gt;. Kvantizacija odbiraka signala je uniformna sa &amp;lt;math&amp;gt;q=16&amp;lt;/math&amp;gt; kvantizacionih nivoa. Kodiranje signala vrši se prostim binarnim kodom počevši od najniže kvantizacione vrednosti.&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;(1p)&#039;&#039;&#039; Odrediti učestanost odabiranja signala &amp;lt;math&amp;gt;p(t)&amp;lt;/math&amp;gt; i protok &amp;lt;math&amp;gt;V_b&amp;lt;/math&amp;gt; dobijenog IKM signala.&lt;br /&gt;
# &#039;&#039;&#039;(2p)&#039;&#039;&#039; Odrediti vrednost tri najniža i tri najviša kvantizaciona nivoa, kao i odgovarajuće kodne reči na izlazu kodera.&lt;br /&gt;
# &#039;&#039;&#039;(1p)&#039;&#039;&#039; Izračunati odnos signal/šum kvantizacije (u dB).&lt;br /&gt;
# &#039;&#039;&#039;(1p)&#039;&#039;&#039; Odrediti protok &amp;lt;math&amp;gt;V_{b,m}&amp;lt;/math&amp;gt; IKM signala, ako se vrši neravnomerna kvantizacija sa &amp;lt;math&amp;gt;q_n=32&amp;lt;/math&amp;gt;, a učestanost odabiranja nije promenjena.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
==== a) ====&lt;br /&gt;
&amp;lt;math&amp;gt;f_{s}=2 \cdot f_{m} \cdot 1.1=44kHz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;V_{b}=f_{s} \cdot n=fs \cdot log_{2}q=176kb/s&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== b) ====&lt;br /&gt;
&amp;lt;math&amp;gt;U_{min} = D_0 = -4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{max} = D_0 = 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta = \frac{U_{max}-U_{min}}{q} = 0.5V &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kvantizacioni nivoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_k = D_0 + \frac{\Delta}{2} + k \cdot \Delta &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k = 1, ... q-1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_0 = D_0 +  \frac{\Delta}{2} = -3.75V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;0000&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_1 = D_0 +  \frac{\Delta}{2} +  1 \cdot \Delta= -3.25V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;0001&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_2 = D_0 +  \frac{\Delta}{2} +  2 \cdot \Delta= -2.75V &amp;lt;/math&amp;gt; kodna rec: &amp;lt;math&amp;gt;0010&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_{15} = D_0 +  \frac{\Delta}{2} +  15 \cdot \Delta= 3.75V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;1111&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_{14} = D_0 +  \frac{\Delta}{2} +  14 \cdot \Delta= 3.25V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;1110&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_{13} = D_0 +  \frac{\Delta}{2} +  13 \cdot \Delta= 2.75V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;1101&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== c) ====&lt;br /&gt;
&amp;lt;math&amp;gt; snr_q=10\log_{10}(q^2) = 24.08 dB&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== d) ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ПМТ]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D0%9C%D0%A2/%D0%9A2_2019&amp;diff=5393</id>
		<title>ПМТ/К2 2019</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D0%9C%D0%A2/%D0%9A2_2019&amp;diff=5393"/>
		<updated>2023-02-07T21:05:12Z</updated>

		<summary type="html">&lt;p&gt;Sonja L.: /* Zadatak 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{нерешено}}&lt;br /&gt;
&lt;br /&gt;
== Pitanje 1 ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;(3p)&#039;&#039;&#039; Koje osobine ima idealan sistem za prenos? Opisati idealni sistem za prenos u vremenskom i spektralnom domenu.&lt;br /&gt;
# &#039;&#039;&#039;(2p)&#039;&#039;&#039; Odrediti minimalan protok signala dobijenog primenom vremenskog multipleksiranja &amp;lt;math&amp;gt;N = 12&amp;lt;/math&amp;gt; signala i IKM, ako je maksimalna učestanost u spektru svakog od signala &amp;lt;math&amp;gt;f_m = 10kHz&amp;lt;/math&amp;gt;, a primenjena je ravnomerna kvantizacija sa &amp;lt;math&amp;gt;q = 512&amp;lt;/math&amp;gt; nivoa.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pitanje 2 ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;(2p)&#039;&#039;&#039; Nacrtati dvostrani i jednostrani amplitudski spektar signala &amp;lt;math&amp;gt;x(t)=U_1 \cos(2\pi f_1 t)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;U_1=6V&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;f_1=400Hz&amp;lt;/math&amp;gt;. Nacrtati spektar snage signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
# &#039;&#039;&#039;(3p)&#039;&#039;&#039; Signal &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt; dobijen je idealnim odabiranjem signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt;, pri čemu je učestanost odabiranja jednaka &amp;lt;math&amp;gt;f_1=1000Hz&amp;lt;/math&amp;gt;. Nacrtati amplitudski spektar signala &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt; u opsegu od 0Hz do 3000Hz. Detaljno objasniti na koji način se na osnovu diskretizovanog signala &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt; može izvršiti rekonstrukcija signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadatak 1 ==&lt;br /&gt;
Dat je signal &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; koga čini periodična unipolarna povorka pravougaonih impulsa periode &amp;lt;math&amp;gt;T=0.5ms&amp;lt;/math&amp;gt;, vremena trajanja impulsa &amp;lt;math&amp;gt;r=0.1ms&amp;lt;/math&amp;gt; i amplitude &amp;lt;math&amp;gt;E=1V&amp;lt;/math&amp;gt;. Vreme početka impulsa je &amp;lt;math&amp;gt;t_0 = -\tau/2&amp;lt;/math&amp;gt;. Poznato da je dvostrani spektar povorke pravougaonih impulsa opisan izrazom&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;math&amp;gt;X_n = \frac{E\tau}{T}\frac{\sin(\pi n\tau / T)}{(\pi n\tau / T)}.&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;(3p)&#039;&#039;&#039; Nacrtati oblik amplitudskog spektra signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; u opsegu učestanosti do 10kHz. Koliko se spektralnih komponenti nalazi u opsegu od 3.4kHz do 8.9kHz (navesti učestanost svake komponente)? Napisati izraz za ukupnu snagu komponenata koje se nalaze u ovom opsegu.&lt;br /&gt;
# &#039;&#039;&#039;(2p)&#039;&#039;&#039; Odrediti srednju snagu signala &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt;, kao i srednju snagu signala &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt; koji se dobija propuštanjem &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; kroz filtar propusnih niskih učestanosti (NF), čija je amplitudska karakteristika opisana sa&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;math&amp;gt;\left|H_{NF}(jf)\right| = \left\{\begin{array}{ll}&lt;br /&gt;
    1, &amp;amp; f_z \leq 3800 Hz, \\&lt;br /&gt;
    0, &amp;amp; ostalo.&lt;br /&gt;
\end{array}&lt;br /&gt;
\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadatak 2 ==&lt;br /&gt;
Signal &amp;lt;math&amp;gt;p(t)&amp;lt;/math&amp;gt; čija maksimalna učestanost u spektru iznosi 20kHz prenosi se postupkom impulsne kodne modulacije (IKM). Signal &amp;lt;math&amp;gt;p(t)&amp;lt;/math&amp;gt; se odabire učestanošću koja je 10% veća od minimalne učestanosti, određene teoremom odabiranja. Raspodela amplituda odbiraka signala je uniformna u intervalu &amp;lt;math&amp;gt;[-4V, +4V]&amp;lt;/math&amp;gt;. Kvantizacija odbiraka signala je uniformna sa &amp;lt;math&amp;gt;q=16&amp;lt;/math&amp;gt; kvantizacionih nivoa. Kodiranje signala vrši se prostim binarnim kodom počevši od najniže kvantizacione vrednosti.&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;(1p)&#039;&#039;&#039; Odrediti učestanost odabiranja signala &amp;lt;math&amp;gt;p(t)&amp;lt;/math&amp;gt; i protok &amp;lt;math&amp;gt;V_b&amp;lt;/math&amp;gt; dobijenog IKM signala.&lt;br /&gt;
# &#039;&#039;&#039;(2p)&#039;&#039;&#039; Odrediti vrednost tri najniža i tri najviša kvantizaciona nivoa, kao i odgovarajuće kodne reči na izlazu kodera.&lt;br /&gt;
# &#039;&#039;&#039;(1p)&#039;&#039;&#039; Izračunati odnos signal/šum kvantizacije (u dB).&lt;br /&gt;
# &#039;&#039;&#039;(1p)&#039;&#039;&#039; Odrediti protok &amp;lt;math&amp;gt;V_{b,m}&amp;lt;/math&amp;gt; IKM signala, ako se vrši neravnomerna kvantizacija sa &amp;lt;math&amp;gt;q_n=32&amp;lt;/math&amp;gt;, a učestanost odabiranja nije promenjena.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
==== a) ====&lt;br /&gt;
&amp;lt;math&amp;gt;f_{s}=2 \cdot f_{m} \cdot 1.1=44kHz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;V_{b}=f_{s} \cdot n=fs \cdot log_{2}q=176kb/s&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== b) ====&lt;br /&gt;
&amp;lt;math&amp;gt;U_{min} = D_0 = -4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{max} = D_0 = 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta = \frac{U_{max}-U_{min}}{q} = 0.5V &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kvantizacioni nivoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_k = D_0 + \frac{\Delta}{2} + k \cdot \Delta &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k = 1, ... q-1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_0 = D_0 +  \frac{\Delta}{2} = -3.75V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;0000&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_1 = D_0 +  \frac{\Delta}{2} +  1 \cdot \Delta= -3.25V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;0001&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_2 = D_0 +  \frac{\Delta}{2} +  2 \cdot \Delta= -2.75V &amp;lt;/math&amp;gt; kodna rec: &amp;lt;math&amp;gt;0010&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_{15} = D_0 +  \frac{\Delta}{2} +  15 \cdot \Delta= 3.75V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;1111&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_{14} = D_0 +  \frac{\Delta}{2} +  14 \cdot \Delta= 3.25V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;1110&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Q_{13} = D_0 +  \frac{\Delta}{2} +  13 \cdot \Delta= 2.75V &amp;lt;/math&amp;gt;, kodna rec: &amp;lt;math&amp;gt;1101&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== c) ====&lt;br /&gt;
&amp;lt;math&amp;gt; snr_q=10\log_{10}(q^2) = 24.08 dB&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== d) ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ПМТ]]&lt;/div&gt;</summary>
		<author><name>Sonja L.</name></author>
	</entry>
</feed>