Програмирање 2/К1 2017
Пређи на навигацију
Пређи на претрагу
Питања
Питање 1
- Из ограничења мантисе можемо видети да се ради о ВАX стандарду.
Можемо видети на основу цифара мантисе броја да би p морало да буде барем 9 како би све цифре стале.
Такође, на основу експонената бројева , и можемо закључити да мора да укључује 5, 6 и 7 у свој опсег. Испробавањем различитих вредности добијамо да за вредност вишак има вредност а вредности на четири бита иду од 0 до 15, па је опсег и вредности 5, 6 и 7 јесу у том опсегу.
Тачан одговор је стога под А.
Питање 2
Питање 3
a := 0b := 15k := 32n := 15- Услов
b < 16је испуњен а условb % 3се евалуира на 0, тако да се извршаваelseграна унутрашњегif-а, тако да јеk := 5. n := n + k = 15 + 5 = 20
Извршавање петље тече овако:
i = 0i % b = 0 % 15 = 0па падамо наdefaultи настављамо у следећу итерацију. Ово се дешава за сваки број чији модуо по 15 није 4, 9 или 14.
i = 4(падамо уcase 4)a := a + 2 = 2a := a / 2 = 1
i = 9(падамо уcase 9)a := a + 3 = 4a := a / 2 = 2
i = 14(падамо уcase 14)a := a + 4 = 6(падамо уcase 9)a := a + 3 = 9a := a / 2 = 4
i = 19(падамо уcase 4)a := a + 2 = 6a := a / 2 = 3
Крајњи резултат је a = 3, тако да је тачан одговор под Б.
Питање 4
- Стање низа
arrна почетку је[40, 17, 14, 21, 0]. Пошто нам више одговара када би овај низ био у бинарном формату (због бинарних операција које ћемо над њим извршавати), можемо га изразити као[00101000, 00010001, 00001110, 00010101, 00000000]. n := 5- Можемо приметити да се петља неће извршавати над елементима низа који су непарни (последњи бит им је 1).
Извршавање петље тече овако:
i = 0c := 1v := arr[i] = 00101000v & 0xff = 00101000 & 11111111 = 101000 != 0(првиifсе неће извршити)v & 0xf = 00101000 & 00001111 = 1000 != 0(другиifсе неће извршити)v & 0x3 = 00101000 & 00000011 = 0(трећиifће се извршити)v := v >> 2 = 1010(v := 10)c := c + 2 = 3c := c - (v & 0x1) = 3 - (1010 & 0001) = 3 - 0 = 3- Исписује се
3.
i = 1- Број је непаран па се прескаче
i = 2c := 1v := arr[i] = 00001110v & 0xff = 00001110 & 11111111 = 00001110 != 0(првиifсе неће извршити)v & 0xf = 00001110 & 00001111 = 1110 != 0(другиifсе неће извршити)v & 0x3 = 00001110 & 00000011 = 10 != 0(трећиifсе неће извршити)c := c - (v & 0x1) = 1 - (1110 & 0001) = 1 - 0 = 1- Исписује се
1.
i = 3- Број је непаран па се прескаче
i = 4c := 1v := arr[i] = 0- Сви
if-ови ће се извршити јер је битовско I са нулом увек нула. c := c + 8 + 4 + 2 = 15c := c - (v & 0x1) = 15 - 0 = 15- Исписује се
15.
На крају је исписано 3 1 15 тако да је тачан одговор под Б.