Втори тест

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);
    }
    void main()
    {
     r121(122);
    }
+ cout << i;
- cout << i+10;