ТЕСТ 3
      въпросите на теста, един верен и един грешен отговор
        
      
    
Дали стойността на израза е случайно число
    в зададения интервал?
    (не) rand()%6, [0,6]
    (да) 1 + rand()%6, [1,6]
      
    
Напишете върнатата стойност на функцията approx_equal, дефинирана във файла sqrtest1.cpp при следните стойности на
    параметрите:
    (true) 0, 0
    (false) 1, 0
    
Верни ли са дадените твърдения за вектори
    в езика С++?
    (да) Векторът е наредено множество от елементи от един и същи тип.
    (не) Валидни стойности за индекси на вектор са от 1 до размера на
    вектора.
    
Разгледайте програмата от примера за
    намиране на всички съответствия (файл matches.cpp).
    Заместваме оператора за цикъл в главната програма със следния нов
    оператор за цикъл:
       for (int j = 0; j <
        matches.size(); j++)
                 
              cout << matches[j] << " ";
    Какво ще отпечати променената програма, ако извикаме функцията find_all_between с дадените числа за
    втори и трети актуален параметър?  Отговорете с "ДА", ако е
    правилно даденото съответствие:
    втори параметър, трети параметър: отпечатените от програмата числа.
    (да) 45000.0, 65000.0: 1 2 4
    (не) 10000.0, 65000.0: 1
    
Даден е вектор и стойности на елементите
    му.
       vector<int> sol(2);
        sol[0] = 10;
        sol[1] = 12;
    Отбележете верните и грешни оператори.
    (да) int k = sol.size();
    (не) cin >> sol[2];
    
Даден е клас Big и обект b
    от този клас. 
      class Big { 
      public:
        Big(); 
        vector<Time> get_t() const 
         { return times; }
        void set_t(Time t, int i) 
         { times[i] = t; } 
      private: 
        vector<Time> times;
      };
      Big b;  
    Конструкторът на класа зарежда 10 стойности на вектора times.
    Отбележете верните оператори от блока на main.
    (да) b.get_t().pop_back(); 
    (не) cout << b.get_t(); 
    
Разгледайте програмата за решаване на
    задачата за най-добро отношение цена-качество на компютри с
    отбелязване на най-добрата оферта в списъка от входа - решение без
    успоредни вектори и с класове (файл bestval2.cpp).
    Ще има ли синтактична грешка, ако добавим дадения оператор в текста
    на програмата преди оператора return 0;?
    ("да" - ще има, "не" - няма да има).
    (да) products.print();
    (не) products[0].print();
      
    
Отбележете верните/неверните твърдения за
    масиви.
    (да) При дефиниране на масив е задължително да се зададе броя на
    елементите му.
    (не) Допустимите стойности за индекс на елемент на масив са от 0 до
    размера на масива.
    
Дадени са следните дефиниции:
       string s = "XYZ";
         char c[] = "0123";
    Посочете верните и грешни оператори.
    (да) s = "Wrong";
    (не) s = c;
    
Единична матрица 3х3 е записана в
    двумерния масив m, дефиниран така:
        int m[3][3];
    Определете верни и грешни оператори за присвояване относно синтаксис
    и граници на индекси.
    (да) m[2][1] = 2;
    (не) m[0] = 2;
    
Дадена е дефиниция на клас и глобален
    масив от обекти от този клас:
    class Arr {
    public:
        Arr()
        { for(int i=0; i<10; i++) a[i]=i*i; }
        int geta(int i) const { return a[i]; }
    private:
        int a[10];
    };
    Arr arr[3];
    Дали даденият оператор от функция main е
    синтактически/логически верен?
    (да) cout << arr[0].geta(3);
    (не) cout << arr[3].geta(0);
    
    
Дадени са следните дефиниции:
          int *pt1, p = 2, *pt2 = new
      int(1);
    Отбележете с "да" (синтактично) верните оператори.
    (да) pt1 = new int;
    (не) *pt2 = new p;
    
Дадени са следните дефиниции:
          double d=2.5;
          double *p_d1=&d,
      *p_d2=new double(0.5);
    Верни ли са написаните оператори?
    (да) p_d1 = new double;
    (не) *p_d2 = p_d1;
    
Даден е масив:
         int mov[5] = {5, 10, 5};
    Отбележете с "да" изразите със стойност 10.
    (да) mov[0] + mov[2]
    (не) *(mov+2)
    
Дадени са следните дефиниции: 
         int a[3] = {10,20,30}, *pa = a;
    Напишете стойността на следните изрази:
    (true) a[0] + a[1] == 30
    (false) a[1] + pa[1] == 5
    
Дадени са дефиниции на класа One
    обекти и указатели от този клас:
    class One {
    public:
        One() { data = 0; }
        void print() { cout << data; }
    private:
        int data;
    };
    One one, *p_one=&one, &r_one=one;
    Верни ли са дадените обръщения към член-функцията print от
    главната функция main?
    (да) one.print()
    (не) one::print()