Програмирање 2/К1 2018

Извор: SI Wiki
< Програмирање 2
Датум измене: 9. март 2020. у 00:27; аутор: KockaAdmiralac (разговор | доприноси) (Ovo sam pogrešno prepisao sa papira, trebalo bi da sad ima više smisla)
Пређи на навигацију Пређи на претрагу

Задаци и решења на сајту.

Питања

Питање 1

Ово је нестандардан задатак у којем нам количина битова за експонент () и мантису () нису познати. Поступак решавања иде овако:

  • ИЕЕЕ стандард
  • , ,

Пошто смо добили број чија се мантиса дужине 8 не може скратити без заокруживања добијамо да је . За можемо да пробамо пар довољно блиских бројева, пошто имамо да је . На пример, ако пробамо добићемо да је па је а број 10 се не може сместити на 3 бинарне цифра па та опција отпада. На овај начин добијамо да је , тако да је тачан одговор под Б.

Питање 2

  • ИЕЕЕ стандард

Одсецамо последње две цифре са како бисмо могли да га углавимо у четири бита за мантису. Пошто су последње две цифре , заокружујемо на виши број, па је и тачан одговор је под А.

Питање 3

  • Променљиве a, b и c се неће мењати током извршавања програма и увек ће задржати своје вредности 2, 3 и 4.
  • i променљива нам функционише као бројач у до-wхиле петљи, с тим што се повећа пре извршења остатка петље.
  • Не постоји break између case за 1 и 3 тако да ће програм наставити да извршава case 3 након case 1.
  • Након default дела петља се наставља без повећавања n на крају.
  • n += c / a * a је еквивалентно n += c.
  • На крају нам се исписују вредности n и i.

Итерације кроз петљу изгледају овако:

  1. итерација
    • i := 1
    • n := b = 3
    • n := n + c = 3 + 4 = 7
    • n := n + 1 = 8
    • n >= 2 * i, односно 8 >= 2 * 1 је тачно, петља се наставља.
  2. итерација
    • i := 2
    • n & c = 1000 & 0100 = 0
    • n := n - c = 8 - 4 = 4
    • n >= 2 * i, односно 4 >= 2 * 2 је тачно, петља се наставља.
  3. итерација
    • i := 3
    • n := n + c = 4 + 4 = 8
    • n := n + 1 = 9
    • n >= 2 * i, односно 9 >= 2 * 3 је тачно, петља се наставља.
  4. итерација
    • i := 4
    • n & c = 1001 & 0100 = 0
    • n := n - c = 9 - 4 = 5
    • n >= 2 * i, односно 5 >= 2 * 4 није тачно, петља се зауставља.

Добијамо на крају да су нам n и i једнаки 5 и 4, тако да је одговор под Б тачан.