Втори тест

1. Посочете дали са еквивалентни следните логически изрази: 
+ (country=="USA") и not(country!="USA")
- (state=="HI") и not(state!="AK")

2. Поставете дадения израз на мястото на ... и определете дали програмата ще отпечата числото 0:
    int k=1;
    if (...) cout << k-1 << "\n";
    else     cout << k+1 << "\n";
+ k == 1
- k++ > 1

3. Посочете логическите изрази, в които са възможни т.н. отложени пресмятания. Променливите a, x са от тип double, променливата s - от тип string и променливите flag1, flag2 - от тип bool.
+ cin.fail() or (a<0)
- not(x>=0)

4. Дадени са следните дефиниции на променливи:
    bool zero=false, one=true;
Отбележете с "да''  изразите със стойност true.
+ one && true
- zero || false.

5. Отбележете с "да'' сравненията със стойност true.
+ "Harry" < "Hurry"
- 8 < -5

6. Верни ли са следните твърдения за функции?
+ Входна стойност на функцията може да бъде константа.
- Формалните параметри се задават при извикването на функцията.

7. Дадена е следната декларация на функция :
    int test(int n, int &m);
Верни ли са дадените оператори за извикване на функцията test, ако е дадени оператор за дефиниране на променлива int ind = 0;.
+ cout << test(1, ind);
- cin >> test(0, ind);

8. Дадена е функцията:
    int fun(int n)
    {  if (n%3 > 1) return n;
       else         return n+1;
    }
Ще отпечата ли даденият оператор четно число?
- cout << fun(0);
+ cout << fun(1);

9. Ще отпечата ли даденият оператор от главна функция main числото 24?
    long new_fact(int n)
    { if (n == 1) return 1;
      else
      { long result = n * new_fact(n - 1);
        return result;
      }
    }
+ cout << new_fact(4);
- cout << new_fact(24)/24;

10. Поставете дадения оператор на мястото на ... Дали тогава при изпълнение на програмата в
отпечатания низ ще се съдържа поднизът 121?
    void r121(int i)
    { ...
      if (i/10 != 0) r121(i/10);
    }
    int main()
    {  r121(122);
       return 0;
    }
+ cout << i;
- cout << i+10;

11. Отбележете с "да'' цикъл for, който ще се изпълни точно 3 пъти.
+ for(i=1; i<4; i++) cout << i;
- for(i=1; i<=4; i++) cout << i;

12. Дали дадената част от програма представлява безкраен цикъл? k е произволно число от тип int.
+ while (true) k++;
- while (false) {k++;}

13. Отбележете с "да'' случаите, при които тялото на цикъла ще се изпълни точно един път, ако променливата ah има стойност 0.
- while (ah>0) {ah++;}
+ do ah++; while (false);

14. Правилно ли (относно синтаксис) са написани дадените оператори за цикъл? Всички използвани променливи са предварително дефинирани от тип int и имат стойност 1.
+ for (t=-1; t<4; t++) cout << t;
- for {y=1; y<10; y++} cout << h;