ОО1/К1 2021 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Kolokvijum po sećanju Jane Nišavić)
 
мНема описа измене
 
(Нису приказане 3 међуизмене 2 корисника)
Ред 55: Ред 55:
# <syntaxhighlight lang="cpp" inline class="solution">i = PON;</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">i = PON;</syntaxhighlight>
</div>
</div>
Objašnjenje: <span class="spoiler" data-solution="explanation">Nije moguće pristupiti lokalnim promenljivim iz okružujućeg dosega iz lokalnih klasa.</span>


== 3. zadatak ==
== 3. zadatak ==
Ред 62: Ред 63:
using namespace std;
using namespace std;


void f1(int& a) { cout << 2; }
void f(int& a) { cout << 2; }
void f2(const int& a) { cout << 1; }
void f(const int& a) { cout << 1; }
void f3(int&& a) { cout << 3; }
void f(int&& a) { cout << 3; }


int main() {
int main() {
     int x = 0;
     int x = 0;
     const int y = 0;
     const int y = 0;
     f1(x);
     f(x);
     f2(y);
     f(y);
     f3(x+1);
     f(x+1);
}
}
</syntaxhighlight>
</syntaxhighlight>
Ред 77: Ред 78:


== 4. zadatak ==
== 4. zadatak ==
Šta ispisuje sledeći kod na programskom jeziku C++:
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
#include <iostream>
#include <iostream>
Ред 92: Ред 94:
</syntaxhighlight>
</syntaxhighlight>
Odgovor: <span class="spoiler" data-solution="text">65</span>
Odgovor: <span class="spoiler" data-solution="text">65</span>
Objašnjenje: <span class="spoiler" data-solution="explanation">Funkciji se prosleđuje globalna po vrednosti, i izmene tog parametra unutar funkcije se ne oslikavaju na samu globalnu.</span>


== 5. zadatak ==
== 5. zadatak ==
Ред 123: Ред 127:
* Dinamički podaci <span class="spoiler">a</span>
* Dinamički podaci <span class="spoiler">a</span>
* Automatski podaci <span class="spoiler">c</span>
* Automatski podaci <span class="spoiler">c</span>
* Statički podaci <span class="spoiler">d</span>
</div>
</div>
| <div class="abc-list">
| <div class="abc-list">
Ред 129: Ред 132:
# Registri
# Registri
# Stek
# Stek
# Segment podataka
# EPROM
</div>
</div>
|}
|}

Тренутна верзија на датум 31. јануар 2024. у 18:57

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

1. zadatak

Data je sledeća klasa:

class X {
public:
    X(int a) {}
    explicit X(const string&) {}
};

Koji isečci koda od navedenih će se uspešno izvršiti?

  1. X f() {
        return 0;
    }
    int main() {
        f();
    }
    
  2. X g() {
        return "abc";
    }
    int main() {
        g();
    }
    
  3. X(3);
    
  4. X("abc");
    

2. zadatak

Šta može da stoji umesto dela označenog sa *** a da se program uspešno prevodi?

int i = 0;
enum dan {PON, UTO, SRE};

int main() {
    dan s;
    int j = 1;
    class L {
        void g() {
            ***
        }
    };
}
  1. s = UTO;
  2. j++;
  3. i++;
  4. i = PON;

Objašnjenje: Nije moguće pristupiti lokalnim promenljivim iz okružujućeg dosega iz lokalnih klasa.

3. zadatak

Šta ispisuje sledeći kod na programskom jeziku C++:

#include <iostream>
using namespace std;

void f(int& a) { cout << 2; }
void f(const int& a) { cout << 1; }
void f(int&& a) { cout << 3; }

int main() {
    int x = 0;
    const int y = 0;
    f(x);
    f(y);
    f(x+1);
}

Odgovor: 213

4. zadatak

Šta ispisuje sledeći kod na programskom jeziku C++:

#include <iostream>
using namespace std;

int x = 5;

int f(int x) {
    return x = x+1;
}

int main() {
    cout << f(x) << ::x;
}

Odgovor: 65

Objašnjenje: Funkciji se prosleđuje globalna po vrednosti, i izmene tog parametra unutar funkcije se ne oslikavaju na samu globalnu.

5. zadatak

Šta u sledećem kodu može da stoji umesto dela označenog sa ### a da se on ispravno prevodi:

#include <iostream>
using namespace std;

int main() {
    int a = 3;
    const int* const p = &a;
    ###
}
  1. cout << p;
  2. p++;
  3. *p = 4;
  4. cout << *p;

6. zadatak

Gde se skladište sledeći podaci:

Ponuđene opcije
Podaci Lokacija
  • Privremeni podaci b[1]
  • Dinamički podaci a
  • Automatski podaci c
  1. Heap
  2. Registri
  3. Stek
  4. EPROM

7. zadatak

8. zadatak

9. zadatak

10. zadatak

Napomene

  1. Naknadno je za ovaj odgovor bila priznavana opcija pod c, jer privremeni podaci mogu da se čuvaju i na steku.